<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-10-15 07:21:54

    CobaltStrike是一款滲透測試神器,支持http/https、tcp、smb等多種通信方式。

    在hvv防守方、應急響應等場景中,都有檢測CobaltStrike的需求。

    現有檢測方案

    使用特征碼掃描

    • https://github.com/Apr4h/CobaltStrikeScan
    • https://github.com/CCob/BeaconEye
    • https://github.com/jas502n/cs_yara

    通常使用yara規則去匹配內存或者文件,但缺點如不支持3.x、只支持http/https的beacon等

    內核檢測方案

    • [2021]檢測Cobalt Strike只使用40行代碼

    其技術原理是

       1. 在內核通過PsSetLoadImageNotifyRoutine設置鏡像加載通知回調,之后任何exe,dll的加載都會被檢測。

        2. 而CobaltStrike使用sRDI方案,shellcode會調用LoadLibrary來加載需要dll,此時獲取堆棧回溯

        3. 檢測調用者的內存屬性為是否為private,是否可寫

    但缺點是

        1. 內核模塊啟動要先與CobaltStrike,如果已經運行則無法檢測

        2. 在客戶業務環境中內核模塊要保證穩定性兼容性,還要解決數字簽名等問題

    CobaltStrike特征分析

    鑒于以上兩種方案各有缺點,CobaltStrike的特征到底是什么?

    我認為有兩個通用的特征

        1. 對于http/https通信而言CobaltStrike均使用WinINet.dll來進行通信

        2. 無論選擇exe/dll/raw等格式,CobaltStrike內存均會sRDI

    通過ETW記錄WinINet日志

    ETW可以記錄WinINet的進程id、線程id、url、請求頭、返回狀態碼、返回頭等信息

    在應急中,可以通過進程id、線程id、url進一步排查,進而阻斷其網絡和進程。

    手動操作步驟

        1. 打開事件查看器

        2. 打開菜單 查看->顯示分析和調試日志

      3. 進入 應用程序和服務日志->Microsoft->Windows->WinINet(Microsoft-Windows-WinINet)

        4. 右鍵啟動 Microsoft-Windows-WinINet/UsageLog 日志

                                            wininetlog

    工具

    用C#寫了個簡單的工具WinINetLogger

                                        wininetlogger

    通過應用層的堆棧回溯判斷sRDI和CobaltStrike

    sRDI本身具有很強的隱蔽性,在內存中可以任意編碼、加密。

    但正如前文提到的內核檢測方案中,其調用系統api時,調用者的內存屬性有問題。

    正常調用系統api時,調用者內存屬性一般為IMAGE類型,并且不可寫。

    但也有例外如C#和V8等包含jit即時編譯的代碼。

    此時就需要結合CobaltStrike自身的特征

    • http/https時,堆棧回溯只有兩種情況
    1.    1. 睡眠時:sRDI -> kernel32.dll!Sleep
    2.    2. 通信時:sRDI -> WinINet.dll!xxxx
    • bindSMB時,堆棧回溯只有兩種情況
    1.    1. 監聽管道時:sRDI -> kernel32!ConnectNamedPipe
    2.    2. 讀取數據時:sRDI -> kernel32!ReadFile
    • bindTCP時,堆棧回溯只有兩種情況
    1.    1. 監聽端口時:sRDI -> ws2_32.dll!accept
    2.    2. 接收數據時:sRDI -> ws2_32.dll!recv

    分析調用堆棧時,如果這些api的調用者內存有問題,那么就可以確定是CobaltStrike

    通過ProcessHacker插件檢測CobaltStrike

    參考鏈接

    • https://github.com/Apr4h/CobaltStrikeScan
    • https://github.com/CCob/BeaconEye
    • https://github.com/jas502n/cs_yara
    • https://medium.com/threat-hunters-forge/threat-hunting-with-etw-events-and-helk-part-1-installing-silketw-6eb74815e4a0
    • https://key08.com/index.php/2021/07/25/1260.html

    工具和代碼

    • https://github.com/howmp/WinINetLogger
    • https://github.com/howmp/CobaltStrikeDetect
    • https://guage.cool/cobaltstrike-detect/processhacker.zip
    • https://guage.cool/cobaltstrike-detect/WinINetLogger.zip
    https堆棧
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    CobaltStrike的檢測
    2021-10-15 07:21:54
    CobaltStrike是一款滲透測試神器,支持http/https、tcp、smb等多種通信方式。 在hvv防守方、應急響應等場景中,都有檢測CobaltStrike的需求。
    ASLR程序加載到內存后不使用默認的加載地址,將加載基址進行隨機化,依賴重定位表進行地址修復。地址隨機化之后,shellcode中固定的地址值將失效。圖-程序地址未隨機化處理開啟/關閉軟件地址隨機化。每個頁目錄表和頁表項都存在 基址與屬性控制位,通過修改這些控制位,達到當前內存是否有執行、讀、寫等權限。圖-表項構成windows 系統上可以調用 VirtualProtect 函數完成內存屬性的修改操作。DWORD flNewProtect, // 請求的保護方式。大小超過 8 個字節且不包含指針的數據結構。
    NVIDIA OFED堆棧架構
    2022-07-21 11:45:10
    應用程序級別還顯示了NVIDIA OFED適用于的市場的多功能性。mlx5_ib處理 InfiniBand 特定的功能并插入 InfiniBand 中間層。設置此變量可啟用 CQE 壓縮。它允許直接將數據傳入和傳出 SCSI 緩沖區,而無需中間數據副本。
    另外需要說明一下,原文只是一個系列(https://sploitfun.wordpress.com/2015/06/26/linux-x86-exploit-development-tutorial-series/)中的一篇文章:
    SYN FLOOD攻擊是在TCP三次握手過程中產生的。攻擊者通過發送大量偽造的帶有SYN標志位的TCP報文,與目標主機建立了很多虛假的半開連接,在服務器返回SYN+ACK數據包后,攻擊者不對其做出響應,也就是不返回ACK數據包給服務器,這樣服務器就會一直等待直到超時。這種攻擊方式會使目標服務器連接資源耗盡、鏈路堵塞,從而達到拒絕服務的目的。
    BPF之路二(e)BPF匯編
    2021-12-28 16:18:32
    原始的BPF又稱之為class BPF(cBPF), BPF與eBPF類似于i386與amd64的關系
    GitHUB安全搬運工
    2021-10-15 12:58:23
    Github干貨集合
    SigFlip:將數據隱寫到已簽名的PE文件上Github地址: https://github.com/me
    功能列表HWBP hook檢測 檢測線程中所有疑似被hwbp隱形掛鉤內存免殺shellcode檢測可疑進程檢測無文件落地木馬檢測簡易rootkit檢測檢測異常模塊,檢測絕大部分如"iis劫持"的后門運行截圖項目地址:https://github.com/huoji120/DuckMemoryScan2、ASP.NET-Memshell-Scanner v1.3asp.net內存馬檢測工具,通過aspx腳本來實現asp.net內存馬的檢測以及查殺。如侵權請聯系刪除。
    CVE-2021-24086漏洞分析
    2022-07-19 16:41:30
    漏洞信息2021年,Microsoft發布了一個安全補丁程序,修復了一個拒絕服務漏洞,編號為CVE-2021-24086,該漏洞影響每個Windows版本的IPv6堆棧,此問題是由于IPv6分片處理不當引起的。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类