Nmap之运营
字数 1311 2025-08-15 21:31:40

Nmap运营实战指南

背景与概述

随着网络安全行业的发展,企业安全运营需求日益增长。许多企业自身安全能力有限,需要依赖第三方安全服务人员进行安全运营工作。Nmap作为网络探测和安全审计的利器,在安全运营中扮演着重要角色,可用于:

  • 漏洞检测与验证
  • 资产存活确认
  • 端口与服务扫描
  • 弱口令检测
  • 结果分析与报告生成

高效扫描技术

基础存活扫描

nmap -T4 -n -V –sn -iL ip.txt -oN live_host.txt

参数说明

  • -T4:设置扫描速度为4级(0-5,数字越大越快)
  • -n:禁止DNS反向解析,加快扫描速度
  • -V:显示详细输出
  • –sn:仅进行主机发现(Ping扫描),不扫描端口
  • -iL:从文件读取IP列表
  • -oN:将结果输出到普通文本文件

注意事项

  • -sn-sP的区别:-sP无法检测防火墙禁Ping的主机,而-sn可以
  • 防火墙禁Ping时,可使用-P0-PS-PA-PU等参数

优化端口扫描

nmap -T4 -n –v --top-ports "1000" –max-retries 3 --min-hostgroup 100 --host-timeout 18000ms --max-rtt-timeout 500ms --open -iL ip.txt -oA openport_result

关键参数

  • --top-ports "1000":扫描最常见的1000个端口
  • --max-retries 3:设置最大重试次数为3
  • --min-hostgroup 100:设置并行扫描的最小主机组大小为100
  • --host-timeout 18000ms:设置单主机超时时间为18秒
  • --max-rtt-timeout 500ms:设置最大往返时间超时为500毫秒
  • --open:仅显示开放端口
  • -oA:输出所有格式(普通文本、XML、grepable)

版本注意

  • 旧版Nmap默认单位为毫秒
  • Nmap 7.80+版本默认单位为秒,需显式添加ms后缀

指定服务扫描

HTTP服务扫描

nmap -T4 –n –v –p http* --max-retries 3 –min-hostgroup 30 –host-timeout 18000ms –open –iL ip.txt –oA httpport_result

漏洞扫描技术

综合漏洞扫描

nmap -v -n -Pn --script=vuln -T4 --open -M 5 -iL ip.txt -oN vuln_scan_result.txt

参数说明

  • --script=vuln:使用所有漏洞检测脚本
  • -M 5:设置最大并行脚本执行数为5

指定漏洞类型扫描

SMB漏洞扫描

nmap -T4 -n -v –script=smb* --max-retries 3 --open -iL ip.txt -oA smbvuln_result

弱口令检测技术

通用弱口令检测框架

nmap -sT -p 目标应用端口 -v -n -Pn --script=弱口令扫描脚本 --script-args userdb=用户名字典,passdb=弱口令字典 -iL ip.txt -oN result.txt

常见服务弱口令检测

FTP弱口令

nmap -sT -p 21 -v -n -Pn --script=ftp-brute --script-args userdb=users.txt,passdb=passwords.txt -iL ip.txt -oN ftp_result.txt

Windows SMB弱口令

nmap -v -n -sT -d --script=smb-brute.nse --script-args userdb=smb_user.dic,passdb=week.txt -p 445,139 -oN res.txt -iL ip.txt

SQL Server弱口令

nmap –v –n -sT –script ms-sql-brute.nse –script-args userdb=conf\mssql_user.dic,passdb=conf\weekpassword.txt -p 1433 -oN result\mssql_result.txt -iL ip.txt

执行SQL命令

nmap –script ms-sql-xp-cmdshell –script-args mssql.username=sa,mssql.password=password,ms-sql-xp-cmdshell.cmd="net users" IP

信息收集技术

WHOIS解析

nmap --script external www.baidu.com

Web目录扫描

nmap -p 80,443 --script=http-enum.nse www.baidu.com

结果处理与分析

格式转换工具

  1. nmap-converter

    • GitHub项目:https://github.com/mrschyte/nmap-converter
    • 或使用nmaptocsv
  2. 依赖安装

    pip install XlsxWriter
    pip install python-libnmap
    

XML转HTML

  1. 安装xsltproc

    # Debian/Ubuntu
    sudo apt-get install xsltproc
    
    # CentOS/RHEL
    sudo yum install libxslt
    
  2. 转换命令

    # 基本转换
    xsltproc -o test01.htm t.xml
    
    # 使用自定义模板
    xsltproc -o test02.htm xslt模板.xsl test01.xml
    

总结与最佳实践

  1. 扫描策略

    • 根据网络环境调整扫描速度(-T)
    • 合理设置超时参数避免长时间等待
    • 使用--open仅显示开放端口减少噪音
  2. 资源管理

    • 控制并行主机数量(--min-hostgroup)
    • 限制最大重试次数(--max-retries)
    • 管理脚本并发数(-M)
  3. 结果处理

    • 使用多种输出格式(-oA)
    • 利用工具进行格式转换
    • 考虑使用模板定制报告样式
  4. 合规性

    • 扫描前获取必要授权
    • 避免使用破坏性脚本
    • 控制扫描强度避免影响业务

通过合理组合这些技术,安全运营人员可以高效完成资产探测、漏洞验证和风险评估工作,为客户提供有价值的网络安全服务。

Nmap运营实战指南 背景与概述 随着网络安全行业的发展,企业安全运营需求日益增长。许多企业自身安全能力有限,需要依赖第三方安全服务人员进行安全运营工作。Nmap作为网络探测和安全审计的利器,在安全运营中扮演着重要角色,可用于: 漏洞检测与验证 资产存活确认 端口与服务扫描 弱口令检测 结果分析与报告生成 高效扫描技术 基础存活扫描 参数说明 : -T4 :设置扫描速度为4级(0-5,数字越大越快) -n :禁止DNS反向解析,加快扫描速度 -V :显示详细输出 –sn :仅进行主机发现(Ping扫描),不扫描端口 -iL :从文件读取IP列表 -oN :将结果输出到普通文本文件 注意事项 : -sn 与 -sP 的区别: -sP 无法检测防火墙禁Ping的主机,而 -sn 可以 防火墙禁Ping时,可使用 -P0 、 -PS 、 -PA 、 -PU 等参数 优化端口扫描 关键参数 : --top-ports "1000" :扫描最常见的1000个端口 --max-retries 3 :设置最大重试次数为3 --min-hostgroup 100 :设置并行扫描的最小主机组大小为100 --host-timeout 18000ms :设置单主机超时时间为18秒 --max-rtt-timeout 500ms :设置最大往返时间超时为500毫秒 --open :仅显示开放端口 -oA :输出所有格式(普通文本、XML、grepable) 版本注意 : 旧版Nmap默认单位为毫秒 Nmap 7.80+版本默认单位为秒,需显式添加 ms 后缀 指定服务扫描 HTTP服务扫描 : 漏洞扫描技术 综合漏洞扫描 参数说明 : --script=vuln :使用所有漏洞检测脚本 -M 5 :设置最大并行脚本执行数为5 指定漏洞类型扫描 SMB漏洞扫描 : 弱口令检测技术 通用弱口令检测框架 常见服务弱口令检测 FTP弱口令 : Windows SMB弱口令 : SQL Server弱口令 : 执行SQL命令 : 信息收集技术 WHOIS解析 Web目录扫描 结果处理与分析 格式转换工具 nmap-converter : GitHub项目:https://github.com/mrschyte/nmap-converter 或使用 nmaptocsv 依赖安装 : XML转HTML 安装xsltproc : 转换命令 : 总结与最佳实践 扫描策略 : 根据网络环境调整扫描速度( -T ) 合理设置超时参数避免长时间等待 使用 --open 仅显示开放端口减少噪音 资源管理 : 控制并行主机数量( --min-hostgroup ) 限制最大重试次数( --max-retries ) 管理脚本并发数( -M ) 结果处理 : 使用多种输出格式( -oA ) 利用工具进行格式转换 考虑使用模板定制报告样式 合规性 : 扫描前获取必要授权 避免使用破坏性脚本 控制扫描强度避免影响业务 通过合理组合这些技术,安全运营人员可以高效完成资产探测、漏洞验证和风险评估工作,为客户提供有价值的网络安全服务。