一、漏洞描述:

Jenkins存在未经身份验证的远程代码执行漏洞,经过序列化的Java SignedObject对象传输到基于远程处理的Jenkins CLI,在使用新的对象ObjectInputStream对其进行反序列化操作即可绕过现有的基于黑名单的保护机制。远程攻击者可利用漏洞在受影响的应用程序的上下文中执行任意代码,或造成程序拒绝服务。

二、影响版本:

Jenkins <= 2.56

Jenkins LTS <= 2.46.1

三、漏洞复现

1. 使用docker-compose命令拉取docker环境并创建容器。

2. 启动完成后可以成功访问,如图部署成功

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

4.将生成的字节码文件发给目标

5. 进入docker:docker-compose exec jenkins bash,发现/tmp/success被创建,说明命令执行漏洞利用成功

6. 使用 CVE-2017-1000353-SNAPSHOT-all.jar 生成执行反弹 shell 命令的字节码文件 jenkins_poc.ser

7.Kali开启监听,并把生成的反弹 shell 命令的字节码文件 jenkins_poc.ser 发送给目标

这里应该可以监听到,成功反弹shell,但好像机子出现了点问题监听不成功,,

四、修复建议

升级 Jenkins 到最新版本或打上相关补丁。

不要将 Jenkins 服务放至公网上使用,或只允许部分 IP 访问。

更多推荐