过Windows 7/8 UAC技术浅析

bypass_UAC

一 UAC 说明

Windows UAC指当程序在普通管理员权限下运行时需要超级管理员权限时,会弹出一个UAC(User Account Control)提升权限对话框.

实破UAC 即指在没有通知用户情况下,将程序普通管理员权限提升为超级管理员权限(静默).

二 技术要点

过UAC主要思路是在普通管员权限下windows系统中肯定存在某些系统程序文件,在不用通知用户情况下即可以管理员权限启动,只要我们找到相关的程序劫持它,此时我们的程序在启动时也会有超级管理员权限.

 

在过WIN8 UAC 时我们所选择的系统程序文件为: C:\Windows\System32\migwiz\CRYPTBASE.dll

突破WINDOWS UAC主要涉及的技术有:

1) 远程注入:远程注入SHELLCODE 到傀儡进程;

2) COM接口技术 :通过超级管理员接口COM 接口复制文件;

3) DLL劫持:劫持系统的DLL文件;

该技术缺点:

当所要注入的进程(explorer.exe))支持ASRL技术时,该程序可能不会成功获取超级管理员权限.

三 技术详解

1) 远程注入:该技术在网上已经有很多详细文档,技术也相当成熟,只要注意一点在32位进程中注入32 位SHELLCODE,同样64位中需注入64位SHELLCODE.

2) COM接口技术:在shellcode中复制文件是通过COM接口复制文件,首先初始化COM接口,然后用Administrator 用户接口复制文件,用该接口在一些系统白名单进程中向WINDOWS系统目录复制文件不会弹出UAC提权对话框.

3) DLL劫持:将我们的DLL复制到要劫持的可执行的程序路径下并重命名为要劫持的DLL文件名,当我们启动要劫持的程序时,就会然载我们的DLL.由于在WINDOWS 系统中在普通管理员权限下,有些系统程序运行也是需要超级管理员权限,而这些系统程序存在于WINDOWS白名单中,运行时不会弹出UAC对话框,所以当我们劫持一些系统白名单程序中,我们DLL文件在不弹出UAC对话框的情况下也会拥有超级管理员权限,此时我们已经达到目地.

通常在WINDOWS 8操作系统中我们所要劫持的目标程序为: C:\Windows\System32\migwiz\migwiz.exe,DLL命名为CRYPTBASE.dll。这样启动migwiz.exe时CRYPTBASE.dll就具有超级管理员权限。

相关代码截图:

win_uac_2

 

 

win_uac1

 

四 结果试验

成果简介:该UAC小程序在Windows 7或Windows 8操作系都能成功通过系统UAC。

ByPass Win8 UAC

Win7Elevate

ByPass Win7 UAC

Win8Elevate

五 参考网站

 

http://bbs.pediy.com/showthread.php?t=187210 (看雪论坛)

http://www.pretentiousname.com/misc/win7_uac_whitelist2.html#release

 

本文作者:大王叫我来巡山

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/1561.html

Tags:
评论  (4)
快来写下你的想法吧!

大王叫我来巡山

文章数:3 积分: 0

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号