当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2016-0190006

漏洞标题:从一木马分析到Windows UAC机制成功绕过实战(全静默无须用户交互)

相关厂商:cncert国家互联网应急中心

漏洞作者: 路人甲

提交时间:2016-03-28 17:40

修复时间:2016-06-30 16:40

公开时间:2016-06-30 16:40

漏洞类型:非授权访问/认证绕过

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2016-03-28: 细节已通知厂商并且等待厂商处理中
2016-04-01: 厂商已经确认,细节仅向厂商公开
2016-04-04: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2016-05-26: 细节向核心白帽子及相关领域专家公开
2016-06-05: 细节向普通白帽子公开
2016-06-15: 细节向实习白帽子公开
2016-06-30: 细节向公众公开

简要描述:

涉及Windows 7/2008/8/2012/Vista X86/64版本,全静默无须用户交互

详细说明:

最近遭受大规模邮件木马攻击,发现该木马被触发后竟能绕过Windows UAC机制并成功安装后门程序,故分析其样本并按其思路自行编写工具重现Windows UAC绕过全过程。
一、UAC机制
理论上Win7后的版本系统上都有UAC机制保护(系统安装后默认如下图)

1.jpg


一般情况下普通管理员权限在安装未经微软签名的程序或执行某些命令时,都会触发UAC机制,要求提供权限或管理员‌密码以进行验证,即平时我们经常所见的以下弹框,需要管理员交互确认后方可继续安装,否则拒绝安装

2.jpg


如果程序是通过命令行运行安装的,未经UAC授权会直接提示拒绝访问
二、绕过原理
目标是绕过Windows的UAC机制,前提如下:
1)涉及Windows 7/2008/8/2012/Vista版本,不包括Win10
2)已具有普通管理员权限,即在administrators组中
绕过原理:
运行系统安全目录中已签名的白名单程序,并对其实行dll劫持,将我们需要安装或运行的程序或命令注入到dll中,从而实现UAC绕过。
1)在Win7上,有三个可执行文件可被利用并且相关的DLL如下,这些程序皆为系统自带的安全目录中已签名的白名单程序,运行时不会触发UAC机制,故可对其dll进行劫持。

1.jpg


Win 8的类似程序及其相关DLL如下

1.jpg


2)关于dll劫持,上表中程序相关的dll一般在System32目录中,当程序运行加载时,系统会按照程序目录-System32目录的顺序进行加载(当然,KnownDlls列表中的dll除外,KnownDlls列表即在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs中指定的dll,只能从系统目录即SYSTEM32目录下调用),而上述dll皆不在KnownDlls列表中,故会先加载程序目录下的同名dll,因此我们只需将我们伪造的dll置于该程序目录中,即可进行劫持。
3)由于1中的程序皆在系统安全目录中(%windir%),UAC机制下也是需要验证才能往里面写入或修改文件;这时,可以使用微软自带的更新命令wusa,从而把我们的伪造dll释放到相应的安全目录中。
三、绕过实战
此处不妨以Windows 7为例,我们通过Mcx2Prov.exe及其cryptbase.dll实现UAC绕过,安装木马后门程序A。
1、制作伪造dll
首先反编译原cryptbase.dll,获取其入口函数,并在函数中插入我们需要执行的后门程序A的安装命令,最后保持原出口点不变,链接回原dll,使得原程序能正常执行不出错。这里提供个Dll劫持的反编译工具:

https://**.**.**.**/coca1ne/DLL_Hijacker


2、制作及释放wsua更新包
将我们要安装的木马程序A及伪造的dll文件进行封包,以便到时使用wsua命令释放到安全目录中。封包格式为微软自带的mszip加压技术,即我们常见的cab。

makecab cryptbase.dll


makecab muma.exe


得到两个压缩包文件,cryptbase和muma(后缀名随意~)
wsua释放命令,由于我们选用的白名单程序Mcx2Prov.exe在C:\Windows\ehome目录中,因此伪造的dll文件也许释放到该目录中,木马程序则释放到System32目录中。

wusa /quiet "C:\Windows\Temp\muma" /extract:"C:\Windows"


wusa /quiet "C:\Windows\Temp\cryptbase" /extract:"C:\Windows\ehome"


3、最终命令行运行Mcx2Prov.exe,即可全程静默绕过UAC安装木马后门程序A。
此处附上演示视频(为gif动画,请通过以下链接自行下载并使用浏览器观看)

http://**.**.**.**https://wooyun-img.oss-cn-beijing.aliyuncs.com/upload/image/201603/2016032814554724178.gif


经测试,漏洞涉及Windows 7/2008/8/2012/Vista X86/64版本。Win 10自带的wsua程序由于不再支持/extract释放命令了,故此法不适用。

extract.jpg

漏洞证明:

-

修复方案:

请多指教~

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:13

确认时间:2016-04-01 16:36

厂商回复:

CNVD未直接复现所述情况,已由CNVD通过以往建立的处置渠道向软件生产厂商通报。

最新状态:

暂无


漏洞评价:

评价

  1. 2016-04-01 16:45 | 刘海哥 ( 普通白帽子 | Rank:135 漏洞数:30 | 索要联系方式但不送礼物的厂商定义为无良厂...)

    关注了