0x00 前言
昨天下午在小密圈看到一篇文章:https://egre55.github.io/system-properties-uac-bypass/
文中指出 SystemPropertiesAdvanced.exe
有DLL劫持漏洞,经过分析,在Windows 10下无法复现
之前也做过关于DLL劫持、Bypass UAC的议题:DLL Hijacking & COM Hijacking ByPass UAC - 议题解读
在向下阅读前,请先掌握DLL劫持和Bypass UAC的基本知识。
微信交流群,加我微信:Guest_Killer_0nlis。
0x01 Cooolis
Cooolis是我写的一个支持MSF与Cobaltstrike上线的加载器,能够100%绕过绝大部分杀软,包含国内90%以上、Windows Defender等。
之前发出了演示视频,在这里可以看到:Cobalt Strike - Metasploit Bypass AV
然后这个操作系统缺陷由于拥有自动权限提升的权限 autoElevate
属性,我们可以利用它来执行Cooolis,使得Coolis上线的会话同样拥有管理员权限。
关于Bypass UAC的挖掘方法与原理,我的议题已经转化成了视频:
0x02 效果演示
Windows 2019中的C:\Windows\SysWOW64\SystemPropertiesAdvanced.exe
在运行时,会寻找srrstr.dll
,这个DLL文件并不存在于:
- C:\Windows\SysWOW64\srrstr.dll
- C:\Windows\System\srrstr.dll
- C:\Windows\srrstr.dll
- C:\Windows\SysWOW64\wbem\srrstr.dll
- C:\Windows\SysWOW64\WindowsPowershell\v1.0\srrstr.dll
- C:\Users<Username>\APPData\Local\Microsoft\WindowsApps\srrstr.dll
在最后它会寻找C:\Users\<Username>\APPData\Local\Microsoft\WindowsApps\
这个目录,而这个目录的读写是不需要触发UAC获得管理员权限来操作的。
由此,可以利用该缺陷,将Coolis转换成DLL,上传至C:\Users\<Username>\APPData\Local\Microsoft\WindowsApps\
,紧接着执行SystemPropertiesAdvanced.exe,它会自动将srrstr.dll
加载至SystemPropertiesAdvanced.exe进程的内存,同样的,我们也就拥有了管理员权限。
在此之前,我有想过在下列模块里做一些优化:
- exploit/windows/local/bypassuac_fodhelper
- exploit/windows/local/bypassuac_injection
- exploit/windows/local/bypassuac_comhijack
我觉得COM劫持的空间还是很大的,并且也一定程度上能够bypass AV。
Demo:
0x03 总结
UAC、DLL劫持、COM劫持的问题肯定还会有很多、但是以前的轮子到现在拿起来用基本上都会被行为拦截,这就需要掌握原理去自己探索、创造。
系统镜像:ed2k://|file|cn_windows_server_2019_x64_dvd_4de40f33.iso|5086887936|7DCDDD6B0C60A0D019B6A93D8F2B6D31|/