一. cs通訊介紹
在紅藍對抗中,防守方往往會有很多的設備審計流量。Cobalt Strike 服務端和客戶端是通過SSL加密通訊的(默認證書對cobaltstrike.store),默認情況下的SSL配置文件和代理配置文件導致keystore文件內容被用於防火牆識別及特征識別。並且默認配置的SSL證書對不是合法的無法使用HTTPS Beacon,實則HTTPS Beacon的流量還是明文的傳輸的
二. keystore介紹
2.1 keystore文件
keystore是java的密鑰庫,用來進行通信加密,如數字簽名。keystore就是用來保存密鑰對的,公鑰和私鑰。Keystore可理解為一個數據庫,可以存放很多個組數據。
每組數據主要包含以下兩種數據:
密鑰實體 --- 密鑰(secret key)又或者私鑰和配對公鑰(采用非對稱加密)
可信任的證書實體 --- 只包含公鑰
2.2 keytool生成證書對
Keytool是一個java數據證書的管理工具,Keytool可以將密鑰和證書存放在keystore的文件中,形成后綴為.store文件的證書對。
查看cs默認證書文件,:
keytool -list -v -keystore cobaltstrike.store
三. 生成合法證書
3.1 申請SSL證書
會生成一個TXT記錄,然后前往域名配置中去添加一條TXT記錄規則
注:TXT記錄,也可以稱之為SPF記錄。指為主機名或域名進行配置說明。一般常見於郵箱域名,是非常高效的垃圾郵件解決方案。接收方郵件方會首先檢查域名的SPF記錄,來確定發件人的IP地址是不是被包含在SPF記錄里面。
TXT記錄解析記錄配置成功后,可以使用nslookup命令檢測TXT配置是否成功
配置成功后,下載SSL證書文件
- 生成keystore文件
使用openssl將pem證書和key私鑰導出為P12格式的證書
openssl pkcs12 -export -in pem證書 -inkey key私鑰 -out p12文件 -name 域名 -passout pass:密碼
openssl pkcs12 -export -in full_chain.pem -inkey private.key -out baidu.p12 -name baidu.xyz -passout pass:123456
使用keytool生成store格式的證書對
keytool -importkeystore -deststorepass pass -destkeypass pass -destkeystore store文件 -srckeystore P12格式證書 -srcstoretype PKCS12 -srcstorepass pass -alias 域名
keytool -importkeystore -deststorepass mypass -destkeypass mypass -destkeystore baidu.store -srckeystore spoofdomain.p12 -srcstoretype PKCS12 -srcstorepass mypass -alias baidu.xyz
四. cs啟用合法證書
4.1 cs證書配置
cs啟動的時候會加載一個默認的配置文件,里面配置了證書文件,證書密碼,心跳時間等。配置文件中還可以自己修改特定的請求和響應,可以分析一些百度、谷歌這種網站的請求來修改,讓cs的通信在流量中看起來更像合法的請求。要在teamserver使用另外的keystore證書文件,還需要重新寫個配置文件(profile)引用證書。CS profile文件地址:https://github.com/rsmudge/Malleable-C2-Profiles/
https Beacon的證書配置如下:
https-certificate {
set keystore “store文件”;
set password “密碼”;
}
修改完成后,可以用自帶的c2lint檢查配置文件是否正確,只要不報錯就可以正常使用
最后還需要修改teamserver文件,把證書文件和密碼修改為自己生成的。也可以修改端口號,50050端口也是cs的特征
4.2 cs上線測試
全部修改完成后,使用命令啟動teamserver
./teamserver ip pass baidu.profile
啟動后創建監聽, HTTPS Hosts、HTTPS Host(Stager)、HTTPS Host Header字段都填入自己的域名,配置powershell上線,勾選Enable SSL選項
https監聽器:
利用script web模塊生成powershell payload
上線成功
直接訪問payload下載地址(web),瀏覽器標記證書有效,https協議傳輸
目標與服務端的通訊使用https協議傳輸
參考文檔
http://blog.leanote.com/post/snowming/6a724671de78
https://mp.weixin.qq.com/s/sYfvD0XQqi6BFw70_jrv5Q