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 通過團隊服務器發送釣魚郵件。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/380072.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/380072.shtml
英文地址,請注明出處:http://en.pswp.cn/news/380072.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[轉]sql,N/$/#/@的含義和作用

declare sql nvarchar(4000)set sql Nselect TotalRecordscount(*) from N( sqlFullPopulate N) a EXEC sp_executesql sql,NTotalRecords int output, TotalRecords output 問題:sql 后面有個N, N 起什么作用? 答案: 加上 N 代表存入數據庫時…

Java——方法重載(overload)(比較兩個數據是否相等)

重載:方法名相同,參數列表不同,與返回值類型無關 重載的分類: 1,參數個數不同 ①,④,⑤,⑥; 2,參數類型不同 ①,②,③、 ⑤&#x…

scala怎么做冪運算_Scala冪(冪)函數示例

scala怎么做冪運算Scala programming language has a huge set of libraries to support different functionalities. Scala編程語言具有大量的庫來支持不同的功能。 scala.math.pow() (scala.math.pow()) The pow() function is used for the exponential mathematical opera…

frame--轉載

所謂框架便是網頁畫面分成幾個框窗&#xff0c;同時取得多個 URL。只 要 <FRAMESET> <FRAME> 即可&#xff0c;而所有框架標記 要放在一個總起的 html 檔&#xff0c;這個檔案只記錄了該框架 如何劃分&#xff0c;不會顯示任何資料&#xff0c;所以不必放入 <…

cobalt strick 4.0 系列教程(6)Payload Artifact 和反病毒規避

0x01 哲學 Strategic Cyber 責任有限公司會定期回答有關規避的問題。Cobalt Strike 是否能夠繞過 AV 產品&#xff1f;它能繞過哪些 AV 產品&#xff1f;它多久檢查一次&#xff1f; Cobalt Strike 默認的 Artifact 可能會被大多數終端安全解決方案攔截。規避不是 Cobalt Str…

【轉】企業開發的困境與變局

原文&#xff1a;企業開發的困境與變局 文 / 劉江 算起來&#xff0c;《程序員》已經有幾年時間沒有大篇幅討論企業軟件開發這個話題了。這其實挺奇怪的。要知道&#xff0c;按類別來分&#xff0c;國內從事企業軟件開發的技術人員是最多的&#xff0c;從CSDN和《程序員》聯合舉…

c# 類對象和實例對象_C#類和對象能力問題 套裝4

c# 類對象和實例對象1) What are the correct statements about given code snippets? using System;public class Example{virtual private int X;private int Y;static void Main(string[] args){Console.WriteLine("Hello World");}}Hello WorldHelloWorldSyntax…

linkBar組件學習--設置linkBar子項的豎直間距.

效果&#xff1a;代碼&#xff1a; <?xml version"1.0" encoding"utf-8"?><!--http://blog.flexexamples.com/2008/04/20/setting-the-vertical-spacing-between-items-in-a-linkbar-control-in-flex/ --><mx:Application xmlns:mx"…

AES算法

算法簡介 AES本質是一種對稱分組密碼體制&#xff0c;采用代替/置換網絡。每輪由三層組成&#xff1a;線性混合層確保多輪之上的高度擴散&#xff0c;非線性層由16個S盒并置起到混淆的作用&#xff0c;秘鑰加密層將子秘鑰異或到中間狀態。 AES加密數據塊和秘鑰長度可以是128比…

C——結構體

例題1&#xff1a;(使用結構體) 輸入兩個學生的學號、姓名和成績&#xff0c;輸出成績較高的學生的學號、姓名和成績 解題思路&#xff1a; (1)定義連個結構相同的結構體變量student1,student2; (2)分別輸入兩個學生的學號、姓名、和成績&#xff1b; (3)比較兩個學生的成…

web.config配置文件詳解

<?xml version"1.0"?> <!--注意: 除了手動編輯此文件以外&#xff0c;您還可以使用 Web 管理工具來配置應用程序的設置。可以使用 Visual Studio 中的“網站”->“Asp.Net 配置”選項。 設置和注釋的完整列表在 machine.config.comments 中&#xff0c…

離散數學群論_離散數學中的群論及其類型

離散數學群論半群 (Semigroup) An algebraic structure (G, *) is said to be a semigroup. If the binary operation * is associated in G i.e. if (a*b) *c a *(b*c) a,b,c e G. For example, the set of N of all natural number is semigroup with respect to the operat…

IDA使用方法-----1

0x01 啟動IDA new&#xff1a;反匯編一個新文件go&#xff1a;運行&#xff0c;直接進入IDAPrevious&#xff1a;載入一個我們以前編譯過的程序 如果不想每次都看到這個對話框&#xff0c;可以取消該對話框底部的Display at startup&#xff08;啟動時顯示&#xff09;&#x…

郵箱驗證JS代碼

方法一,用JSfunction finish_onclick() { var username document.getElementById("username");var pwhidden document.getElementById("pwhidden");if(username.value"") { alert("請填寫您的企業郵箱地址&#xff01;");username.f…

objdump命令詳解

objdump命令是用查看目標文件或者可執行的目標文件的構成的gcc工具。 選項 --archive-headers -a 顯示檔案庫的成員信息,類似ls -l將lib*.a的信息列出。 -b bfdname --targetbfdname 指定目標碼格式。這不是必須的&#xff0c;objdump能自動識別許多格式&#xff0c;比如…

Java——異常(try...catch...finally)

public class Demo5_Throwable {public static void main(String[] args) {try{System.out.println(1/0);}catch(Exception e){System.out.println(e.getMessage());//獲取異常信息,返回字符串&#xff1b;System.out.println(e.toString());//獲取異常類名和異常信息&#xff…

Python程序反轉給定數字(2種不同方式)

Take input number from the user and print its reverse. 從用戶處獲取輸入號碼并打印其反面。 Example: 例&#xff1a; Input:12345Output:54321Here, we are implementing program to reversing a given number using 2 different ways. 在這里&#xff0c;我們正在實施程…

外匯期貨學習專帖(轉)

一篇好文,值得深思! (轉) 我的一些所看所想,和大家聊聊 ; d: R ^6 c* A2 e X" y8 y4 Bhttp://www.fx998.cn 說來慚愧,很久以前,俺在期貨公司混事,95年以前國內期貨公司從外盤棉花到咖啡....,外匯期指到原油.都能*作.是一派欣欣向榮之景.95年之后,按國家規定都轉了內…

《Pro ASP.NET MVC 3 Framework》學習筆記之四【領域模型介紹】

主題&#xff1a;應用領域驅動開發(Applying Domain-Driven Development) Domain Model是MVC程序的"心臟"&#xff0c;其他的一切&#xff0c;包括Controllers和Views僅僅是用來跟Domain Model交互的一種方式&#xff0c;ASP.NET MVC并沒有限制使用在Domain Model上面…

Java——集合框架(List)

集合框架&#xff08;List的三個子類的特點&#xff09; A&#xff1a;List的三個子類的特點 ArrayList&#xff1a; 底層數據結構是數組&#xff0c;查詢快&#xff0c;增刪慢。 線程不安全&#xff0c;效率高。 Vector&#xff1a; 底層數據結構是數組&#xff0c;查詢…