10 | 2008-12-12 10:32 |
近一段时间以来,政务网部分用户受到一种名为"ARP欺骗木马程序(病毒)"的攻击(ARP是"Address Resolution Protocol""地址解析协议"的缩写),极大地影响了政务网用户的正常使用,给整个政务网的安全带来严重的隐患。 一、故障现象 通常上网计算机的网关设为192.168.X.254,这个地址是核心交换机(三层交换机)的IP地址。将网关改为路由器的IP地址192.168.X.253后可正常上网。 病毒发作时其症状表现为计算机网络连接正常,却无法打开网页;或由于ARP欺骗的木马程序(病毒)发作时发出大量的数据包,导致政务网用户上网不稳定,时断时通。 中毒机器在局域网中发送假的APR应答包进行APR欺骗, 造成其他客户机无法获得网关和其他客户机的网卡真实MAC地址,导致无法上网。 计算机重新启动后短时间内可以上网,稍过一会儿就出现只有网络连接,但打不开网页的现象。 二、ARP 欺骗病毒原理分析 在局域网中,一个主机要和另一个主机进行直接通信,除知道目标主机的IP地址外还必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?就是通过地址解析协议获得的。所谓"地址解析"就是主机在发送数据前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。即ARP协议是用来来完成IP地址转换为MAC地址(即第二层物理地址)的。在局域网中,网络中实际传输的是"帧",帧里面是有目标主机的MAC地址的。 每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,默认情况下,ARP从缓存中读取IP-MAC条目,缓存中的IP-MAC条目是根据ARP响应包动态变化的。因此,只要网络上有ARP响应包发送到本机,即会更新ARP高速缓存中的IP-MAC条目。在DOS窗口输入命令arp -a 可以看到如下所示的对应关系。 C:/Documents and Settings/Administrator>arp -a Internet Address Physical Address Type 192.168.1.1 aa-aa-aa-aa-aa-aa dynamic 主机A 192.168.1.2 bb-bb-bb-bb-bb-bb dynamic 主机B 192.168.1.3 cc-cc-cc-cc-cc-cc dynamic 主机C 192.168.1.4 dd-dd-dd-dd-dd-dd dynamic 主机D Internet Address 指IP地址,Physical Address 指物理地址,type 指类型。 通过以上示例可以看出IP地址为192.16.16.1的IP地址对应的物理地址 (即MAC地址)为aa-aa-aa-aa-aa-aa,其类型为动态。 我们以主机A(192.168.1.1)向主机B(192.168.1.2)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是"FF.FF.FF.FF.FF.FF",这表示向同一网段内的所有主机发出这样的询问: "192.168.1.2的MAC地址是什么?"网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应: "192.168.1.2的MAC地址是bb-bb-bb-bb-bb-bb"。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。 从上面可以看出,ARP协议的基础就是信任局域网内所有的人,那么就很容易实现在以太网上的ARP欺骗。对目标A进行欺骗,A去Ping主机C却发送到了 DD-DD-DD-DD-DD-DD这个地址上。如果进行欺骗的时候,把C的MAC地址骗为DD-DD-DD-DD-DD-DD,于是A发送到C上的数据包都变成发送给D的了。这不正好是D能够接收到A发送的数据包了么,欺骗成功。 ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,从而在网络中产生大量的ARP通信量使网络阻塞。用伪造源MAC地址发送ARP响应包,是对ARP高速缓存机制的攻击。 攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。当攻击者大量向局域网中发送虚假的ARP信息后,就会造成局域网中的机器ARP缓存的崩溃。 三、定位ARP攻击源头 1.通过NBTSCAN(下载地址:http://www.ale.gov.cn/15/03.jsp?tid=20061123202911786807709)查找病毒主机,关闭所有二层交换机,将管理员的计算机接在核心交换机上,此时管理员的计算机可正常上网。Ping三层交换机的地址(即在dos窗口下输入命令ping 172.16.X.254),查看172.16.X.254的MAC地址(即在dos窗口下输入命令arp -a),并记下来,通过三层交换机IP地址得到三层交换机 真实的MAC地址。可用同样的方法得到路由器真实MAC地址。其中X是各单位分配到的IP地址段。 打开所有二层交换机,在ARP病毒攻击时所有计算机都表现为有网络连接,但打不开网页。此时在dos窗口下输入命令arp -a,查看网关的IP地址和MAC地址对应关系,与上次得到的真实MAC地址对比,如果不相同,此次获得的MAC地址即为病毒主机的MAC地址。 使用NBTSCAN可以取到PC的真实IP地址、机器名和MAC地址,可以找到病毒主机的IP、机器名和MAC地址。找到病毒机器IP地址后,再通过网络开通时登记的IP地址找到病毒主机。 命令:"nbtscan -r 192.168.X.0/24"(搜索整个192.168.X.0/24网段, 即192.168.X.1-192.168.X.254)输出结果第一列是IP地址,最后一列是MAC地址。其中X是各单位分配到的IP地址段。 NBTSCAN的使用范例: 假设查找一台MAC地址为"000d870d585f"的病毒主机。 1)将压缩包中的nbtscan.exe 和cygwin1.dll解压缩放到c:盘下。 2)在Windows开始-运行-打开,输入cmd(windows98输入"command"),在出现的DOS窗口中输入:C:/ >btscan -r 192.168.X.0/24(这里需要根据用户实际网段输入),回车。 3)通过查询IP--MAC对应表,查出"000d870d585f"的病毒主机的IP地址。 通过上述方法,我们就能够快速的找到病毒源,确认其机器名和IP地址。 2、通过AntiArpSniffer3.1查询病毒主机 下载软件AntiArpSniffer3.1(下载地址:http://www.ale.gov.cn/15/03.jsp?tid=20061123203055213902983),解压后点击AntiArpSniffer.exe运行该软件,点击获取MAC,再点追捕攻击者。 四.防御方法 1、在PC上绑定路由器的IP和MAC地址。 在c:/(C盘根目录)下创建或修改autoexec.bat文件,加入如下命令: arp -d arp -s 192.168.X.254 00-22-aa-00-22-aa autoexec.bat放在C盘根目录下,每次开机后会自动执行。arp -d 删除ARP缓存表中的所有条目,arp -s 192.168.X.254 00-22-aa-00-22-aa 静态绑定网关IP地址与MAC地址。使用时将网关IP地址和MAC地址更改为您自己的网关IP地址和MAC地址即可。 2、通过AntiArpSniffer3.1防御 下载软件AntiArpSniffer3.1,解压后点击AntiArpSniffer.exe运行该软件,点击获取MAC,再点击自动保护,我目前就有这款软件,想要的可以QQ或者EMAIL联系我. |
|
|
|