Invoke-Obfuscation混淆ps文件


在powershell中最常使用的編碼就是base64編碼了,今天主要說一下Invoke-Obfuscation 這個powershell混淆編碼框架,這也是著名的組織APT32 (海蓮花)經常使用的一個工具。

地址:https://github.com/danielbohannon/Invoke-Obfuscation

下載后,在當前目錄的ps命令行中輸入 Import-Module.\Invoke-Obfuscation.psd1; Invoke-Obfuscation   裝載框架

1.png

輸入set  scriptblock  'echo xss '  這里輸入要編碼的powershell命令
然后輸入ENCODING  就會列出以下幾種編碼方式

2.png

輸入1選擇ascii編碼

3.png

在Result中看到了編碼后的命令,可以直接在powershell里面執行
然后我們輸入back返回到上一層
輸入launcher  選擇命令的啟動方式,可以嘗試多種不同的方法結合。

4.png

輸入ps 然后選擇67 (67代表隱藏執行與繞過執行限制)  就會生成完整的混淆與編碼后的命令

5.png

輸入show options  打開設置選項

6.png

我們也可以直接在ps的命令行中直接進行編碼

Invoke-Obfuscation -ScriptBlock {echo xss} -Command 'Encoding\1,Launcher\PS\67' -Quiet

7.png

進行多次編碼
在進行第一次編碼后然后輸入要編碼的類型進行二次編碼

8.png

選項中可以看到使用了2次編碼命令
undo取消最近一次的編碼命令/reset取消所有的編碼命令

9.png

在系統日志中(%systemroot%\System32\winevt\powershell.evtx),通過混淆與編碼后的powershell命令更加增加了溯源的難度

10.png

總結:

在windows環境下,使用powershell的攻擊者將會越來越多,通過對powershell 編碼與混淆,可以有效的繞過一些殺軟檢測並且更加具備隱藏的目的。同時也讓我們認識到了powershell腳本的靈活性。

* 本文作者:al0ne_,轉載請注明來自FreeBuf(FreeBuf.COM)https://www.freebuf.com/sectool/136328.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM