前言
"不战而屈人之兵,善之善者也。"——孙子兵法
在网络安全领域,如果能以最小的代价取得最大的成效,无疑是理想的策略。作为一名安全研究人员,你应该培养非常规思维,寻找最简单直接的系统访问路径。有时需要采取更长、更复杂的路径来避开入侵检测系统,而在其他情况下,行动速度至关重要,需要迅速地完成"闪电突袭"式的操作。
什么是UAC?
用户账户控制(User Account Control,简称UAC)是Windows操作系统的一项安全特性,它允许普通用户在获得授权的情况下执行有限的管理员功能。它的另一个同样重要的目的是防止普通用户执行可能对系统造成安全风险的特定操作,这些操作需要管理员级别的权限。
微软创建UAC是为了限制恶意软件的传播,并防止用户对系统造成破坏。想要安装程序但Windows不允许你这么做,因为你不是管理员?这就是UAC在起作用。根据管理员启用UAC的方式及其配置,需要管理员访问令牌的应用程序必须请求用户通过管理员账户进行授权。
UAC绕过的必要条件
要成功绕过UAC,需要满足以下条件:
-
一个中等完整性级别的进程 -
获取属于系统上管理员组的标准用户账户的登录凭据 -
Windows可执行文件必须由微软代码签名证书签名 -
Windows可执行文件必须位于安全目录中 -
Windows可执行文件必须在其清单中指定自动提升属性
三种实用的UAC绕过技术
1. 通过netplwiz.exe的简易绕过
这个特别简单的Windows UAC绕过方法只需不到30秒即可执行:
-
在Windows运行提示符中输入: netplwiz.exe
-
选择"高级"选项卡 -
在高级用户管理部分选择"高级"选项 -
打开本地用户和组(本地)框;选择"帮助主题" -
右键单击并选择"查看源" -
选择"文件","打开" -
导航至"计算机>>本地磁盘(C:)>>Windows>>System32" -
将选择更改为"所有文件" -
找到并选择"Cmd.exe" -
右键单击"Cmd.exe"并选择"以管理员身份运行"
瞧!一个管理员命令提示符出现了。我已验证这种UAC绕过方法在最新的Windows 10版本上仍然有效,但取决于UAC的具体配置,如果管理员设置了"始终通知",则此方法无效。
2. 无文件UAC绕过(fodhelper.exe)
德国一位研究生发现了"fodhelper.exe"UAC绕过方法。"fodhelper.exe"程序允许用户管理Windows设置"应用和功能"屏幕中的可选功能。该绕过方法类似于之前发布的"eventvwr.exe"绕过,它滥用了微软分配给可信文件夹(如C:WindowsSystem32)中可信二进制文件的自动提升信任关系。由于"fodhelper.exe"是可信二进制文件,Windows不会提示要求管理员批准。
"fodhelper.exe"二进制文件链接到两个独特的注册表项,其中一个是可编辑的,可以将其武器化,与能够在后台以提升的管理员访问权限运行脚本的恶意软件结合使用。
这种UAC绕过在内存中执行,因此不涉及文件投放或DLL劫持。然而,要使此绕过正常工作,用户账户必须是本地管理员组的成员。对于安全管理员来说,将UAC设置为"始终通知"也将防止此绕过。
3. COM对象劫持绕过
在Windows 7/8/10和Server 2K8/2K12/2K16中,还可以通过劫持COM对象:{0A29FF9E-7F9C-4437-8B11-F424491E3931}
来绕过UAC。目标应用程序:eventvwr.exe或mmc.exe。
这种绕过方法较为高级,需要对Kali Linux操作系统和Metasploit框架工具有深入了解。
安全启示
值得注意的是,MITRE ATT&CK组织有一个专门的网页,介绍各种恶意软件样本和高级持续性威胁(APT)组织如何使用Windows UAC绕过技术。以下是一些例子:
-
APT 29(又名Cozy Bear、CozyDuke、The Dukes) -
BlackEnergy -
FinFisher -
H1N1 -
InvisiMole -
Pupy -
Shamoon -
APT 27(又名Iron Tiger、LuckyMouse、Emissary Panda、TG-3390)
防护建议
尽管微软一再淡化UAC绕过不构成安全边界,但事实是许多系统在本地管理员权限级别或等效级别下运行所有内容,这使得UAC绕过对安全团队非常有效。
经验丰富的系统和安全管理员应该:
-
永远不要信任UAC -
不要以拆分令牌管理员身份运行 -
始终使用非管理员用户账户执行非管理员任务 -
使用右键单击"以管理员身份运行"选项,或注销并以管理员身份重新登录
总结
UAC绕过技术展示了Windows系统中权限提升的一种常见途径。了解这些技术不仅有助于安全评估,也能帮助组织加强防御措施。作为安全从业者,我们需要不断更新知识库,既了解攻击技术,也掌握相应的防御策略。
免责声明:本文内容仅供安全研究和学习目的,应在合法、合规的前提下使用。任何将本文技术用于非法目的的行为,与本公众号及作者无关。请读者务必遵守相关法律法规。
揭秘Windows网络登录的秘密:这项功能每天用却从不知道背后原理
零检出反弹Shell!一个冷门语言完美绕过Windows Defender
Windows实时日志监控详解:再也不用羡慕Linux的tail命令
Windows认证协议的前世今生:从脆弱的LM到钢铁侠Kerberos
关注我们的公众号,并给本文点赞,点个推荐支持一下吧!您的每一个小红心,都是我坚持创作优质内容的最大动力
原文始发于微信公众号(HW安全之路):【技术干货】一个命令搞定Windows UAC防护,微软却不愿修复
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论