绕过AppLocker系列之MSBuild的利用

本文讲的是 绕过AppLocker系列之MSBuild的利用Microsoft已经在.NET框架中发布了许多可以编译和执行代码的二进制文件。最初引入了MSBuild,以便开发人员在不安装Visual Studio的环境中构建产品。具体来说,这个二进制文件可以编译XML C#项目文件,因为它有一个名为Tasks的方法,可以执行一个写入托管代码的任务。但是,由于此方法可以操作代码而且MSBuild是受信任的Microsoft二进制文件并且可以执行代码,因此,攻击者可能会滥用它,用来绕过AppLocker和其他应用程序白名单解决方案(如Device Guard)。

Casey Smith最初发现了这种绕过方法,他已经发布了几个存储库,可以作为概念验证来执行代码并绕过AppLocker限制。

ShellCode

可以使用Metasploit MSFVenom来生成C#shellcode,它将在目标系统上执行,以获得Meterpreter会话。

绕过AppLocker系列之MSBuild的利用

生成C#Shellcode

上面的shellcode可以包含在XML文件中,该文件包含了MSBuild编译和运行的代码。该文件需要保存为.csproj并通过MSBuild执行,以返回Meterpreter会话:

绕过AppLocker系列之MSBuild的利用

通过MSBuild执行ShellCode

绕过AppLocker系列之MSBuild的利用

通过MSBuild获得Meterpreter会话

PowerShell

使用和上述相同的方法,也可以在cmd被禁用的情况下,参照Casey SmithCneelis的方法来执行PowerShell 。

Pshell :

绕过AppLocker系列之MSBuild的利用

通过MSBuild 执行 PowerShell

MSBuildShell – Cn33liz和Casey Smith

绕过AppLocker系列之MSBuild的利用

MSBuild – MSBuildShell

绕过AppLocker系列之MSBuild的利用

MSBuildShell

作为这个绕过方式的扩展,Nick Tyler发布了一个修改版本的PSAttack工具,该工具是便携式的PowerShell渗透测试框架,可用于对受限制的系统执行进一步的攻击。

绕过AppLocker系列之MSBuild的利用

MSBuild – 执行PSAttack

绕过AppLocker系列之MSBuild的利用

MSBuild – PSAttack

Mimikatz

除了PowerShell之外,还可以执行Mimikatz,直接从内存获取明文密码。

绕过AppLocker系列之MSBuild的利用

MSBuild – 执行Mimikatz

绕过AppLocker系列之MSBuild的利用

MSBuild – Mimikatz

通过执行以下命令,Mimikatz将检索任何登录凭据:

mimikatz # sekurlsa::logonpasswords

绕过AppLocker系列之MSBuild的利用

MSBuild – 通过Mimikatz导出证书




原文发布时间为:2017年7月10日
本文作者:丝绸之路
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值