我正在通过操纵 ARP 数据包来测试中间人攻击。我成功地欺骗了网络上的另一台计算机(我的手机),让它认为我是路由器。我也有已启用数据包转发在攻击者的计算机上。
问题是,当我尝试在手机上访问网站时,我可以看到流量被发送到我的计算机(.47
),但它并没有转发它,而是将 ICMP 重定向发送回我的手机(.111
):
似乎可以在 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 值。