模拟SYN攻击

模拟SYN攻击

我正在尝试对我正在写的一篇文章模拟 SYN 攻击并收集一些结果(计算机响应某些消息所花费的时间),但是当我尝试这种方法时似乎什么也没有发生。

我使用 WAMP 服务器在受害者 PC 上托管一个基本服务器,使用没有互联网访问的本地路由器,完全禁用路由器和 PC 上的所有防火墙,然后在攻击者 PC 上访问受害者 PC 托管的网页,以便使用 wireshark 捕获合法的 SYN 数据包。

然后,我将合法 SYN 数据包的十六进制复制到 colaso​​ft 数据包生成器中,并将源端口更改为 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 响应。

相关内容