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

    使用內存特征檢測 Cobalt Strike

    VSole2021-09-07 19:37:43

    Beacon 通常是反射加載到內存中,還可以配置各種內存中混淆選項以隱藏其有效負載。

    Beacon 可以配置各種內存中混淆選項以隱藏其有效負載。例如,obfuscate-and-sleep 選項會試圖在回調之間屏蔽部分 Beacon 有效負載,以專門避開基于特征的內存掃描。

    Obfuscate and Sleep是一個Malleable C2選項,在Cobalt Strike 3.12.引入。啟用后,Beacon將在進入Sleep狀態之前在內存中混淆自身。
    

    那么我們先使用默認的關閉Obfuscate and Sleep來查看CobaltStrike進行進程注入會的具體情況。

    然后我們把進程注入到微信中。

    注入微信進程

    正常執行命令

    然后我們在目標主機中使用Process Hacker 2進行檢測查看:

    查找調用 SleepEx 的線程來定位內存中的 Beacon,一般在比較活躍的之中。

    然后,我們可以將關聯的內存區域進行分析,轉到Memory查看分析這個偏移量。

    我們可以對比看一下Beacon的情況:

    轉到Memory查看分析這個偏移量并對比一下:

    可以看到我們可以看到我們的整個beacon在內存中未加密。

    檢測這樣沒有加密的beacon不難,我們在最簡單的做法是,從這個區域挑選一些獨特的字符串并將它們用作我們的檢測的特征就行。

    rule cobaltstrike_beacon_strings{meta:     author ="Elastic"description ="Identifies strings used in Cobalt Strike Beacon DLL."strings:   $a = {70 6F 77 65 72 73 68 65 6C 6C 20 2D 6E 6F 70 20 2D 65 78 65 63 20 62 79 70 61 73 73 20 2D 45 6E 63 6F 64 65 64 43 6F 6D 6D 61 6E 64 20 22 25 73}condition:       any of them }
    

    當然上面的我只是舉個例子,在實戰中還得細一點。

    國外也有個安全研究人員給出了個yar

    rule cobaltstrike_beacon_strings{meta:  author = "Elastic"  description = "Identifies strings used in Cobalt Strike Beacon DLL."strings:    $a = "%02d/%02d/%02d %02d:%02d:%02d"    $b = "Started service %s on %s"    $c = "%s as %s\\%s: %d"condition:   2 of the }
    

    同時Cobalt Strike給出了一種Bypass方法

    # Obfuscate Beacon, in-memory, prior to sleepingset sleep_mask "true";
    

    Set sleep_mask “true”; 設置使beacon在睡眠之前混淆內存中的代碼,睡眠后對自己進行混淆處理

    可以看到在混淆內存中的代碼,然后我們使用前面的規則并不能檢測到了beacon

    其實如果你刷新幾次也可以發現解密的beacon,因為在每次使用beacon,都會重新加密數據和字符串。

    那么我們也可以多檢測幾次也可以檢測到:

    因為我現在使用的4.3的Cobalt Strike,使用 13 字節的 XOR 密鑰,

    如果是4.2以下Cobalt strike 使用的是使用簡單的單字節 XOR 混淆,使用下面的yar一樣可以檢測:

    rule cobaltstrike_beacon_xor_strings{meta:    author = "Elastic"    description = "Identifies XOR'd strings used in Cobalt Strike Beacon DLL."strings:    $a = "%02d/%02d/%02d %02d:%02d:%02d" xor(0x01-0xff)    $b = "Started service %s on %s" xor(0x01-0xff)    $c = "%s as %s\\%s: %d" xor(0x01-0xff)condition:    2 of them}
    
    beacon
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    如果成功連接到管道, 使用WriteFile函數將shellcode數據寫入已連接的命名管道。使用IDA分析檢查導出函數:第一個是反射式DLL注入,限于篇幅,在本篇中不展開分析第二個是DLL的入口函數。在后續的文章中,會根據檢測特征和csprofile的繞過按照專題進行分析。同時,大部分的CS檢測特征都是在此。而在后續的文章分析中,將會著重的分析CS beacon中使用到的幾種DLL注入方式;beacon config的檢測;同時結合CS profile 的配置,研究一下CS的對抗檢測方式。
    從零開始開發CS beacon
    2021-12-21 16:01:20
    因為我也才學golang,基本面向github編程,在網上只找到python版加解密的方式,所以需要翻譯成go語言。
    Beacon 通常是反射加載到內存中,還可以配置各種內存中混淆選項以隱藏其有效負載。 Beacon 可以配置各種內存中混淆選項以隱藏其有效負載。例如,obfuscate-and-sleep 選項會試圖在回調之間屏蔽部分 Beacon 有效負載,以專門避開基于特征的內存掃描。
    Beacon 通常是反射加載到內存中,還可以配置各種內存中混淆選項以隱藏其有效負載。Beacon 可以配置各
    SMB Beacon 與命名管道在 Windows 中,無管理員權限的情況下,即無法添加白名單。定義特定版本的協議的消息數據包集稱為方言。進行身份驗證后,用戶可以訪問服務器上不受共享級別安全性保護的所有共享。
    CobaltStrike ShellCode詳解
    2022-08-04 16:51:50
    接下來就是重點了,加載起來的這段shellcode開頭先將DF標志位置0,這里為什么這樣做后面會提到。
    微軟社區網友 LiCaoZ 發文表示,自 8 月 19 日 11 時起,包括必應搜索在內的部分 Microsoft 服務受到了部分地區中國移動省份網關屏蔽,流向 Microsoft 數據中心節點的數據包會在經過省份網關時被丟棄。
    wangan Cookie 指引
    2022-11-23 12:05:32
    實體標簽可代替 Cookie,用以追蹤個別使用者,并容許我們可更深入了解和改善 wangan 服務。例如,收集網站和應用程式的使用數據、收集 wangan 用戶基本的統計信息并分析相關的趨勢。我們對第三方的任何追蹤技術概不承擔任何責任;B. 我們可能會將通過追蹤技術收集所得的信息與我們收集所得關于您的其他信息合并。
    研究人員首次發現藍牙信號可作為指紋用于追蹤智能手機。 智能手機、智能手表、健身手環等移動設備常以每分鐘500 藍牙beacon的速率用來傳輸信號。這些beacon可以用于蘋果的“Find My”丟失設備追蹤服務、疫情追蹤APP、連接智能手機到其他設備等。
    Wireshark是一款數據包嗅探工具。正常情況下,AP每隔一段時間就會自動廣播一個Beacon(信標)信號包,來宣布該無線網絡的存在。所以,通過將無線網卡設置為監聽模式,然后使用Wireshark嗅探監聽接口的數據包,即可發現附近開放的無線網絡。本文介紹使用Wireshark掃描無線網絡的方法。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类