工具使用要点60 条

Metasploit 使用边界

Metasploit 的 auxiliary 模块可用于授权范围内的版本核对与配置检查;exploit 与会话相关能力默认不启用,确需验证须单独书面授权并隔离环境。

Metasploit 是什么

Metasploit Framework 是模块化的渗透测试平台,模块按用途分成 exploit、auxiliary、post、payload 等类别。评估中真正需要用到的是 auxiliary 部分的侦察与核对能力,例如服务版本识别、共享枚举、配置核查;exploit 与会话能力会改变目标状态,默认不启用,确需验证要走单独授权。

基本信息

运行环境Kali、Parrot 或独立安装,入口命令 msfconsole
可用模块auxiliary 类侦察与核对模块
默认禁用exploit / payload / 持久化 / 横向移动能力
使用前提书面授权、隔离环境、变更单与执行记录
记录要求模块名、参数、时间、目标与输出全部入档

典型使用场景

  • 服务版本核对:确认补丁状态,作为漏洞验证的辅助证据
  • 协议配置检查:SMB 签名、匿名访问等是否开启
  • 资产清点:批量识别端口对应服务与版本,补齐资产台账
  • 验证客户已知问题:对已被通报的配置缺陷做只读确认
  • 补测前核对:确认修复是否真正生效于目标版本

辅助模块使用示例

辅助模块使用示例
msfconsole -q                                            # 安静模式启动
msf6 > search type:auxiliary name:smb                    # 找侦察类模块
msf6 > use auxiliary/scanner/smb/smb_version             # 载入模块
msf6 > show options                                      # 看必填参数
msf6 > set RHOSTS 10.0.10.5                              # 限定单个目标
msf6 > set THREADS 1                                     # 控制并发,降低影响
msf6 > run                                               # 只读取版本信息

模块类别与可用性

类别作用本类评估是否可执行
auxiliary侦察、枚举、配置核对可用,限定目标与并发
exploit利用漏洞改变目标状态默认禁用,需单独授权
payload / post建立会话、后渗透动作禁用,常规评估不做
encoder / evasion规避检测禁用,超出评估范围
常规评估只输出可验证的配置与版本问题:不留会话、不做命令执行类动作;一次误用 exploit 可能直接改变生产状态。
模块版本要与目标服务匹配再看结果:旧版模块对新型服务常给出错误判断,结论前用其他手段交叉验证。

易错点

  • 顺手建立会话打开交互式命令环境:改变目标状态且涉嫌超授权;发现可用点只记录证据,不取值不做操作
  • 模块与目标不匹配导致服务异常:老服务被高并发扫描拖垮;先确认服务版本,限制 THREADS 并避开高峰
  • 不对 RHOSTS 做范围限定:误扫到客户范围外资产;执行前逐条核对 IP 清单
  • 执行日志缺失:客户追查告警来源时无法自证;开启日志并保存到项目目录

数据来源与参考

  • Rapid7 Metasploit 官方文档(模块分类)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌