menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right (CVE-2017-1000353)Jenkins-CI 远程代码执行漏洞 chevron_right (CVE-2017-1000353)Jenkins-CI 远程代码执行漏洞.md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    (CVE-2017-1000353)Jenkins-CI 远程代码执行漏洞.md
    1.76 KB / 2021-07-15 19:54:26
        (CVE-2017-1000353)Jenkins-CI 远程代码执行漏洞
    ===============================================
    
    一、漏洞简介
    ------------
    
    该漏洞存在于使用HTTP协议的双向通信通道的具体实现代码中,Jenkins利用此通道来接收命令,恶意攻击者可以构造恶意攻击参数远程执行命令,从而获取系统权限,造成数据泄露。
    
    二、漏洞影响
    ------------
    
    所有Jenkins主版本均受到影响(包括\<=2.56版本)所有Jenkins LTS 均受到影响( 包括\<=2.46.1版本)
    
    三、复现过程
    ------------
    
    ### 步骤一、生成序列化字符串
    
    参考<https://github.com/ianxtianxt/CVE-2017-1000353>,首先下载[CVE-2017-1000353-1.1-SNAPSHOT-all.jar](https://github.com/ianxtianxt/CVE-2017-1000353/releases/download/1.1/CVE-2017-1000353-1.1-SNAPSHOT-all.jar),这是生成POC的工具。
    
    执行下面命令,生成字节码文件:
    
        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](https://github.com/ianxtianxt/CVE-2017-1000353/blob/master/exploit.py),python3执行`python exploit.py http://www.0-sec.org:8080 jenkins_poc.ser`,将刚才生成的字节码文件发送给目标:
    
    ![1.jpg](./resource/(CVE-2017-1000353)Jenkins-CI远程代码执行漏洞/media/rId29.jpg)
    
    进入docker,发现`/tmp/success`成功被创建,说明命令执行漏洞利用成功:
    
    ![2.jpg](./resource/(CVE-2017-1000353)Jenkins-CI远程代码执行漏洞/media/rId30.jpg)
    
    参考链接
    --------
    
    > https://vulhub.org/\#/environments/jenkins/CVE-2017-1000353/
    
    
    links
    file_download