0x00 UAC简介
UAC:用户账户控制(User Account Control)是微软公司在其Windows Vista及更高版本操作系统中采用的一种控制机制。其原理是通知用户是否对应用程序使用硬盘驱动器和系统文件授权,以达到帮助阻止恶意程序(有时也称为“恶意软件”)损坏系统的效果。
MSF中Bypassuac模块的使用前提有两个:
-
一是系统当前用户必须在管理员组中,
-
二是用户账户控制程序UAC设置为默认,即 “仅在程序试图更改我的计算机时通知我”
MSF bypassuac模块
exploit/windows/local/bypassuac
exploit/windows/local/bypassuac_injection
exploit/windows/local/bypassuac_eventvwr
0x01 正文
方法一:bypassuac_injection
exploit/windows/local/bypassuac_injection
该模块将通过进程注入,利用受信任的发布者证书绕过Windows UAC。它将为我们生成另一个关闭UAC的session。该模块将直接运行在内存中的反射DLL中,由于它并不触碰硬盘,因此可以最大限度地降低被安全检测的概率。但该模块的使用需要选择正确的架构(对于SYSWOW64系统也是使用x64)。
当前测试账户提示 Already in elevated state,已经提示状态
注:若当前用户处在管理员组,且被UAC拦截,则会创建一个新会话,并提权为system权限
该模块直接运行在内存的反射DLL中,所以不会接触目标机器的硬盘,从而降低了被杀毒软件检测出来的概率
若当前用户不在管理员用户组中,则提示:not in admins ground
如下成功绕过UAC,创建了一个新的会话
生成了新的会话,执行getsystem成功提权到system权限
方法二:bypassuac(成功率低)
exploit/windows/local/bypassuac
该模块将通过进程注入,利用受信任的发布者证书绕过Windows UAC。它将为我们生成另一个关闭UAC的session
该模块运行时会因为在目标机上创建多个文件而被杀毒软件识别,因此通过该模块提权成功率很低。
适用条件:
而且确保当前用户是在管理员用户组的情况下。UAC默认设置才能成功。
msf6 exploit(windows/local/bypassuac) > set target 1
注:要设置target参数,即目标系统类型,1是64位,0是32位
在没绕过UAC前进行getsystem提权失败
使用bypassuac并设置相关参数
getsystem成功提权
0x02 参考链接
https://mp.weixin.qq.com/s/7Q68OixFzqxF_K_Ro09fqA
https://www.freebuf.com/articles/system/185311.html
- End -
原文始发于微信公众号(NS Demon团队):Windows提权之bypass UAC 提权
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论