Casey Smith最初发现了这种绕过方法,他已经发布了几个存储库,可以作为概念验证来执行代码并绕过AppLocker限制。
ShellCode
可以使用Metasploit MSFVenom来生成C#shellcode,它将在目标系统上执行,以获得Meterpreter会话。
生成C#Shellcode
上面的shellcode可以包含在XML文件中,该文件包含了MSBuild编译和运行的代码。该文件需要保存为.csproj并通过MSBuild执行,以返回Meterpreter会话:
通过MSBuild执行ShellCode
通过MSBuild获得Meterpreter会话
PowerShell
使用和上述相同的方法,也可以在cmd被禁用的情况下,参照Casey Smith和Cneelis的方法来执行PowerShell 。
通过MSBuild 执行 PowerShell
MSBuildShell – Cn33liz和Casey Smith
MSBuild – MSBuildShell
MSBuildShell
作为这个绕过方式的扩展,Nick Tyler发布了一个修改版本的PSAttack工具,该工具是便携式的PowerShell渗透测试框架,可用于对受限制的系统执行进一步的攻击。
MSBuild – 执行PSAttack
MSBuild – PSAttack
Mimikatz
除了PowerShell之外,还可以执行Mimikatz,直接从内存获取明文密码。
MSBuild – 执行Mimikatz
MSBuild – Mimikatz
通过执行以下命令,Mimikatz将检索任何登录凭据:
mimikatz # sekurlsa::logonpasswords
MSBuild – 通过Mimikatz导出证书