如何正确选择nmap扫描类型以避开防火墙检测?

19 人参与

渗透测试或红队演练中,nmap 的扫描方式往往是第一道“隐形盾”。如果防火墙把握住了扫描特征,日志立即暴露,后续的横向移动便会被阻断。选择恰当的扫描类型,就是在“不被看见”的前提下获取端口信息的关键。

防火墙的检测手段

典型的防火墙会结合状态检测(stateful inspection)和包过滤规则,对 SYN、ACK、FIN 等标志位进行匹配;入侵检测系统(IDS)则会捕获异常流量模式,例如短时间内的大批 SYN 包或异常的 TCP 标志组合。部分高阶设备还能基于流速(rate‑limit)或异常 ICMP 报文触发告警。

选择扫描类型的核心指标

决定使用何种扫描方式时,需要衡量以下维度:

  • 是否拥有 root 权限(原始报文构造需要)
  • 目标防火墙的规则倾向(阻断 SYN、允许 ACK 等)
  • 对检测时间窗口的容忍度(T0‑T5 速度调节)
  • 是否需要保持与目标的“合法”会话(如需要后续漏洞利用

在满足这些条件的前提下,常用的隐蔽扫描有:

  • -sS(半开 SYN):仅发送 SYN,收到 SYN/ACK 即判断端口开放,未收到返回则视为过滤或关闭。对大多数状态防火墙极具隐蔽性。
  • -sA(ACK 探测):利用防火墙对 ACK 包的宽容度,判断端口是 filtered 还是 unfiltered,常配合 -p 80 伪装为普通 Web 流量。
  • -sF-sX-sN(FIN / Xmas / Null):发送异常标志的 TCP 包,许多过滤器只在 SYN 包上有规则,因而能绕过。
  • -sU(UDP)配合 -f(碎片):将 UDP 报文切成碎片,部分防火墙在重组前直接丢弃,降低被捕获概率。

真实案例解读

一次内部渗透任务中,目标使用 Cisco ASA,默认阻断所有入站 SYN 包但允许来自内部的 ACK 流量。团队先用 nmap -sA -p 22,80,443 -T2 --source-port 53 10.20.30.0/24 进行 ACK 探测,成功标记出开放的 443 端口。随后对该端口执行 -sS -f -T1 的碎片 SYN 扫描,进一步确认服务版本,而不会触发 ASA 的速率阈值报警。整个过程的日志只留下了几条看似合法的 DNS 查询记录。

进阶技巧

除了选择合适的扫描类型,还可以通过以下手段进一步降低曝光:

  • 使用 -g 将源端口伪装成常见服务(53、80),让防火墙误判为合法流量。
  • 组合 -D 诱饵 IP,将真实扫描流量隐藏在多条噪声流中。
  • 调低 -T 等级(如 -T1)并配合 --scan-delay,让每个探测间隔数秒,避免速率检测。

把这些思路写进脚本,观察日志的变化。

参与讨论

19 条评论
  • 孤城绝恋

    这玩意儿太坑,碎片扫描速度慢。

    回复
  • 影影誓言

    ACK探测在linux上会不会被内核拦截?

    回复
  • Misty River

    我之前用 -sA -p 80 直接绕过了公司防火墙。

    回复
  • Moonlit Scholar

    看到那段ASA案例,我笑到差点喷咖啡,防火墙只给了几条DNS日志,真是太惊喜了。

    回复
  • 旧书店里

    碎片+低速真的管用 😊

    回复
  • 黑豹特查拉

    那如果目标只放行53端口,怎么伪装更隐蔽?

    回复
  • 萌萌小熊

    别忘了加 –max-retries 1,配合 –scan-delay 3s,能把重试次数降到最低,进一步降低被捕获的概率。

    回复
  • 星际过客

    我倒是觉得FIN扫在新防火墙上也会被检测。

    回复
  • 狂刃风暴

    作者的脚本超实用,已经收藏。

    回复
  • 星河摆渡

    哈哈,这种隐蔽手段在CTF里直接刷分,尤其是用 -D 诱饵IP配合碎片,防御方根本看不见流量。

    回复
  • 甜美的梦境

    我上次在内部渗透时,用 -sX 配合 -g 53,日志只有几条DNS查询,真是惊喜,防火墙完全没报警。

    回复
  • 咸鱼翻身大师

    这篇真把细节讲到位。

    回复
  • Crimsonflame

    这招真的狠,半开SYN几乎不留痕。

    回复
  • 孤舟夜渡

    写得太技术化,普通小白直接懵。

    回复
  • 深渊旅者

    我只是路过,看着这些参数眼花缭乱。

    回复
  • 甜筒筒

    ACK扫描挺适合内部环境

    回复
    1. 静听风声

      @ 甜筒筒 内部用确实挺顺手

      回复
  • 雾面心

    伪装成DNS这招有点东西

    回复
  • BarkleyJones

    FIN和Xmas扫描实战效果咋样?

    回复