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
结果处理与分析
格式转换工具
-
nmap-converter:
- GitHub项目:https://github.com/mrschyte/nmap-converter
- 或使用
nmaptocsv
-
依赖安装:
pip install XlsxWriter pip install python-libnmap
XML转HTML
-
安装xsltproc:
# Debian/Ubuntu sudo apt-get install xsltproc # CentOS/RHEL sudo yum install libxslt -
转换命令:
# 基本转换 xsltproc -o test01.htm t.xml # 使用自定义模板 xsltproc -o test02.htm xslt模板.xsl test01.xml
总结与最佳实践
-
扫描策略:
- 根据网络环境调整扫描速度(
-T) - 合理设置超时参数避免长时间等待
- 使用
--open仅显示开放端口减少噪音
- 根据网络环境调整扫描速度(
-
资源管理:
- 控制并行主机数量(
--min-hostgroup) - 限制最大重试次数(
--max-retries) - 管理脚本并发数(
-M)
- 控制并行主机数量(
-
结果处理:
- 使用多种输出格式(
-oA) - 利用工具进行格式转换
- 考虑使用模板定制报告样式
- 使用多种输出格式(
-
合规性:
- 扫描前获取必要授权
- 避免使用破坏性脚本
- 控制扫描强度避免影响业务
通过合理组合这些技术,安全运营人员可以高效完成资产探测、漏洞验证和风险评估工作,为客户提供有价值的网络安全服务。