方法一、直接編輯teamserver進行啟動項修改。
vi teamserver
方法二、啟動時候指定server_port
java -XX:ParallelGCThreads=4 -Duser.language=en -Dcobaltstrike.server_port=50505 -Djavax.net.ssl.keyStore=./cobaltstrike.store -Djavax.net.ssl.keyStorePassword=123456 -server -XX:+AggressiveHeap -XX:+UseParallelGC -Xmx1024m -classpath ./cobaltstrike.jar server.TeamServer xxx.xxx.xx.xx test google.profile
(1)進入CS目錄
查看keytool -list -v -keystore cobaltstrike.store 證書情況,輸入默認密碼123456回車,可以看到所有者、發布者中Cobalt Strike相關字樣。
(2)然后修改 keytool
keytool是一個Java 數據證書的管理工具,使用如下:
-keytool -keystore cobaltstrike.store -storepass 密碼
-keypass 密碼
-genkey -keyalg RSA
-alias google.com -dname “CN=(名字與姓氏),
OU=(組織單位名稱), O=(組織名稱),
L=(城市或區域名稱),
ST=(州或省份名稱),
C=(單位的兩字母國家代碼)。
keytool -keystore cobaltstrike.store -storepass 123456 -keypass 123456 -genkey -keyalg RSA -alias taobao.com -dname “CN=US, OU=”taobao.com“, O=“Sofatest”, L=Beijing, ST=Cyberspace, C=CN”
然后 在觀測keytool。
這時發現所以關于cobaltstrike的字眼都被替換掉了。
(1)高信譽服務偽造
傳輸過程中,把流量偽造成高信譽的網站,比如Google 、bing等 。
現在的大多數硬件WAF防護設備都能檢測出來CS的流量特征,所以我們必須要修改CS的流量特征,CS的流量由malleable C2配置來掌控的,所以我們需要定向去配置這個C2。
Malleable C2 是一種特定領域的語言,主要用來控制“Cobalt Strike Beacon”攻擊載荷中的網絡指針。
去配置之前先了解下有關Beacon的通信基礎:
從Cobalt Strike 3.6版開始,可以將HTTP動詞從POST更改為GET。Beacon忽略了此POST請求(配置文件中的http-post服務器)的響應。默認情況下,Beacon將HTTP POST請求用于上述步驟#3和#4。根據您的目標環境或您正在模擬的流量,可能會注意到交替的GET和POST請求。在這種情況下,請將http-post部分的動詞設置為GET。
Beacon與teamserver端c2的通信邏輯:
1.stager的beacon會先下載完整的payload執行
2.beacon進入睡眠狀態,結束睡眠狀態后用 http-get方式 發送一個metadata(具體發送細節可以在malleable_profie文件里的http-get模塊進行自定義),metadata內容大概是目標系統的版本,當前用戶等信息給teamserver端 。
3.如果存在待執行的任務,則teamserver上的c2會響應這個metadata發布命令。beacon將會收到具體會話內容與一個任務id。
4.執行完畢后beacon將回顯數據與任務id用post方式發送回team server端的C2(細節可以在malleable_profile文件中的http-post部分進行自定義),然后又會回到睡眠狀態。
許多 Beacon 指標由一個 C2 拓展文件控制。一個 C2 拓展文件由設置和數據轉換組成。數據轉換是一 個簡單的程序,它指定如何轉換數據并將其存儲在事務中。轉換和存儲數據的同一程序,向后解釋,還從事務中提取和恢復數據。
回答所涉及的環境:聯想天逸510S、Windows 10。
1.更改默認端口
方法一、直接編輯teamserver進行啟動項修改。
方法二、啟動時候指定server_port
2.去除證書特征
(1)進入CS目錄
查看keytool -list -v -keystore cobaltstrike.store 證書情況,輸入默認密碼123456回車,可以看到所有者、發布者中Cobalt Strike相關字樣。
(2)然后修改 keytool
keytool是一個Java 數據證書的管理工具,使用如下:
-keytool -keystore cobaltstrike.store -storepass 密碼
-keypass 密碼
-genkey -keyalg RSA
-alias google.com -dname “CN=(名字與姓氏),
OU=(組織單位名稱), O=(組織名稱),
L=(城市或區域名稱),
ST=(州或省份名稱),
C=(單位的兩字母國家代碼)。
keytool -keystore cobaltstrike.store -storepass 123456 -keypass 123456 -genkey -keyalg RSA -alias taobao.com -dname “CN=US, OU=”taobao.com“, O=“Sofatest”, L=Beijing, ST=Cyberspace, C=CN”
然后 在觀測keytool。
這時發現所以關于cobaltstrike的字眼都被替換掉了。
3.繞過流量審計
(1)高信譽服務偽造
傳輸過程中,把流量偽造成高信譽的網站,比如Google 、bing等 。
現在的大多數硬件WAF防護設備都能檢測出來CS的流量特征,所以我們必須要修改CS的流量特征,CS的流量由malleable C2配置來掌控的,所以我們需要定向去配置這個C2。
Malleable C2 是一種特定領域的語言,主要用來控制“Cobalt Strike Beacon”攻擊載荷中的網絡指針。
去配置之前先了解下有關Beacon的通信基礎:
從Cobalt Strike 3.6版開始,可以將HTTP動詞從POST更改為GET。Beacon忽略了此POST請求(配置文件中的http-post服務器)的響應。默認情況下,Beacon將HTTP POST請求用于上述步驟#3和#4。根據您的目標環境或您正在模擬的流量,可能會注意到交替的GET和POST請求。在這種情況下,請將http-post部分的動詞設置為GET。
Beacon與teamserver端c2的通信邏輯:
1.stager的beacon會先下載完整的payload執行
2.beacon進入睡眠狀態,結束睡眠狀態后用 http-get方式 發送一個metadata(具體發送細節可以在malleable_profie文件里的http-get模塊進行自定義),metadata內容大概是目標系統的版本,當前用戶等信息給teamserver端 。
3.如果存在待執行的任務,則teamserver上的c2會響應這個metadata發布命令。beacon將會收到具體會話內容與一個任務id。
4.執行完畢后beacon將回顯數據與任務id用post方式發送回team server端的C2(細節可以在malleable_profile文件中的http-post部分進行自定義),然后又會回到睡眠狀態。
許多 Beacon 指標由一個 C2 拓展文件控制。一個 C2 拓展文件由設置和數據轉換組成。數據轉換是一 個簡單的程序,它指定如何轉換數據并將其存儲在事務中。轉換和存儲數據的同一程序,向后解釋,還從事務中提取和恢復數據。
回答所涉及的環境:聯想天逸510S、Windows 10。