chirayupalandurkar07-eng/nmap-scan-detection
GitHub: chirayupalandurkar07-eng/nmap-scan-detection
该报告在数据包级别分析了五种 Nmap 扫描类型的指纹特征,编写并测试了对应的 Suricata 检测规则,同时记录了低流量 ACK 扫描的检测盲区。
Stars: 0 | Forks: 0
# Nmap 扫描检测与规避分析
**分析师:** Chirayu Mahendra Palandurkar
**日期:** 2026 年 6 月 18 日
**报告 ID:** SDR-2026-0618-001
**工具:** Nmap 7.99 · Wireshark 4.6.6 · Suricata 8.0.5
**实验室环境:** VirtualBox — NAT Network (Kali + Debian)
**PCAP 来源:** [Wireshark 示例捕获 — NMap-Captures.zip](https://gitlab.com/wireshark/wireshark/-/wikis/SampleCaptures)
## 概述
在 Wireshark 中在数据包级别识别了 5 种 Nmap 扫描类型,
并构建了 3 条 Suricata 检测规则,针对真实的 Nmap
PCAP 进行了测试。记录了针对低流量 ACK 扫描的检测盲区。
## 分析的扫描类型
| 扫描类型 | 标志特征 | Wireshark 过滤器 | 可检测性 |
|------|---------------|-----------------|------------|
| SYN (-sS) | 仅 SYN | `tcp.flags.syn==1 and tcp.flags.ack==0` | ✅ 是 |
| FIN (-sF) | 仅 FIN | `tcp.flags.fin==1 and tcp.flags.syn==0` | ✅ 是 |
| NULL (-sN) | 无标志 | `tcp.flags==0` | ✅ 是 |
| Xmas (-sX) | FIN+PSH+URG | `tcp.flags.fin==1 and tcp.flags.push==1 and tcp.flags.urg==1` | ✅ 是 |
| Decoy (-sS -D) | 混合源 | 需要关联分析 | ⚠️ 困难 |
## Suricata 检测规则
## 检测结果
| PCAP | 数据包 | 触发规则 | 结果 |
|------|---------|------------|--------|
| nmap_standard_scan | 2,004 | SID 9000001 | ✅ 已检测 |
| nmap_OS_scan | 2,056 | SID 9000001 + 9000003 + 9000002 | ✅ 已检测 |
| nmap_ACK_scan_on_port_80 | 6 | 无 | ⚠️ 已规避 |
## 检测盲区
针对单个端口(6 个数据包)的纯 ACK 扫描
规避了所有基于阈值的规则。低流量针对性
扫描需要在更长的时间窗口内进行**状态检测(stateful detection)**——而不仅仅是数据包计数。
这是许多生产级 SOC 环境中已知的盲区。
## MITRE ATT&CK 映射
## | 技术 ID | 名称 |
|---|---|
| T1595.001 | 主动扫描:扫描 IP 块 |
| T1595.002 | 主动扫描:漏洞扫描 |
| T1046 | 网络服务发现 |
## 法律声明
所有扫描活动均在隔离的 VirtualBox
实验室环境中进行,仅供教育目的。PCAP 文件
来源于 Wireshark 公共示例捕获库。
标签:CTI, Metaprompt, Suricata, Wireshark, 主机安全, 云存储安全, 句柄查看, 插件系统, 现代安全运营, 网络安全, 网络扫描, 隐私保护