如何禁用 Windows 发送 ICMP 重定向

如何禁用 Windows 发送 ICMP 重定向

我正在通过操纵 ARP 数据包来测试中间人攻击。我成功地欺骗了网络上的另一台计算机(我的手机),让它认为我是路由器。我也有已启用数据包转发在攻击者的计算机上。

问题是,当我尝试在手机上访问网站时,我可以看到流量被发送到我的计算机(.47),但它并没有转发它,而是将 ICMP 重定向发送回我的手机(.111):

Wireshark 捕获

似乎可以在 Linux 上被阻止,但是在 Windows 上有没有办法防止这种情况发生?

理想情况下,我希望我的计算机只接受流量,然后通过接收流量的相同接口将其转发回路由器(或者,一旦我欺骗路由器认为我是受害者,则将流量转发给受害计算机)。


不幸的是,建议的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters EnableICMPRedirect密钥似乎改变了我的系统在接收 ICMP 重定向时是否添加新主机,而不是是否将它们发送出去。

答案1

您应该能够使用防火墙阻止传出的 ICMP 重定向数据包。

netsh advfirewall firewall add rule name="Don't send ICMP redirects" dir=out protocol=icmpv4:5,any action=block

答案2

您可以转到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 注册表项,然后找到名为 EnableICMPRedirect 的值并将其值设置为 0。如果它不存在,则创建 DWORD 值。

相关内容