我正在尝试对我正在写的一篇文章模拟 SYN 攻击并收集一些结果(计算机响应某些消息所花费的时间),但是当我尝试这种方法时似乎什么也没有发生。
我使用 WAMP 服务器在受害者 PC 上托管一个基本服务器,使用没有互联网访问的本地路由器,完全禁用路由器和 PC 上的所有防火墙,然后在攻击者 PC 上访问受害者 PC 托管的网页,以便使用 wireshark 捕获合法的 SYN 数据包。
然后,我将合法 SYN 数据包的十六进制复制到 colasoft 数据包生成器中,并将源端口更改为 1444,然后为 Windows 防火墙创建一个新规则以阻止该端口上的所有入站连接,以便 SYN、ACK 不会以任何方式响应。
然后,我按程序从攻击者 PC ping 受害者 PC,以检查回复延迟,并循环将现在的恶意 SYN 数据包发送到受害者 PC,但除了偶尔出现的峰值之外,响应没有延迟,这是可以预料的。
我的问题是我做错了什么,或者有没有比在 Windows 上模拟 SYN 攻击更好的方法?(顺便说一句,我试过使用 hping,但根本无法让它工作。)
谢谢!
答案1
如果我真的不明白这个问题,我提前道歉。发送 SYN 洪水攻击的目的是尝试在受害者身上创建尽可能多的半开连接。这会使每个半开连接暂时处于 SYN-RECVD 状态,从而占用资源。
但是,由于您没有欺骗攻击者的源 IP,因此您似乎没有正确发送 SYN 洪水攻击。当您的攻击机器收到 SYN/ACK 时,它将立即发送一个重置数据包,关闭该套接字并否定任何洪水攻击尝试。但是,我不熟悉 Windows 防火墙的行为。如果您将源地址欺骗为未使用的 IP,则不会发送 RST,并且受害者发送的每个 SYN/ACK 都将进入指数退避,从而大大提高攻击的有效性。(请使用私人空间中的 IP,以便 SYN/ACK 不会反射回互联网上的某些东西)
好的,接下来的事实是,您正在重放具有相同 4 元组和相同初始序列号的相同数据包。您需要每个 SYN 都是唯一的才能有效。我强烈建议您使用任何 Linux 发行版和应用程序“hping3”。您应该能够获得想要的结果。还请考虑 ping 使用 ICMP,并且可能不是服务器延迟的良好测试,因为它在服务器响应方式上是一个截然不同的过程。我建议再次使用 nmap 甚至 hping3 来测试服务器的 TCP 响应。