绕过AppLocker系列之MSBuild的利用 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

绕过AppLocker系列之MSBuild的利用

丝绸之路 内网渗透 2017-07-10 14:00:41
149647
收藏

导语:Microsoft已经在.NET框架中发布了许多可以编译和执行代码的二进制文件。最初引入了MSBuild,以便开发人员在不安装Visual Studio的环境中构建产品。

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

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

ShellCode

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

generation-of-c-shellcode.png

生成C#Shellcode

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

executing-shellcode-via-msbuild.png

通过MSBuild执行ShellCode

meterpreter-via-msbuild.png

通过MSBuild获得Meterpreter会话

PowerShell

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

Pshell :

msbuild-powershell.png

通过MSBuild 执行 PowerShell

MSBuildShell - Cn33liz和Casey Smith

msbuild-msbuildshell.png

MSBuild - MSBuildShell

msbuildshell.png

MSBuildShell

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

msbuild-executing-psattack.png

MSBuild - 执行PSAttack

msbuild-psattack.png

MSBuild - PSAttack

Mimikatz

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

msbuild-executing-mimikatz.png

MSBuild - 执行Mimikatz

msbuild-mimikatz.png

MSBuild - Mimikatz

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

mimikatz # sekurlsa::logonpasswords

msbuild-dumping-credentials-via-mimikatz.png

MSBuild - 通过Mimikatz导出证书

资源

1. https://github.com/Cn33liz/MSBuildShell

2. https://github.com/3gstudent/msbuild-inline-task

3. https://github.com/Cn33liz/MS17-012

4. http://subt0x10.blogspot.co.uk/2017/04/bypassing-application-whitelisting.html 

  • 分享至
取消

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

扫码支持

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

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务