cobalt strick 4.0 系列教程 (5)--- 獲取立足點

https://blog.ateam.qianxin.com/CobaltStrike4.0%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C_%E4%B8%AD%E6%96%87%E7%BF%BB%E8%AF%91.pdf

0x01 客戶端 System Profiler [即探針]

System Profiler 是一個爲客戶端攻擊提供的偵察工具。這個工具啓動一個本地的 web 服務器,並對訪問它的任何應用進行指紋識別。System Profiler 提供一個它從用戶的瀏覽器裏發現的應用和插件的列表。System Profiler 也會嘗試去發現代理服務器背後的用戶的內網 IP 地址。

通過 Attacks → Web Drive-by → System Profiler 啓動 System Profiler。要啓動 System
Profiler 必須指定要綁定的 URI 和一個啓動 Cobalt Strike web 服務器的端口。

如果你指定了一個 Redirect URL (重定向 URL),則一旦探針被訪問,Cobalt Strike 會重定向瀏覽者(在此也就是受害者)到這個指定的 URL。單擊 Launch 以啓動 System Profiler。

System Profiler 使用一個未簽名的 Java Applet 來發現隱藏的目標內網 IP 並確定目標具有的 Java 版本。因爲 Java 的點擊運行安全特性,這可能會引起懷疑。取消勾選 Use Java Applet to getinformation (使用 Java 小程序獲取信息)框來從 System Profiler 中移除 Java Applet。

勾選 Enable SSL 框以通過 SSL 提供 System Profiler 服務。這個框被禁用,除非你通過 C2 拓展文件指定了一個有效的 SSL 證書。

要從 System Profiler 查看結果,請轉到 View → Applications 。Cobalt Strike 將列出它在系統分析過程中發現的所有應用程序。

0x02 Cobalt Strike Web 服務

很多 Cobalt Strike 功能從它們自己的 web 服務器運行。這些服務包括 System Profiler、HTTPBeacon 和 Cobalt Strike 的 web drive-by 攻擊。可以在一個 web 服務器上託管多個 Cobalt Strike 功能。

要管理 Cobalt Strike 的 web 服務,通過Attacks → Web Drive-by → Manage 。在這裏,你可以複製任何 Cobalt Strike URL 到剪貼板或停止一個 Cobalt Strike web 服務。

使用 View → Web Log 來監視到你的 Cobalt Strike web 服務的訪問。
如果 Cobalt Strike 的 web 服務器看到了來自 Lynx,Wget 或 Curl 瀏覽器的請求,Cobalt Strike 會自動返回一個 404 頁面。Cobalt Strike 這樣做是爲了防禦藍隊的窺探。

0x03 用戶驅動的攻擊包

最好的攻擊不是漏洞利用。相反,最好的工具是利用正常功能來達成代碼執行。Cobalt Strike 使得你可以輕鬆地進行多種用戶驅動的攻擊。這些攻擊利用你已經設置的監聽器。點擊 Attacks → Packages並選擇下列選項之一。
在這裏插入圖片描述

HTML Application

一個 HTML Application(HTML 應用)是一個使用 HTML 和一個 Internet 瀏覽器支持的腳本語言編寫的 Windows 程序。該程序包生成一個 HTML 應用,該應用運行一個 Cobalt Strike payload。你可以選擇可執行的選項來獲取一個 HTML 應用,此 HTML 應用使得一個可執行文件落地在磁盤上並運行它。選擇 PowerShell 選項來得到一個 HTML 應用,該應用使用 PowerShell 來運行一個 payload。使用VBA 選項來靜默派生一個 Microsoft Excel 實例並運行一個惡意的宏來將 payload 注入到內存中。

MS Office Macro

該程序包生成一個 Microsoft Office 的宏文件並提供將宏嵌入 Microsoft Word 或 Microsoft Excel 的說明。

Payload Generator(Payload 生成器)

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

Windows Executable(Windows 可執行文件)

該程序包生成一個 Windows 可執行 Artifact,用於傳送一個 payload stager。這個程序包爲你提供了多種輸出選項。

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

譯者注:也就是說,普通的 EXE 和服務器啓動調用的 EXE 是有區別是。利用 Windows Service
EXE 生成的 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。

rundll32 foo.dll,Start

勾選 Use x64 payload 框來生成匹配 x64 stager 的 x64 Artifact。
勾選 Sign executable file 框來使用一個代碼簽名的證書來簽名一個 EXE 或 DLL Artifact。你必須指定一個證書。你必須在 C2 拓展文件中指定證書。

Windows Executable(s)

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

默認情況下,這個對話導出 x86 payload stage。勾選 Use x64 payload 框來使用 x64 Artifact 生成一個 x64 stage。

勾選 Sign executable file 框來使用代碼簽名的證書來簽名一個 EXE 或 DLL Artifact。

0x04 託管文件

Cobalt Strike 的 web 服務器可以爲你託管你的用戶驅動的程序包。通過 Attacks → Web Drive-by→ Host File 來進行此配置。選擇要託管的文件,選擇一個任意URL,然後選擇文件的 MIME 類型。

託管文件這個功能本身意義不大。但是稍後你將學習如何將 Cobalt Strike 的 URL 嵌入到一個魚叉式網絡釣魚電子郵件中。當你這樣做的時候,Cobalt Strike 可以通過電子郵件交叉引用託管文件發送給訪問者,並將此信息包含在社會工程報告中。

0x05 User-driven Web Drive-by Attacks(用戶驅動的 Web Driveby攻擊)

Cobalt Strike 使用多種工具來爲你設置可用的 web drive-by 攻擊。要快速地開始一個攻擊,通過Attacks → Web Drive-by 並選擇一個選項:

Java Signed Applet Attack

這個攻擊會啓動一個 web 服務器來託管一個自簽名的 Java applet。訪客被要求給這個 applet 權限來運行。當一個訪客准許了這個權限,你就獲取了到他們系統的權限。

Java 簽名的 Applet 攻擊使用 Cobalt Strike 的 Java 注入器。在 Windows 上,Java 注入器會對一個Windows 監聽器直接往內存注入 shellcode。

爲了從這次攻擊中獲取最大收益,你需要從 Cobalt Strike 的武器庫中下載此 Applet 套件並使用代碼簽名證書對其進行簽名。

Java Smart Applet Attack

Cobalt Strike 的智能 Applet 攻擊在一個程序包裏包含多個漏洞利用來禁用 Java 安全沙盒。這個攻擊啓動一個 web 服務器來託管 Java applet。最初,這個小程序可以在 Java 的安全沙箱中運行,並且不需要用戶批准即可啓動。

這個 applet 分析它的環境並決定使用哪個 Java 漏洞利用。如果 Java 版本是有漏洞的,此 applet 會禁用安全沙箱,並使用 Cobalt Strike 的 Java 注入器執行 payload。

Scripted Web Delivery (S)

這個功能會生成一個無階段的 Beacon payload Artifact, 在 Cobalt Strike 的 web 服務器上託管它,並提供一個單行來下載和運行此 Artifact。選項包括:bitsadmin,powershell 和 python。

bitsadmin 選項託管一個可執行文件並使用 bitsadmin 來下載它。bitsadmin 方法通過 cmd.exe 來運行此可執行文件。powershell 選項託管一個 PowerShell 腳本並使用 powershell.exe 來下載此腳本並對其進行評估。python 選項託管一個 Python 腳本並使用 python.exe 來下載該腳本並運行它。每一個這些選項都是一種運行 Cobalt Strike 監聽器的不同的方法。

0x06 客戶端的漏洞利用

你可以使用一個 MSF 漏洞利用來傳送一個 Cobalt Strike Beacon。Cobalt Strike 的 Beacon 與 MSF 的分階段協議相兼容。要使用 MSF 漏洞利用來傳送一個 Beacon:

  • 使用 windows/meterpreter/reverse_http[s] 作爲你的 PAYLOAD 並設置 LHOST 和 LPORT來指向你的 Cobalt Strike 監聽器。在這裏你不是真的在傳送 Meterpreter,你是在讓 MSF 生成從指定的 LHOST/LPORT 下載 payload 的 HTTP[s] stager。
  • 將 DisablePayloadHandler 設置爲 True 。此選項會讓 MSF 避免在 MSF 內起一個 handler 來服務你的 payload 連接。
  • 將 PrependMigrate 設置爲 True。此選項讓 MSF 前置 shellcode 在另一個進程中運行 payload stager。如果被利用的應用程序崩潰或被用戶關閉,這會幫助你的 Beacon 會話存活。

這裏是一個 msfconsole 的屏幕截圖,圖中起了一個 Flash 漏洞利用來傳送 Cobalt Strike 的 HTTP Beacon,此 Beacon 被託管在 192.168.1.5 的 80 端口上:
在這裏插入圖片描述

0x07 克隆網站

在向目標發送漏洞利用程序之前,進行僞裝會有所幫助。Cobalt Strike 的網站克隆工具可以幫助此目標。網站克隆工具製作一個網站的本地的複製,使用一些增加的代碼來修復連接和圖像這樣它們可以如預期一樣工作。

要克隆一個網站,通過 Attacks → Web Drive-by → Clone Site 。

可以將一個攻擊嵌入到一個克隆的站點。在綁定的字段寫你的攻擊的 URL,Cobalt Strike 會使用一個IFRAME 來將它加入一個克隆的站點。點擊 … 按鈕來選擇一個運行的客戶端漏洞利用程序。

在這裏插入圖片描述
克隆的網站還可以捕獲鍵盤記錄。勾選 Log keystrokes on cloned site (克隆站點上的鍵盤記錄)框。這會往克隆的站點裏插入一段 JavaScript 鍵盤記錄程序。

要查看鍵盤記錄內容或查看到你的克隆網站的訪問者,通過 View → Web Log 。

0x08 魚叉式網絡釣魚

目標

既然你已經瞭解了客戶端攻擊,讓我們來談談如何對用戶進行攻擊。進入組織網絡的最常見的方法是通過魚叉式網絡釣魚。

在發送釣魚信息之前,你應該收集目標列表。Cobalt Strike 接受的格式是用文本文件組織的目標。該文件的每一行包含一個目標。目標可以是一個電子郵件地址。你可以使用一個電子郵件地址、標籤或一個名字。如果提供了名稱,則有助於 Cobalt Strike 自定義每個網絡釣魚。

模板

接下來,你需要網絡釣魚模板。模板的好處是你可以在多次行動中重複利用它們。Cobalt Strike 使用保存的電子郵件消息作爲其模板。Cobalt Strike 將刪除附件、處理編碼問題,併爲每次釣魚攻擊重新填寫每個模板。

如果你想創建自定義模板,請撰寫郵件併發送給自己。大多數電子郵件客戶端提供獲取原始信息源的方法。在 Gmail 中,點擊 Reply 按鈕旁邊的向下的箭頭並選擇 Show original (顯示原始文本)。將此消息保存到一個文件中,這樣你就做好了一個 Cobalt Strike 釣魚郵件模板了!

你可能想使用 Cobalt Strike 的 token 自定義你的模板。Cobalt Strike 在你的模板裏會自動替換如下一些 token :
在這裏插入圖片描述

發送消息

現在你已經有了目標和模板,就可以開始進行網絡釣魚了。通過 Attacks → Spear Phish 來啓動網絡釣魚工具。
在這裏插入圖片描述
要發送一封釣魚郵件,你必須首先導入你的目標。點擊 Targets 字段旁邊的文件夾圖標來導入你的目標文件。

然後,選擇你的模板文件。點擊 Template 字段旁邊的文件夾圖標來選擇一個模板文件。

現在,你可以選擇增加一個附件。這是使用我們前面討論過的社會工程程序包的好機會之一。Cobalt Strike 會將你的附件增加到發出的釣魚郵件。

你也可以要求 Cobalt Strike 使用你選擇的 URL 來重寫模板中的所有 URL。粘貼 URL 或按 … 來選擇一個 Cobalt Strike 託管的工具。Cobalt Strike 工件集包括克隆的網站,自動漏洞利用服務器和 SystemProfiler。

當你嵌入一個 URL,Cobalt Strike 將對其附加 ?id=%TOKEN% 。每一封發出的郵件都會被分配自己的令牌(token)。Cobalt Strike 使用這個令牌(token)將網站訪問者映射到已發送到的電子郵件上。如果你要寫報告,請務必保留此值。

將郵件服務器設置爲目標的開放中繼或郵件交換記錄。如有必要,你可能還會向郵件服務器進行身份驗證以發送你的網絡釣魚郵件。

點擊 Mail Server (郵件服務器)字段旁邊的… 來配置額外的服務器選項。你也可以指定用於身份驗證的用戶名和密碼。Random Delay 選項告訴 Cobalt Strike 將每封郵件隨機延遲一段時間,最多不超過你指定的秒數。如果此選項未設置,Cobalt Strike 不會延遲發送郵件。
在這裏插入圖片描述
將 Bounce 設置爲退回郵件的應該發往的電子郵件地址。這個值不會影響你的目標看到的郵件。點擊Preview 來查看發送到你的收件人之一的一封組合郵件。如果預覽看上去不錯,點擊 Send 來發送你的攻擊。

Cobalt Strike 通過團隊服務器發送釣魚郵件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章