查找ARP攻击源
问题:
内网有电脑中了ARP病毒,但是网络拓扑比较复杂、电脑数量较多,排查起来很困难。有什么方法可以找出ARP攻击源?
【推荐3】
排查方法:
1.使用Sniffer抓包。在网络内任意一台主机上运行抓包软件,捕获所有到达本机的数据包。如果发现有某个IP不断发送请求包,那么这台电脑一般就是病毒源。
原理:无论何种ARP病毒变种,行为方式有两种,一是欺骗网关,二是欺骗网内的所有主机。最终的结果是,在网关的ARP缓存表中,网内所有活动主机的MAC地址均为中毒主机的MAC地址;网内所有主机的ARP缓存表中,网关的MAC地址也成为中毒主机的MAC地址。前者保证了从网关到网内主机的数据包被发到中毒主机,后者相反,使得主机发往网关的数据包均发送到中毒主机。
2. 使用arp -a命令。任意选两台不能上网的主机,在DOS命令窗口下运行arp -a命令。例如在结果中,两台电脑除了网关的IP,MAC地址对应项,都包含了192.168.0.186的这个IP,则可以断定192.168.0.186这台主机就是病毒源。
原理:一般情况下,网内的主机只和网关通信。正常情况下,一台主机的ARP缓存中应该只有网关的MAC地址。如果有其他主机的MAC地址,说明本地主机和这台主机最后有过数据通信发生。如果某台主机(例如上面的192.168.0.186)既不是网关也不是服务器,但和网内的其他主机都有通信活动,且此时又是ARP病毒发作时期,那么,病毒源也就是它了。
3. 使用tracert命令。在任意一台受影响的主机上,在DOS命令窗口下运行如下命令:tracert 61.135.179.148。 假定设置的缺省网关为10.8.6.1,在跟踪一个外网地址时,第一跳却是10.8.6.186,那么,10.8.6.186就是病毒源。
原理:中毒主机在受影响主机和网关之间,扮演了“中间人”的角色。所有本应该到达网关的数据包,由于错误的MAC地址,均被发到了中毒主机。此时,中毒主机越俎代庖,起了缺省网关的作用。
总结:
使用以上方法找出ARP攻击源后,先将中病毒的电脑杀毒,然后可以使用ARP双向绑定可以有效预防ARP攻击。
方法:在路由器上扫描绑定所有电脑的IP、MAC地址(REOS和REOS SE设备都可实现):
ReOS的设备可以直接在“网络安全→IP/MAC绑定”里导出“ARP绑定脚本文件”放到内网每个电脑的启动项里。
ReOS-SE设备可以在电脑上使用记事本编辑一个BAT文件,内容是“arp.exe -d 2>nul&arp.exe –s 网关IP 网关MAC”同样放到电脑启动项里。