IDS/IPS Evasion Techniques
Tip
学习和实践 AWS 黑客技术:
HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
TTL Manipulation
发送一些具有足够 TTL 能到达 IDS/IPS 但不足以到达最终系统的数据包。然后再发送另一批具有相同序列的包,使 IPS/IDS 认为它们是重复的并不会检查,但实际上它们携带恶意内容。
Nmap 选项: --ttlvalue <value>
Avoiding signatures
只需在数据包中添加垃圾数据,以绕过 IPS/IDS 的签名检测。
Nmap 选项: --data-length 25
Fragmented Packets
对数据包进行分片并发送即可。如果 IDS/IPS 无法重组它们,它们将到达最终主机。
Nmap 选项: -f
Invalid checksum
传感器通常为性能原因不会计算校验和。因此攻击者可以发送一个包,传感器会解释它但最终主机会拒绝它。示例:
发送一个带有 RST 标志且校验和无效的包,这样 IPS/IDS 可能认为该包将关闭连接,但最终主机会因校验和无效而丢弃该包。
Uncommon IP and TCP options
传感器可能会忽略在 IP 和 TCP 头中设置了特定标志或选项的数据包,而目标主机在接收时会接受该包。
Overlapping
在对数据包进行分片时,分片之间可能会存在重叠(例如 packet 2 的前 8 个字节与 packet 1 的后 8 个字节重叠,packet 2 的后 8 个字节又与 packet 3 的前 8 个字节重叠)。如果 IDS/IPS 对它们的重组方式与最终主机不同,就会被解释为不同的数据包。
或者,两个具有相同 offset 的数据包同时到达,主机必须决定采用哪一个。
- BSD: 偏好具有较小 offset 的数据包。对于相同 offset 的包,选择第一个。
- Linux: 与 BSD 类似,但偏好相同 offset 中的最后一个包。
- First (Windows): 先到者为准。
- Last (cisco): 后到者为准。
TCP Stream Overlap / Reassembly Mismatch
像 IP 分片一样,重叠的 TCP 段 可能会被 IDS/IPS 和目标主机以不同方式重组。如果传感器和主机在重叠部分的 哪一字节生效 上存在分歧,你可以在 IDS/IPS 查看的位置放置良性字节,而在主机最终重组的位置放置恶意字节。
- 先发送一个良性段,然后再发送一个恶意重叠段(或根据目标 OS 的重组策略颠倒顺序)。
- 使用微小重叠以在对主机保持流有效的同时最大化对传感器的歧义。
IPv6 Extension Headers & Fragment Tricks
IPv6 允许 任意的头链,上层(TCP/UDP/ICMPv6)头出现在所有扩展头之后。如果设备没有解析完整链条,可以通过插入扩展头或通过分片使上层头在设备期望的位置不可见来绕过检测。RFC 7112 要求整个 IPv6 头链出现在第一个分片中;接受非规范小分片的设备可以通过将 L4 头推到后续分片来被规避。
实用模式:
- 长扩展头链,将上层头推得更深。
- 小的第一分片,仅包含 IPv6 + Fragment + options,将 L4 头留到后续分片。
- 组合 extension headers + fragmentation,对只检查第一个分片的设备隐藏真实的上层协议。
Tools
References
Tip
学习和实践 AWS 黑客技术:
HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。


