一、Nmap 脚本扫描
Nmap 脚本引擎(NSE)支持通过脚本扩展功能,实现漏洞检测、服务枚举、暴力破解等高级操作。
1. 脚本分类与使用
脚本类别 | 功能 | 典型脚本示例 |
vuln | 检测常见漏洞(如 CVE 漏洞) | http-vuln-cve2017-5638(检测 Apache Struts 漏洞) |
auth | 处理鉴权绕过(如 HTTP 基础认证绕过) | http-auth |
brute | 暴力破解(SSH、MySQL、SMB 等) | smb-brute |
discovery | 网络发现(SMB 枚举、SNMP 查询) | smb-os-discovery |
http | HTTP 服务检测(目录枚举、标题提取) | http-enum, http-title |
2. 常用命令示例
- 漏洞扫描:
nmap --script=vuln 192.168.1.1 # 检测目标主机常见漏洞
nmap --script=http-vuln-cve2017-5638 -p 80 # 检测特定 CVE 漏洞
- 服务枚举:
nmap --script=smb-os-discovery -p 445 192.168.1.4 # 获取 SMB 服务信息
- 暴力破解:
nmap --script=mysql-brute -p 3306 --script-args=userdb=/usr/share/nmap/scripts/mysql-users.txt # MySQL 暴力破解
3. 实战案例
场景:检测 Web 服务器敏感目录
nmap -p 80 --script=http-enum 192.168.1.10 # 输出示例:
# /admin/: Possible admin folder
# /config/: Potentially interesting directory
输出结果:
Starting Nmap 7.94 ( https://nmap.org ) at 2025-08-04 10:00 UTC
Nmap scan report for 192.168.1.10
Host is up (0.001s latency).
PORT STATE SERVICE
80/tcp open http
| http-enum:
| /admin/: Possible admin folder
| /config/: Potentially interesting directory
| /docs/: Potentially interesting directory
|_ /robots.txt: Robots file
二、Web 漏洞扫描工具
Web 漏洞扫描工具专注于检测 Web 应用程序的安全漏洞,如 SQL 注入、XSS、文件包含等。
1. 开源工具
工具 | 功能 | 特点 |
OWASP ZAP | 自动化扫描 SQL/XSS/CSRF 等漏洞,支持主动/被动扫描 | 集成于 Kali Linux,提供 API 接口 |
Nikto | 检测 Web 服务器配置错误、过时软件、危险文件 | 快速扫描,支持自定义测试策略 |
sqlmap | 自动化 SQL 注入检测与利用 | 支持多种数据库(MySQL/Oracle/PostgreSQL 等) |
示例命令:
zap-cli quick-scan --spider --ajax-spider --scanners all http://example.com # OWASP ZAP 快速扫描
nikto -h http://192.168.1.10 -p 80 # Nikto 扫描 Web 服务
sqlmap -u " http://example.com/?id=1 " --dbs # 检测 SQL 注入并获取数据库列表
2. 商业工具
工具 | 功能 | 特点 |
Burp Suite | 漏洞扫描、爬虫、中间人攻击 | 支持插件扩展,适合深度渗透测试 |
AppScan | 自动化漏洞扫描(OWASP Top 10、PCI DSS 等) | 提供修复建议,支持大型企业级应用 |
3. 实战技巧
- 精准扫描:结合 Nmap 端口扫描结果,仅对开放端口进行漏洞检测:
nmap -sV -p 80,443 192.168.1.10 --script=http-vuln* # 仅扫描 HTTP 服务漏洞
- 绕过防护:使用 --scan-delay 控制扫描速度,避免触发 WAF:
nmap --script=http-slowloris --max-parallelism 100 192.168.1.10 # 低速 DDoS 检测
- 伪装 User-Agent:
nmap --script=http-useragent "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1)" 192.168.1.10
三、工具协同与工作流
- 资产发现:
nmap -sn 192.168.1.0/24 # 发现存活主机
nmap -sV -p- 192.168.1.10 # 扫描目标主机开放端口及服务
- 漏洞扫描:
zap-cli start --spider --ajax-spider http://192.168.1.10 # OWASP ZAP 主动扫描
sqlmap -u " http://192.168.1.10/login.php?id=1 " --batch # SQL 注入自动化检测
- 报告生成:
zap-cli report -o report.html -f html # 生成 OWASP ZAP HTML 报告
四、注意事项
- 合法授权:所有扫描需获得书面授权,避免触犯《网络安全法》。
- 误报处理:结合人工验证(如手动测试 SQL 注入点)。使用 --verify 参数重新验证可疑漏洞。
- 性能优化:调整并发数:--min-parallelism 100 --max-parallelism 500限制扫描范围:--exclude 192.168.1.1
五、总结
- Nmap 脚本扫描:适合快速探测服务漏洞、枚举目录/用户,需结合脚本分类(如 vuln/http)灵活调用。
- Web 漏洞扫描工具:OWASP ZAP 适合自动化测试,sqlmap 适合深度 SQL 注入利用,Burp Suite 适合人工渗透测试。
推荐组合方案:
# 标准渗透测试流程
nmap -sV -p- 192.168.1.10 --script=default,vuln # 基础扫描
zap-cli quick-scan --self-contained http://192.168.1.10 # Web 漏洞扫描
sqlmap -u " http://192.168.1.10/vulnerable.php?id=1 " --dbs # SQL 注入验证
通过合理选择工具与策略,可高效完成网络资产测绘与漏洞挖掘,为安全加固提供数据支撑!