IDS and IPS Evasion
TTL 操纵
发送一些 TTL 足以到达 IDS/IPS 的数据包,但不足以到达最终系统。然后,发送另一些具有与其他数据包相同序列的数据包,这样 IPS/IDS 将认为它们是重复的并不会检查它们,但实际上它们携带了恶意内容。
Nmap 选项: --ttlvalue <value>
避免签名
只需向数据包添加垃圾数据,以避免 IPS/IDS 签名。
Nmap 选项: --data-length 25
分段数据包
只需分段数据包并发送它们。如果 IDS/IPS 无法重新组装它们,它们将到达最终主机。
Nmap 选项: -f
无效 校验和
传感器通常不会计算校验和以提高性能。因此,攻击者可以发送一个数据包,该数据包将被传感器解释但被最终主机拒绝。例如:
发送一个带有 RST 标志和无效校验和的数据包,因此,IPS/IDS 可能会认为此数据包将关闭连接,但最终主机将丢弃该数据包,因为校验和无效。
不常见的 IP 和 TCP 选项
传感器可能会忽略在 IP 和 TCP 标头中设置的某些标志和选项的数据包,而目标主机在接收后接受该数据包。
重叠
当您分段数据包时,可能存在某种重叠(也许数据包 2 的前 8 个字节与数据包 1 的最后 8 个字节重叠,数据包 2 的最后 8 个字节与数据包 3 的前 8 个字节重叠)。然后,如果 IDS/IPS 以与最终主机不同的方式重新组装它们,将解释为不同的数据包。 或者,也许,两个具有相同偏移量的数据包到达,主机必须决定采用哪一个。
BSD: 偏好具有较小 偏移量 的数据包。对于具有相同偏移量的数据包,它将选择第一个数据包。
Linux: 类似于 BSD,但它更喜欢具有相同偏移量的最后一个数据包。
First (Windows): 来的第一个值,就是留下的值。
Last (cisco): 来的最后一个值,就是留下的值。
工具
Last updated