MSBuild免杀上线

介绍

MSBuild 是 Microsoft 和 Visual Studio的生成系统。它不仅仅是一个构造工具,应该称之为拥有相当强大扩展能力的自动化平台。MSBuild平台的主要涉及到三部分:执行引擎、构造工程、任务。其中最核心的就是执行引擎,它包括定义构造工程的规范,解释构造工程,执行“构造动作”;构造工程是用来描述构造任务的,大多数情况下我们使用MSBuild就是遵循规范,编写一个构造工程;MSBuild引擎执行的每一个“构造动作”就是通过任务实现的,任务就是MSBuild的扩展机制,通过编写新的任务就能够不断扩充MSBuild的执行能力。所以这三部分分别代表了引擎、脚本和扩展能力。

制作c#版本payload

因为我个人不是很喜欢命令行操作的软件,所以选择用了cs来生成。

Snipaste_20191213_152758.png

生成的Payload: Snipaste_20191213_153239.png

替换shellcode

将生成好的payload,替换到xml文件中。

payload是什么版本,就用什么版本的xml文件。

Snipaste_20191213_153134.png

将修改好的xml文件,上传到目标机器上。

然后找到MSbuild的位置, win7:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe

注意:用x64版本的MSbuild就要用x64的payload。 各版本MSbuild位置:

.NET v2.0: 
%WinDir%\ Microsoft.NET \ Framework \ v2.0.50727 \ MSBuild.exe

.NET v3.5: 
%WinDir%\ Microsoft.NET \ Framework \ v3.5 \ MSBuild.exe

.NET v4.0:
%WinDir%\ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild.exe

输入命令:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe executes shellcode.xml

Snipaste_20191213_160710.png

360会弹框框,但是阻止也会上线。

上线成功! Snipaste_20191213_160800.png

提示: MSbuild程序上线方式,在netstat -ano这个命令下,是看不到连接的。

这种上线方式,适合在已获取Webshell的情况下。十分有效。可以免杀许多AV了。

XML文件

附上三号学生大佬的地址:

Use-MSBuild-To-Do-More

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×