MoveKit:一款功能強大的Cobalt Strike橫向滲透套件

語言: CN / TW / HK

關於MoveKit

MoveKit是一款功能強大的Cobalt Strike橫向滲透套件,本質上來說MoveKit是一個Cobalt Strike擴充套件,它利用的是SharpMove和SharpRDP .NET程式集的execute_assembly函式實現其功能,攻擊指令碼能夠通過讀取指定型別的模板檔案來處理Payload建立任務。

Cobalt Strike

Cobalt Strike是一款美國Red Team開發的滲透測試神器,常被業界人稱為CS。

最近這個工具大火,成為了滲透測試中不可缺少的利器。其擁有多種協議主機上線方式,集成了提權,憑據匯出,埠轉發,socket代理,office攻擊,檔案捆綁,釣魚等功能。同時,Cobalt Strike還可以呼叫Mimikatz等其他知名工具,因此廣受黑客喜愛。

指令碼執行機制

在使用該指令碼的過程中,使用者僅需要載入MoveKit.cna指令碼即可,它將載入所有其他的所需指令碼。除此之外,使用者可能還需要對程式碼進行編譯,並存放至Assemblies目錄中,具體取決於SharpMove和SharpRDP程式集所要採取的行為。最後,某些檔案移動操作可能需要動態編譯,這裡將需要用到Mono。

在載入指令碼時,會有一個名為Move的選擇器被載入進menubar中,這裡將給使用者提供多個可用選項。首先,使用者需要選擇一個在遠端系統上執行的命令,命令將通過WMI、DCOM、計劃任務、RDP或SCM執行。接下來,指令碼將會通過Command命令執行機制來獲取執行檔案。然後,使用File方法將檔案儲存至目標系統並執行它。這裡所使用到的“Write File Only”只會對資料進行移動。最後,工具會使用預設配置和信標命令進行操作。

在使用信標命令時,它將讀取預設配置,並使用幾個命令列引數。信標命令樣本如下:

<exec-type> <target> <listener> <filename>
move-msbuild 192.168.1.1 http move.csproj

自定義預構建信標命令則有些許不同,命令樣本為:

move-pre-custom-file <target> <local-file> <remote-filename>
move-pre-custom-file computer001.local /root/payload.exe legit.exe

對於上面的位置欄位,當選擇WMI方法時會用到,如果選擇的是SMB,則無需使用該欄位。Location欄位接受三個不同的值,第一個是Cobalt Strile Web伺服器的URL地址,第二個則是待上傳檔案的遠端目標系統的Windows目錄路徑,第三則是一個儲存事件寫入的Linux路徑或“local”單詞。

指令碼將會針對所有的檔案方法建立Payload,但是,如果Payload已經在之前建立好了的話,指令碼只會移動或執行它。

支援的橫向滲透技術

MoveKit包含了各種不同的橫向滲透技術、執行觸發器和Payload型別。

檔案移動指的是獲取檔案或將檔案移動到遠端主機所使用的方法:

SMB to flat file

WMI to flat file

WMI to Registry Key Value

WMI to Custom WMI Class property

命令觸發器指的是觸發在遠端主機上執行命令的方法:

WMI

SCM

RDP

DCOM

計劃任務

修改計劃任務

修改服務路徑

Shellcode執行:

Excel 4.0 DCOM

WMI事件描述

劫持攻擊:

服務DLL劫持

DCOM伺服器劫持

工具下載

廣大研究人員可以使用下列命令將該工具原始碼克隆至本地:

git clone https://github.com/0xthirteen/MoveKit.git

依賴元件

需要使用Mono(MCS)編譯.NET程式集。

專案地址

MoveKit:https://github.com/0xthirteen/MoveKit

參考資料

https://github.com/GhostPack/SharpWMI
https://github.com/rvrsh3ll/SharpCOM
https://github.com/cobbr/SharpSploit/blob/master/SharpSploit/LateralMovement/DCOM.cs
https://github.com/malcomvetter/CSExec
https://github.com/djhohnstein/SharpSC
https://github.com/Mr-Un1k0d3r/SCShell
https://github.com/Arno0x/CSharpScripts/blob/master/shellcodeLauncher.cs
https://github.com/vysecurity/CACTUSTORCH