<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>

    CS的流量行為特征

    VSole2022-07-21 13:45:40

    關于CS流量行為

    首先生成一個payload,在虛擬機中啟用wireshark之后直接執行,可以捕獲一個完整的流量信息。

    上線之后執行 whoami,然后退出

    打開 wireshark,過濾對話,通過 C2 地址可以過濾出 Cobalt Strike 的流量。我這里按照傳遞數據包的大小排序了,可以看到最上面有一個傳遞 payload (攻擊載荷,Beacon)的會話。

    隨后過濾相關數據包,直接推薦直接使用ip來過濾,防止漏掉會話流

    我這里因為執行了sleep 0,所以流量看起來非常不清晰,所以這里我重新抓包分析。

    隨后加上http協議過濾,可以看到業務流程

    首先是checksum8,這個原理來自這兩處

    metasploit-framework/uri_checksum.rb at master · rapid7/metasploit-framework (github.com)

    Cobalt Strike: Using Known Private Keys To Decrypt Traffic – Part 2 – NVISO Labs[

    我們可以看到沒有檢測出我剛剛創建的 payload 存在該特征,但是示例中的URI確實被檢測出該特征。而且在另一次實驗中獲取的該值也符合該設定。所以暫且按下不表。

    可以看到這個是符合 CS x64 特征的,而且我確實生成的是該類木馬。

    從流量中來看,第一個數據包直接傳輸 CS 的 Beacon,并且沒有加密流量,因為 Beacon本身就是需要自解密的。

    第二個數據包中就出現了Cookie字段,里面存放的是一段 Base64 之后的數據。這段數據被稱之為元數據。

    分析元數據的部分參考這篇文章

    CS Beacon通信分析 - Cobalt Strike (gitbook.io)

    https://wbglil.gitbook.io/cobalt-strike/cobalt-strike-yuan-li-jie-shao/cs-mu-biao-shang-xian-guo-cheng

    首先我們反編譯cobaltstrike.jar找到 HTTP Beacon每次回連發送元數據請求時使用的方法,Cobalt Strike關于Beacon GET處理的核心代碼在BeaconHTTP里。

    從代碼中分析就可以知道,元數據本質上是 Beacon 本地產生一個 16 byte的數據,該數據做 SHA-256 處理之后,前16位作為AES秘鑰,16-32位作為HmacSHA256,用于加解密傳遞的數據。

    元數據本身則通過 RSA 公鑰加密,這樣 C2 就和 Beacon 完成了秘鑰協商,接下來通過檢查任務列表中是否存在任務,存在任務則下發任務,Beacon完成任務之后,通過POST返回執行之后的結果。

    接下來,我們就需要獲取到本地的 RSA 公鑰,然后就可以解密并生成 AES 的 key,并以此來解密流量。

    首先找到cobaltstrike.beacon_keys文件,然后打開它,可以發現它是一個序列化之后的文件。

    同樣的從代碼中找到解析文件的地方,使用它的方法來獲取 key。

    (KeyPair) CommonUtils.readObject(file, null));

    使用BeaconTool直接解析出公私鑰。

    darkr4y/geacon: Practice Go programming and implement CobaltStrike's Beacon in Go (github.com)

    隨后RSA解密元數據,并且按照代碼中的格式解析,就可以計算出 AES 的 key 和一些額外信息

    接下來,在某個心跳包的回包中,我們就可以發現我們的服務器對受控終端發出了一條指令。

    解密就可以看到我們服務器下發的指令

    至于%COMSPEC%就是 cmd.exe 的絕對路徑。

    接下來就可以順理成章的解密返回數據。

    對應的返回數據包

    對應的解密數據

    beacon流量
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    STATEMENT聲明由于傳播、利用此文所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負責,雷神眾測及文章作者不為此承擔任何責任。雷神眾測擁有對此文章的修改和解釋權。如欲轉載或傳播此文章,必須保證此文章的完整性,包括版權聲明等全部內容。
    web、PC、DC都處于同一域環境內,需要手動開啟weblogic服務
    CS的流量行為特征
    2022-07-21 13:45:40
    雷神眾測擁有對此文章的修改和解釋權。如欲轉載或傳播此文章,必須保證此文章的完整性,包括版權聲明等全部內容。未經雷神眾測允許,不得任意修改或者增減此文章內容,不得以任何方式將其用于商業目的。
    由于對破解版的廣泛使用,NVISO 的研究人員發現公網的 Cobalt Strike 服務器中有超過四分之一使用的加密密鑰對都是相同的,使用這些密鑰就可以對部分加密 Cobalt Strike 流量進行解密。
    WebServer特征本文簡單介紹了Cobalt Stike 4.4版本的一些特征以及緩解措施。webser
    CobaltStrike被廣泛利用于滲透攻擊中,可以與其他攻擊工具(如Mimikatz、Metasploit和PowerShell Empire)聯合使用,支持在網絡中橫向移動。
    攻防演練場景下的加密流量分為入聯、橫向、出聯三個類別,本文將從不解密的前提下對三類流量檢測展開介紹。
    正文CS 分段木馬與無分段木馬大同小異,本次以較為典型的分段木馬為例來分析其與 C2 的通信過程。對下載的 payload 進行解碼后查看其內容可以看到詳細的C2 通信配置,包括主機 IP、公鑰、端口等信息。
    如前文所述,Cobalt Strike 網絡流量可以使用正確的 AES 和 HMAC 密鑰進行解密。之前也講述了如何通過解密 Cobalt Strike 元數據的方法獲取密鑰,本文將會重點描述從內存 Dump 中提取密鑰的方法。
    需求配置vps一臺域名CDNCobalt Strike4.0?0x02. 服務器設置禁ping服務器禁ping從某種意義上來說,算是不存活的主機,但nmap是依然能夠掃描出來的。設置禁ping命令:vim /etc/sysctl.conf 打開后按i進入編輯模式,在任意位置新增以下內容。0x03. 修改Cobalt Strike默認端口號在服務端的teamserver文件末尾處修改修改之后再次啟動teamserver的時候即可看到端口已經更改。修改證書標準并應用> keytool -importkeystore -srckeystore cobaltstrike.store -destkeystore cobaltstrike.store -deststoretype pkcs12
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类