章节摘要:接口(msfconsole/Armitage/msfvenom)、模块树、数据库集成。动手配置
msfdb init后再做扫描。
msfdb init 数据库初始化,会用 db_status、db_nmap、hosts、services第 1 章讲清了"为什么这么设计",本章回答"由哪些零件组成、怎么把它跑起来"。Metasploit 是一座复杂的机器,但对外只有少数几个入口:控制台、载荷生成器、图形界面、RPC 服务。掌握这些入口的职责边界,是避免"在错误的地方找功能"的关键。
db_nmap 把扫描结果变数据库资产因为四种接口服务四种不同场景:
| 接口 | 场景 | 关键命令/用法 |
|---|---|---|
| msfconsole | 日常交互、模块编排 | search use set run |
| msfvenom | 生成独立的 payload 文件 | -p payload LHOST=... LPORT=... -f exe |
| Armitage | 图形化多主机管理 | 点击式操作、拓扑视图 |
| msfrpcd | 自动化与团队协作 | MessagePack-RPC 协议 |
其中 msfconsole 是主线,msfvenom 是"生产零件"的工厂,两者都值得重点掌握。
# 完成 2.3 后,你应当能看到以下输出 msfdb init # [*] database already started # [+] Creating database user 'msf' # [+] Creating databases 'msf' msfconsole -q db_status # [*] postgresql connected to msf db_nmap -sV 192.168.56.0/24 hosts # 地址 活跃 端口 操作系统 服务 # 192.168.56.10 是 445 Windows SMB services # host port proto name state info
db_status 显示 postgresql connected、hosts 能列出扫描到的主机,说明数据库链路已打通。之后的扫描、漏洞映射都会自动落库。
exploit/windows/smb/ms17_010_eternalblue │ │ └── 具体模块名(CVE 相关) │ └── 服务类型 └── 平台(这里指 Windows) payload/windows/meterpreter/reverse_tcp └── staged meterpreter:先发小 stager,再下载完整 DLL
路径 = 类型/平台/服务/名称。看到路径就能推测模块能力,看到 rank(excellent/good/manual)就能估成功率。
| 概念 | 出现在 2.x | 后续将用到 |
|---|---|---|
| msfconsole 基础命令 | 2.1 | 第 3 章所有工作流 |
| msfvenom 载荷生成 | 2.1 | 5.2 自动化、5.3 免杀 |
| 模块分类与 staged payload | 2.2 | 3.2 渗透实施 |
| db_nmap / workspace | 2.3 | 3.1 信息收集 |
⚠️ 环境提醒:
msfdb init在 Kali 上是一行命令,但如果你手动装框架,PostgreSQL 可能需要单独启动。每次进 console 先db_status,确认数据库在线再干活。
💡 学习提示:本章结束前,请亲手完成一次
msfdb init+db_nmap+services。数据库"连上"与"没连上",后续章节的体验完全不同。