MAC地址再起完美风暴(3)
时间:2013-11-19 16:13来源:盼盼的家园 作者:冯军 点击:次
WIN98/ME/2k/XP/2003用户都可以使用ipconfig/all命令获取MAC地址,XP/2003用户有更简单的方法:右键本地连接图标、选择状态然后点击支持选项卡,这里详细信息中
WIN98/ME/2k/XP/2003用户都可以使用ipconfig/all命令获取MAC地址,XP/2003用户有更简单的方法:右键本地连接图标、选择状态然后点击支持选项卡,这里“详细信息”中包含有MAC和其它重要网络参数。
大部分的网卡都可以通过在控制面板中修改网卡属性来更改其MAC地址。在“设备管理器中”,右键点击需要修改MAC地址的网卡图标,并选择“属性/高级”选项卡。在“属性”区,就可以看到一个称作“Network Address”或其他相类似名字的的项目,点击它,在右侧“值”的下方,输入要指定的MAC地址值。要连续输入12个十六进制数字或字母,不要在其间输入“-”。
重新启动系统后设置就会生效了。参考上面发的图比较有明显的变化,显然图中显示的是修改过的MAC地址。
五、MAC地址的捆绑、ARP命令缺陷和MAC地址重复
MAC地址绑定与IP地址绑定类似,MAC地址绑定也分为服务器有关MAC地址绑定、服务器无关MAC地址绑定、MAC地址静态绑定和MAC地址动态绑定。服务器有关MAC地址绑定在政务网或园区网中的应用较多,可将用户的使用权限和机器的MAC地址绑定起来,限制用户只能在固定的机器上网,保障安全,防止帐号盗用。由于MAC地址可以修改,因此这个方法可以起到一定的作用,但仍有漏洞。
关于在WINDOWS 2000 SERVER 下用ARP -S捆绑MAC和IP的方法需要具体分析,否则可能起不到绑定定作用。以WINDOWS 2000server为例,WIN主机用IP+MAC的方式限制上网,很容易被用户突破。这里需要说明的是有3种情况:
1、 服务器用ARP -S 做IP+MAC捆绑后,如果用户自己改IP,保持MAC不变,这种情况下,ARP -S的捆绑被用户轻易突破。
第一种情况的实验如上图,服务器2000/NAT/10.41.221.2。客户机的IP是10.41.221.6,然后在2000的服务器上用ARP -S 做捆绑。然后把客户机的IP改为10.41.221.7,如图,10.41.221.7可以上网。轻易可以突破捆绑。
2、 服务器用ARP -S 做IP+MAC捆绑后,如果用户自己改MAC,保持IP不变,这种情况下,ARP -S的捆绑被用户轻易突破。
所以上面的实验用第三方软件发包欺骗网关,达到正常的用户IP不能上网的目的。
3、 服务器用ARP -S 做IP+MAC捆绑后,如果LAN中存在2台计算机的 IP和MAC完全相同(参考上面介绍的方法设置MAC地址),这种情况下,操作系统不会报告IP地址冲突,也不会报告MAC地址冲突。ARP -S的捆绑被用户轻易突破。
为什么在WINDOWS 2000下用ARP -S 做IP+MAC捆绑会无效呢?
高手做了详细的描述:“对于ARP表,W2K系统是通过内建的SNMP来进行管理的,不管你的SNMP服务是否开启,呵呵,奇怪吧? 先我也一样很奇怪ARP这个程序是如何运行的,因为查遍了所有MSDN的文档都没有涉及到ARP表读取,修改的API。万般无奈之下,只有看ARP的汇编代码,才发现这个秘密。ARP -S命令也只是根据SNMP对应的OID接点的ARP表规范的ARP类型由3(动态)修改成4(静态),但是低层的TCP/IP协议栈在收到ARP包以后修改SNMP对应的ARP表,根本就没有检查其类型,这也是ARP -S命令无效的原因。”
六、MAC地址带来的网络安全问题
修改IP和MAC都很容易,这不可避免的带来了安全问题,下面分别以IP+MAC绑定、端口和MAC捆绑和虚拟路由器这3种情况讨论,这里讨论的绑定可以是WIN主机也可以是路由交换设备。
情况1、简单的IP+MAC绑定
前面介绍了ARP -S静态ARP绑定无效的情况,使用“ARP SERVER”按一定的时间间隔广播网段内所有主机的正确IP-MAC映射表,可以解决这个问题。不过ARP绑定在WIN2003下却是有效果的,在LINUX下也有效果,不仅如此,个人防火墙如ZoneAlarm等也有MAC过滤功能。在交换机上也可以做类似绑定,增加静态ARP绑定以防止IP地址盗用(类似这样的命令arp 1.1.1.1 0001.0001.1111 ARPA)。设置完成之后,如果非法用户把地址改为1.1.1.1,它发送到路由器的包正常,但是从目标服务器2.1.1.1返回的数据包在路由器上转发的时候,目标MAC地址将总是设为0001.0001.1111,非法用户不能接收。
突破方法:修改MAC地址很容易,在Windows网络连接设置修改网卡的配置,在“高级”页面中找到NetworkAddress设置为指定的值即可。
情况2、端口和MAC地址捆绑认证
------分隔线----------------------------