<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    關于CobaltStrike的若干檢測特征分析

    VSole2021-08-04 16:02:02

    CobaltStrike被廣泛利用于滲透攻擊中,可以與其他攻擊工具(如Mimikatz、Metasploit和PowerShell Empire)聯合使用,支持在網絡中橫向移動。

    一、關于C2的闡述

    CobaltStrike是實現C2的具體平臺框架。C2全稱為Command and Control,即命令與控制。這里分別從KILL CHAIN和MITRE ATT&CK對C2進行簡單介紹。

    在KILL CHAIN中,一次完整的滲透攻擊過程被規范為以下七個階段:

    如上圖所示,C2位于攻擊流程的末端,是攻擊者通過一系列手段成功進入受害者系統后,為實現受害機器(被植入惡意軟件)與攻擊者控制端通過網絡進行交互的一個階段,關鍵是拉取二段 exploit 進行駐留。

    而MITRE ATT&CK從實現方式上對C2這一階段進行了詳細地介紹,它包括19種常用技術手段,主要為編碼混淆、應用層協議利用、網絡層協議利用、隧道技術、代理、單雙向通信等。這些技術手段均可承載于某一攻擊框架。這里C2的釋義更接近于某種“基礎設施”。

    由此,C2架構也就可以理解為,惡意軟件通過什么樣的方式獲取資源和命令,以及通過什么樣的方式將數據回傳給攻擊者,以達到潛藏監控、命令控制的目的。

    二、C2 Matrix介紹

    一個合適的C2工具,往往可以更好地推進“行動”進展。C2 Matrix包含了用于測試各種C2 的實驗室環境、有關每個C2的詳細信息(包括如何安裝和使用它們等)以及如何為紅隊交戰和紫隊演習建設攻擊基礎設施。

    C2 Matrix收錄頗豐,但所收錄的工具版本普遍落后于當下。目前,業內應用最多者,當屬KALI集成的Metasploit以及CobaltStrike。本文的實驗研究主要圍繞CobaltStrike進行。

    三、CobaltStrike介紹

    CobaltSrtike早期版本依賴Metasploit框架,而現在的CobaltStrike已經不再使用MSF,而是作為單獨的平臺使用。它分為客戶端(Client)與服務端(Teamserver),服務端只有一個,客戶端可以有多個,團隊可進行分布式團隊協作。

    CobaltSrtike擁有多種協議主機上線方式,集成了提權、憑據導出、端口轉發、Socket代理、Office攻擊、文件捆綁、釣魚等功能。同時,CobaltStrike還可以調用Mimikatz等其他常用工具,因此廣受黑客青睞。

    CobaltSrtik

    四、特征討論(網絡維度與端點維度)

    環境準備:

    本次實驗主要利用了CobaltSrtike Attacks中的MS Office Macro和Windows Executable兩種攻擊方式。

    環境介紹:

    · CobaltStrike Sever:kali

    · CobaltStrike客戶端:kali、MAC

    靶機:win10

    主要工具:

    cobaltstrike4.2、office2016、wireshark、processhacker、火絨劍

    1、CobaltStrike HTTP隧道通信與流量分析

    CobaltSrtike4.0之前的版本支持http傳輸,木馬基于TCP協議會產生明顯的通訊特征,如獨有的端口、協議數據格式等。

    beacon與C2的通信邏輯

    a)stager的beacon會先下載完整的payload并執行,stage則省略這一步。

    b) beacon進入睡眠狀態。結束睡眠狀態后,它會用http-get方式發送一個metadata(具體發送細節可以在malleable_profile文件里的http-get模塊進行自定義),metadata的內容包括目標系統的版本、當前用戶等信息。

    c)如果存在待執行的任務,C2會響應這個metadata并發布命令,beacon將會收到具體任務內容與一個任務id。

    d)執行完畢后,beacon會將回顯數據與任務id用post方式發送回C2(細節可以在malleable_profile文件中的http-post部分進行自定義),然后又會回到睡眠狀態。

    PCAP包:

    PCAP分析:

    · GET /cx 請求輪詢指令

    · HTTP 200 OK響應附帶指令

    · POST 提交指令響應數據

    檢測CobaltStrike網絡指標

    CobaltStrike默認配置文件通過偽造HTTPS流量規避安全監測,所以需要使用TLS檢查,然后隔離bot通信流,完成后再通過檢查HTTPS請求中的數據來識別可疑的通信流。

    控制端發起desktop監控,該操作指令攜帶在TCP握手響應包里,靶機POST攜帶輸出結果。

    針對get、post輪詢請求建立模型,檢查與目標的通信頻率,人工產生的流量不斷變化,機器人產生的流量趨于一致且均勻。此外,在默認設置中,Sleeptime=60000ms,可根據這一設定嘗試建立模型,檢測出來自未修改默認設置的可疑CobaltSrtike攻擊。

    2、進程分析

    釋放進程rundll32.exe

    Word關閉后進程依然在運行,控制端發起desktop監控,rundll32.exe又發起一個rundll32.exe。

    火絨劍顯示其遠程地址是127.0.0.1,判斷應該是做了混淆處理,此處可作為特征。

    3、來自默認設置的一些信息證書

    SSL/TLS證書

    證書是teamserver主控端使用的加密證書,網上一些文章提到CobaltStrike默認的SSL/TLS證書是固定的,所以一般都使用這個證書作為特征值來發現CobaltStrike服務器。

    CobaltSrtike證書查看

    默認的證書具有很明顯的特征。Eg:

    O=cobaltstrike,;OU=AdvancedPenTesting;

    CN=Major Cobalt Strike

    https上線使用的證書

    https上線使用的證書,并不是前文中修改的那一個!


    Self-signed Certificates with SSL Beacon和Valid SSL Certificates with SSL Beacon是用來修改https上線使用的證書的。

    默認證書特征

    Fofa搜索:

    cert="73:6B:5E:DB:CF:C9:19:1D:5B:D0:1F:8C:E3:AB:56:38:18:9F:02:4F"&&after="2020-01-01"

    Censys.io搜索:

    443.https.tls.certificate.parsed.fingerprint_sha256:87f2085c32b6a2cc709b365f55873e207a9caa10bffecf2fd16d3cf9d94d390c

    結合搜索引擎,情報社區來判斷。

    全局選項

    官方文檔顯示:“可將Malleable C2配置文件配置為具有許多全局選項,以調整流量和Beacon的行為。完整列表可在官方文檔中找到。至少應設置sleeptime、jitter和useragent選項。”這一提示非常重要。

    Eg:

    3.1 sleeptime用于配置頻率,以毫秒為單位;jitter用于按指定的百分比更改檢查間隔,它接受0到99的值。

    3.2 useragent配置將用于HTTP通信的useragent字符串。如果可以收集目標組織中主機正在使用的實際用戶代理(向目標機構成員發送一封帶有Web漏洞的電子郵件并監視后續GET請求中發送的user-agent值),使用該代理為好。先進的組織經常監視其環境中是否存在不規則的用戶代理字符串,大多數公司僅使用了少數合法字符串。

    Eg:set useragent "Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 5.2) Java/1.5.0_08";

    查看bot通信流的來源,檢查生成TLS通信流的用戶代理。乍一看用戶代理貌似是合法的,“Mozilla/5.0 (Windows NT 6.1)”,這是Internet Explorer (IE)的值。然而,用戶代理完全可以被偽造,一些機器學習算法可以推導出數據包流的真正用戶代理。由此,我們得出一種檢測惡意流量的方法。

    如果使用的是明文HTTP流量或者是目標環境中存在SSL攔截,那么與環境不匹配的User-Agent值就會被發現。

    3.3 dns_idle選項用于發送信號給DNS的信標沒有任務在排隊等候。我們可以設置任何IP,但是主機廣泛使用Google DNS服務器作為DNS主機,因此我們將使用它(8.8.4.4)。同樣,這是自定義目標DNS服務器的理想選擇。

    3.4 DNS隱蔽信道:使用Wireshark觀察到,主機訪問了nexus.office.live.com這種不規則域名,即可粗略猜測這是一個C&C服務器。

    特征:

    這里我們可以通過根據AV引擎或其他IOC給出的情報做二次判斷。

    4. 檢測加密流量

    JA3方法用于收集Client Hello數據包中以下字段的十進制字節值。

    原理:這里相當于把支持的TLS擴展信息,都收集起來當作一個特征值來用(除了客戶端發起的,還有關于服務器的JA3S)。

    “這其實算一種降維打擊,并且我們發現主流在線沙箱、主流IDS大都支持了JA3/JA3S指紋檢測。”

    其他

    從一位使用者的角度來看,50050端口是否開啟,也可成為確定CobaltSrtike server的一個佐證。CobaltSrtike能得到大量黑白帽子的使用,必然是隱蔽性極高,高度的定制化是其重要原因,我們很難通過某一特征判定是否為惡意流量,但眾多模糊特征的聚合一定可以讓我們看到不一樣的東西。

    五、檢測規則以及分析思路

    利用日志易SIEM安全大數據分析平臺,根據相關特征制定C2檢測規則。

    1、進程特征利用——父子進程關聯

    分析平臺根據四種進程分析部分,可以將分析結果歸納為五種可疑進程。實際使用時,分析平臺會對進程進行檢索,并將出現可疑進程的檢索結果的機器ip寫入觀察列表。

    2、U-A頭利用

    檢索可疑useragent字符串,這些U-A頭可以來自情報或機器學習算法推導,將這些可疑結果IP寫入觀察列表或作為搜索條件。

    3、IOC利用

    不同情報源的CobaltSrtike server IP將被寫入觀察列表。

    4、特征聯合利用

    將步驟1和步驟2作為檢索主體,聯合步驟3進行檢測,進一步提高檢測精度。

    5、聯合設備告警

    告警設備之間聯合,設備與情報、本地規則聯合,提高了告警精度,聚焦了入侵階段與機器安全狀態。

    告警可在威脅處置展示,也可進行定制化推送。

    c2
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    安全研究人員發現了一種名為"黑暗公用事業"的新服務,它為網絡犯罪分子提供了一種簡單而廉價的方式,為其惡意行動建立一個指揮和控制(C2)中心。Dark Utilities服務為威脅者提供了一個支持Windows、Linux和基于Python的惡意程序載荷的平臺。
    C2 框架Tools
    2022-08-03 06:32:51
    PoshC2 主要是用 Python3 編寫的,遵循模塊化格式,使用戶能夠添加自己的模塊和工具,從而實現可擴展且靈活的 C2 框架。PoshC2 的其他顯著特點包括:使用 Docker 提供一致的跨平臺支持。
    在此活動檢查流量之后,我們能通過流量檢測工具識別會話期間所有已執行的命令。現在讓我們在初始階段啟動后檢查流量。在 TCP 握手之后,我們觀察到成功的通信正在進行。檢查的流量顯示它在 SSL 握手后立即開始。然而,在這種情況下,我們會留下精心制作或默認證書的痕跡,這些證書也可以進行調查,這可能會導致基礎設施或受到 IDS/IPS 簽名的攻擊。在此示例中,我們將使用Meterpreter 反向 tcp有效負載來測試我們的規避能力。
    分享一款C2遠控工具
    2022-11-30 06:41:14
    一、工具介紹一款基于WEB界面的仿CobaltStrike C2遠控。
    自今年早些時候推出以來,一個讓網絡犯罪分子更容易建立命令和控制 (C2) 服務器的平臺已經吸引了 3,000 名用戶,并且可能會在未來幾個月內擴大其客戶名單。
    RedGuard,是一款C2設施前置流量控制技術的衍生作品,有著更加輕量的設計、高效的流量交互、以及使用go語言開發具有的可靠兼容性。它所解決的核心問題也是在面對日益復雜的紅藍攻防演練行動中,給予攻擊隊更加優秀的C2基礎設施隱匿方案,賦予C2設施的交互流量以流量控制功能,攔截那些“惡意”的分析流量,更好的完成整個攻擊任務。
    “不要因為沒有掌聲而丟棄自己的夢想”C2介紹命令與控制是指在單個或一組目標受害者主機上建立和維持對植入工具的控制的過程。C2框架通常提供借助某個通信協議與植入工具進行通信的能力,向受害者系統發出命令,并且在C2服務器上接收這些命令的輸出,使攻擊者實現物理訪問或直接的虛擬訪問。命令與控制協議依賴于每個受控植入工具和C2服務器之間的同步或異步通信信道。
    神兵利器 - C2 框架
    2022-04-10 07:33:31
    PoshC2 主要是用 Python3 編寫的,遵循模塊化格式,使用戶能夠添加自己的模塊和工具,從而實現可擴展且靈活的 C2 框架。開箱即用的 PoshC2 帶有 PowerShell/C# 和 Python2/Python3 植入物,除了 Python2/Python3 有效負載外,還有用 PowerShell v2 和 v4、C++ 和 C# 源代碼、各種可執行文件、DLL 和原始 shell
    TG 下的C2創建過程
    2021-11-12 15:10:05
    0x00:簡介沒啥新技術,基本就是老技術。我這里只是做筆記,僅供學習。我自己的沒結果)服務器上運行到TG上去對你的機器人說話Python腳本看到你的消息
    01大致思路是這樣,首先,我們會用一個 CS 的外部 http 監聽器先把流量彈到第一層的 nginx 反代理節點上,因為事先已經在 mail 這臺機器上做好了反代配置,而這個反代配置里實際指向的是我們第二層 nginx 反代節點的域名,所以當回連的流量一過來就會直接被拋到第二層的 nginx 反代節點上,由于又事先在第二層反代節點上也做好了反代配置,不過這次配置里指向的并不是別的地方,而是我們真
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类