查看: 4378|回复: 6

用虚拟IP反欺骗ARP欺骗

[复制链接]
发表于 2008-5-12 10:56:16 | 显示全部楼层 |阅读模式
介于现在ARP欺骗病毒太多。。所以写了这个。。事先说明,我也参考了前人的经验做的。有言在先,我是个外行,如此法不管用,不要骂我哦!权当我放屁!!还有记得看完,偶表达能力有限如果看不懂那别怪我哦。。。
说明:我们这里是局域网共享Internet上网,用到的真实网关是192.168.1.113,本机地址192.168.1.239。
现在先看一下修改前的状态:(即默认上网状态)

现在我们开始—运行——CMD——route print 会出现如图
这样一个路由表(这个是我本机的路由表。你们IP可能会不同),最后一个Metric为路由指定一个整数成本值(从 1 至 9999),当在路由表(与转发的数据包目标地址最匹配)的多个路由中进行选择时可以使用。数值越小成本代价越小,路由优先选择度越高;反之成本代价越大,路由优先选择度越低!
前面两行为网络接口索引,可以看到联网网卡为inter<R> PRO/100 VE….,其物理地址为00 11 43 4f 30 b3。
然后是内存中的路由表:
Network Destination:指定该路由的网络目标。
Netmask :指定与网络目标相关的网络掩码(也被称作子网掩码)。
Gateway:指定网络目标定义的地址集和子网掩码可以到达的前进或下一跃点IP 地址。
Metric:为路由指定一个整数成本值标(从 1 至 9999),当在路由表(与转发的数据包目标地址最匹配)的多个路由中进行选择时可以使用。数值越小成本代价越小,路由优先选择度越高;反之成本代价越大,路由优先选择度越低!
Interface:这里一般指本机。
这里0.0.0.0严格意义上来说,已经不是真正意义上的IP地址了。它表示的是这样一个集合,所有不清楚的主机和目的网络。这里的不清楚是指在本机的路由表里没有特定条目指明如何到达。对本机来说,它就是一个收容所,所有不认识的三无人员,一律送进去。如果你在网络设置中设置了缺省网关,那么Windows系统就会自动产生一个目的地址为0.0.0.0的缺省路由。
如第一行的意思是如果我要访问Internet的话,从本机(192.168.1.239)通过网关(192.168.1.113)到任何Internet的服务器。简单的说,如果你要访问Internet先经过本机的路由表再到路由器(网关)再到你要访问的Internet服务器
    这里后面几行路由表无关紧要 ,但你会在最后几行看到default gateway(目前默认网管)是192.168.1.113。
嗯,现在我们知道路由表的作用了。

   
目前ARP病毒是读取本机TCP/IP设置里的真实网关IP,然后绑定自己的MAC地址。不断的发虚假广播包,来覆盖其他联网的计算机中的ARP表中真实的网关绑定,来起到重定向共享上网客户机的数据流至病毒主机,以达到破坏共享上网功能、侦听用户数据,截取用户敏感信息的目的。嘿嘿,知道了这个原理,我们就可以其人之身还其人之道!这也是我们反欺骗arp欺骗的基础。(以后的ARP变种会不会读路由表那我不知道)。
废话说了不少啦,现在我开始修改。。
方法:(反欺骗ARP病毒)
比如你现在网关(本地连接属性tcp/ip里设置的那个,后面同是)是192.168.1.113,那我们现在要把网关IP换成除192.168.1.113以外的192.168.1.1-192.168.1.254之间的任意一个(即虚假网关地址)。但不能和其他客户机冲突。最好换个不用的IP,(其实这个方法网关IP随便你添什么。那怕123.123.123.123都没事,但为了能反欺骗ARP和避免被怀疑,我们最好能用同网段的IP。)我们现在换成192.168.1.184,上不了网了吧?(网关不对当然上不了。白痴都知道~-_-!)好了第一步做好了!

现在我们CMD-route print看下路由表。第一行的网关IP变成了你刚才设置的IP了。。而且这个网关IP是上不了网的。。。中国人都知道。


接下来。我们在CMD下输入 route add -p 0.0.0.0 mask 0.0.0.0 192.168.1.113 metric 1 回车,我们加入一条静态的路由表 优先权限是1(最大的)。然后在CMD下面输入route print 再查看一下路由表。从最后两行看到刚才那一条静态路由已经添加成功了!(这里192.168.1.113为真实的网关地址)!


上图表中第二行的网关192.168.1.184是我们在本地连接—— 属性—— tcp/ip 里设置的那个假的 优先等级是20(最小的)
第一行的网关是我们通过手工加上去的真网关192.168.1.113。优先等级是 1(最大的)
如果我们要访问Internet的话。它优先读取优先等级是1的那个真网关,即192.168.1.113
ARP读取的是读取本机TCP/IP里的网关的。以后的ARP变种会不会读路由表那我不知道。所以就算它发网关IP冲突也只不过冲突假网关,狂发网关IP欺骗包也是假网关的,而这个假网关可以是上面所说的不用的空IP,也可以胡编一个IP,或者是病毒主机自己的真实IP。呵呵,效果可想而知,明白了吗?这样我们已经完成了。






注明:如果你加了按上述方法添加了静态路由,但重启后无法上网的话,我是说如果!(我试验添加了静态路由后不用再添加以下的批处理没问题的!)那么可以在开机启动时加个自动批处理来添加路由。命令如下:
route add 0.0.0.0 mask 0.0.0.0 192.168.1.113 metric 1
(这里192.168.1.113为真实的网关地址)
这样对病毒主机做了以后。病毒主机对网关IP的冲突和ARP欺骗就象没头苍蝇,失去了正确的目标,也就起不了作用了!!!帮不绑定IP-MAC都无所谓。我是没绑定。前段时间老掉线。这样做了后没掉过。。要掉也是中ARP病毒那个机器掉。其他机器和网关没影响。
网内其他的主机也可以用此方法作免疫处理,这样即使染上ARP病毒,也会使其发出攻击实效!当然这样的话,如果中毒主机过多,其攻击还是会消耗极大的带宽,所以建议还是及时隔离它们处理为好!!
要回复原状:(即恢复系统原来默认的上网方式):只需删除刚才我们添加的储存在注册表中的相关静态路由(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services \Tcpip\Parameters\PersistentRoutes),然后在TCP/IP设置中改回原来的参数设置,重启即可!如下图:




总结一下:其实对付此类攻击根本的解决办法是对病毒主机的快速发现和及时隔离处理,以及计算机的使用者人的管理。
上述方法比较另类,其实对于ARP攻击的方法还有很多,原理也大同小异,如:
1、双向绑定法:添加要保护的机器(arp命令自动批处理法,arp防火墙法『选择内外ARP攻击都拦的那种,有主动维护功能(慎用)』)
2、划分VLAN
3、如果交换机支持,做端口保护(PROT PROTECTED),也叫端口隔离:
   端口隔离(port protected/pvlan edge直译应该是端口保护)就是被隔离的端口之间不能在二层互相访问,要访问需通过三层路由,要不是三层以上的交换机,就不能访问。病毒要传播,总要寻找其他的机器,找到后总要传输点什么东西给其他机器,隔离后就找不到、传不了。未隔离的端口还是能找到,但这些机器都不是跟关键业务相关的,中毒的我可以隔离单独处理而不影响业务。
4、选择带ARP防护的网络设备
5、其他


[ 本帖最后由 hu_ai_zai 于 2008-5-12 13:14 编辑 ]

虚拟IP反欺骗ARP欺骗.doc

1.46 MB, 下载次数: 55, 下载积分: 魔法币 -3

带图的详见附件

虚拟IP反欺骗ARP欺骗.doc

1.46 MB, 下载次数: 19, 下载积分: 魔法币 -3

回复

使用道具 举报

发表于 2008-5-12 11:45:38 | 显示全部楼层
不错的创意。
补充一下,在route add 后面 -p ,这样重新后就不用再做一次route add了
回复

使用道具 举报

发表于 2008-9-7 22:02:22 | 显示全部楼层
route add -p XXXX  长久生效。
route -f 清空网关地址 修复一下IP即可。
回复

使用道具 举报

发表于 2008-9-18 14:12:27 | 显示全部楼层
不错,不过麻烦了点,顶
回复

使用道具 举报

发表于 2008-9-26 18:27:27 | 显示全部楼层
哈哈,楼主真强大,虽然麻烦,但只要有效果就行,回头试试去。
回复

使用道具 举报

发表于 2008-11-10 16:31:08 | 显示全部楼层
只要ARP木马把当前网段的所有IP(比如192.168.1.1~192.168.1.254)都当成网关欺骗你一次就完了!

也许把网关设置成自己可行。

[ 本帖最后由 sysjs 于 2008-11-10 16:44 编辑 ]
回复

使用道具 举报

发表于 2008-11-10 16:53:40 | 显示全部楼层
好像很麻烦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | CSNA会员注册

本版积分规则

快速回复 返回顶部 返回列表