首页/安全/漏洞与攻击面速查/NSE 脚本的防御视角使用
扫描与验证方法50 条

NSE 脚本的防御视角使用

NSE(nmap scripting engine)脚本可用于收集服务信息与安全检查(如 TLS 配置、HTTP 头),选用时优先 safe/discovery 类别,避免可能影响业务的 intrusive/dos 类脚本。

漏洞与攻击面速查安全更新于 2026-10-13

NSE 脚本是什么

NSE(nmap scripting engine)是 nmap 的脚本引擎,脚本按功能分为若干类别,可以完成服务信息收集、TLS 配置核查、HTTP 响应头检查等工作。对防御方来说,它最大的价值是低成本拿到一组可核验的配置事实;最大的风险是脚本影响面差异极大:safe 与 discovery 类基本只做读取,intrusive 甚至 dos 类可能改变目标状态或造成服务异常。选用脚本前必须看清它的类别。

基本信息

所属工具nmap(Linux / macOS / Windows 官方发行版)
脚本类别auth、broadcast、default、discovery、safe、intrusive、dos 等
默认脚本集nmap -sC 等价于 --script=default
查看方式nmap --script-help <脚本名> 查看说明与类别

典型使用场景

  • 例行核查 Web 服务安全响应头配置是否齐全
  • 核查 HTTPS 服务的协议与套件支持情况,识别仍支持旧协议的实例
  • 内网资产识别:读取服务标题与操作系统线索,辅助确认设备类型
  • 核查缓存类服务的公开信息,确认未开启认证时是否暴露版本
  • 扫描前查看脚本类别,确认不会触发告警风暴或改变目标状态

常用安全核查脚本

常用安全核查脚本
nmap --script http-title,http-headers -p 80,443 192.0.2.10
nmap --script ssl-enum-ciphers -p 443 example.com
nmap --script http-security-headers -p 443 example.com
nmap --script smb-os-discovery -p 445 192.0.2.20
nmap --script redis-info -p 6379 192.0.2.30
# 脚本影响面差异大,生产环境优先选 safe 与 discovery 类别

脚本信息查询

脚本信息查询
# 查看脚本类别与说明,确认影响面后再使用
nmap --script-help ssl-enum-ciphers

# 列出本机脚本库中的脚本文件
ls /usr/share/nmap/scripts/ | head

# 默认脚本集(等价于 --script=default)
nmap -sC -p 80,443 example.com

# 按类别执行:仅跑安全类别
nmap --script 'safe and discovery' -p 80,443 example.com

常用脚本与用途

脚本用途影响面
http-headers读取响应头,判断中间件与安全头低
http-security-headers核查安全响应头缺失项低
ssl-enum-ciphers枚举 TLS 协议与套件低,但连接次数较多
smb-os-discovery读取 SMB 服务与系统信息低
redis-info读取 Redis 基本信息低,需目标端口可达
先查脚本类别再执行,是使用 NSE 的基本纪律:--script-help 输出的类别字段直接说明脚本是否会修改目标或造成较大负载。
intrusive 类脚本可能修改目标状态或触发告警,生产环境使用前应先在测试环境评估,并在变更窗口内执行。

易错点

  • 在核心业务上直接跑 intrusive 类脚本,导致服务状态被改变或告警风暴
  • 未看脚本说明就批量执行:部分脚本会尝试默认口令登录,触发账号锁定策略
  • 把脚本输出当作最终结论:仍需与配置核查、日志比对交叉验证
  • 在业务高峰执行 TLS 套件枚举类脚本:连接次数多,对小规格设备造成额外压力

数据来源与参考

  • nmap 官方文档(NSE 脚本库)
  • nmap NSE 脚本文档(http-security-headers)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌