:ARP病毒分析和定位ARP攻击源头和防御方法

来源:百度文库 编辑:九乡新闻网 时间:2024/07/08 14:43:43
【ARP病毒解决思路】
1、不要把你的网络安全信任关系建立在IP基础上或MAC基础上,(rarp同样存在欺骗的问题),理想的关系应该建立在IP+MAC基础上。
2、设置静态的MAC-->IP对应表,不要让主机刷新你设定好的转换表。
3、除非很有必要,否则停止使用ARP,将ARP做为永久条目保存在对应表中。
4、使用ARP服务器。通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。确保这台ARP服务器不被黑。
5、使用""proxy""代理IP的传输。
6、使用硬件屏蔽主机。设置好你的路由,确保IP地址能到达合法的路径。(静态配置路由ARP条目),注意,使用交换集线器和网桥无法阻止ARP欺骗。
7、管理员定期用响应的IP包中获得一个rarp请求,然后检查ARP响应的真实性。
8、管理员定期轮询,检查主机上的ARP缓存。
9、使用防火墙连续监控网络。注意有使用SNMP的情况下,ARP的欺骗有可能导致陷阱包丢失。
【HiPER用户的解决方案】
建议用户采用双向绑定的方法解决并且防止ARP欺骗。
1、在PC上绑定路由器的IP和MAC地址:
1)首先,获得路由器的内网的MAC地址(例如HiPER网关地址192.168.16.254的MAC地址为0022aa0022aa局域网端口MAC地址>)。
2)编写一个批处理文件rarp.bat内容如下:
@echo off
arp -d
arp -s 192.168.16.254 00-22-aa-00-22-aa
将文件中的网关IP地址和MAC地址更改为您自己的网关IP地址和MAC地址即可。
将这个批处理软件拖到“windows--开始--程序--启动”中。
二、ARP病毒分析
当局域网内某台主机运行ARP欺骗的木马程序时,会欺骗局域网内所有主机和路由器,让所有上网的流量必须经过病毒主机。其他用户原来直接通过路由器上网现在转由通过病毒主机上网,切换的时候用户会断一次线。切换到病毒主机上网后,如果用户已经登陆了传奇服务器,那么病毒主机就会经常伪造断线的假像,那么用户就得重新登录传奇服务器,这样病毒主机就可以盗号了。< XMLNAMESPACE PREFIX ="O" />
由于ARP欺骗的木马程序发作的时候会发出大量的数据包导致局域网通讯拥塞以及其自身处理能力的限制,用户会感觉上网速度越来越慢。当ARP欺骗的木马程序停止运行时,用户会恢复从路由器上网,切换过程中用户会再断一次线。
在路由器的“系统历史记录”中看到大量如下的信息:
MAC Chged 10.128.103.124
MAC Old 00:01:6c:36:d1:7f
MAC New 00:05:5d:60:c7:18
这个消息代表了用户的MAC地址发生了变化,在ARP欺骗木马开始运行的时候,局域网所有主机的MAC地址更新为病毒主机的MAC地址(即所有信息的MAC New地址都一致为病毒主机的MAC地址),同时在路由器的“用户统计”中看到所有用户的MAC地址信息都一样。
如果是在路由器的“系统历史记录”中看到大量MAC Old地址都一致,则说明局域网内曾经出现过ARP欺骗(ARP欺骗的木马程序停止运行时,主机在路由器上恢复其真实的MAC地址)。
BKDR_NPFECT.A病毒引起ARP欺骗之实测分析
Part1. 病毒现象
中毒机器在局域网中发送假的APR应答包进行APR欺骗, 造成其他客户机无法获得网关和其他客户机的网卡真实MAC地址,导致无法上网和正常的局域网通信.
Part2. 病毒原理分析:
病毒的组件
本文研究的病毒样本有三个组件构成:
%windows% SYSTEM32 LOADHW.EXE(108,386 bytes) ….. ”病毒组件释放者”
%windows% System32 drivers npf.sys(119,808 bytes) ….. ”发ARP欺骗包的驱动程序”
%windows% System32 msitinit.dll (39,952 bytes)…”命令驱动程序发ARP欺骗包的控制者”
病毒运作基理:
1.LOADHW.EXE 执行时会释放两个组件npf.sys 和msitinit.dll .
LOADHW.EXE释放组件后即终止运行.
注意: 病毒假冒成winPcap的驱动程序,并提供winPcap的功能. 客户若原先装有winPcap,
npf.sys将会被病毒文件覆盖掉.
2.随后msitinit.dll将npf.sys注册(并监视)为内核级驱动设备: "NetGroup Packet Filter Driver"
msitinit.dll 还负责发送指令来操作驱动程序npf.sys (如发送APR欺骗包, 抓包, 过滤包等)
以下从病毒代码中提取得服务相关值:
BinaryPathName = "system32 drivers npf.sys"
StartType = SERVICE_AUTO_START
ServiceType= SERVICE_KERNEL_DRIVER
DesiredAccess= SERVICE_ALL_ACCESS
DisplayName = "NetGroup Packet Filter Driver"
ServiceName = "Npf"
3. npf.sys 负责监护msitinit.dll. 并将LOADHW.EXE注册为自启动程序:
[HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion RunOnce]
dwMyTest =LOADHW.EXE
注: 由于该项位于RunOnce下,该注册表启动项在每次执行后,即会被系统自动删除.
Part3. 反病毒应急响应解决方案
按以下顺序删除病毒组件
1) 删除 ”病毒组件释放者”
%windows% SYSTEM32 LOADHW.EXE
2) 删除 ”发ARP欺骗包的驱动程序” (兼 “病毒守护程序”)
%windows% System32 drivers npf.sys
a. 在设备管理器中, 单击”查看”-->”显示隐藏的设备”
b. 在设备树结构中,打开”非即插即用….”
c. 找到” NetGroup Packet Filter Driver” ,若没找到,请先刷新设备列表
d. 右键点击” NetGroup Packet Filter Driver” 菜单,并选择”卸载”.
e. 重启windows系统,
f.删除%windows% System32 drivers npf.sys
3) 删除 ”命令驱动程序发ARP欺骗包的控制者”
%windows% System32 msitinit.dll
2. 删除以下”病毒的假驱动程序”的注册表服务项:
HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services Npf
三、定位ARP攻击源头和防御方法
1.定位ARP攻击源头
主动定位方式:因为所有的ARP攻击源都会有其特征——网卡会处于混杂模式,可以通过ARPKiller这样的工具扫描网内有哪台机器的网卡是处于混杂模式的,从而判断这台机器有可能就是“元凶”。定位好机器后,再做病毒信息收集,提交给趋势科技做分析处理。
标注:网卡可以置于一种模式叫混杂模式(promiscuous),在这种模式下工作的网卡能够收到一切通过它的数据,而不管实际上数据的目的地址是不是它。这实际就是Sniffer工作的基本原理:让网卡接收一切它所能接收的数据。
被动定位方式:在局域网发生ARP攻击时,查看交换机的动态ARP表中的内容,确定攻击源的MAC地址;也可以在局域居于网中部署Sniffer工具,定位ARP攻击源的MAC。
也可以直接Ping网关IP,完成Ping后,用ARP –a查看网关IP对应的MAC地址,此MAC地址应该为欺骗的MAC。
使用NBTSCAN可以取到PC的真实IP地址、机器名和MAC地址,如果有”ARP攻击”在做怪,可以找到装有ARP攻击的PC的IP、机器名和MAC地址。
命令:“nbtscan -r 192.168.16.0/24”(搜索整个192.168.16.0/24网段, 即192.168.16.1-192.168.16.254);或“nbtscan 192.168.16.25-137”搜索192.168.16.25-137 网段,即192.168.16.25-192.168.16.137。输出结果第一列是IP地址,最后一列是MAC地址。
NBTSCAN的使用范例:
假设查找一台MAC地址为“000d870d585f”的病毒主机。
1)将压缩包中的nbtscan.exe 和cygwin1.dll解压缩放到c:下。
2)在Windows开始—运行—打开,输入cmd(windows98输入“command”),在出现的DOS窗口中输入:C: btscan -r 192.168.16.1/24(这里需要根据用户实际网段输入),回车。
3)通过查询IP--MAC对应表,查出“000d870d585f”的病毒主机的IP地址为“192.168.16.223”。
通过上述方法,我们就能够快速的找到病毒源,确认其MAC——〉机器名和IP地址。
2.防御方法
a.使用可防御ARP攻击的三层交换机,绑定端口-MAC-IP,限制ARP流量,及时发现并自动阻断ARP攻击端口,合理划分VLAN,彻底阻止盗用IP、MAC地址,杜绝ARP的攻击。
b.对于经常爆发病毒的网络,进行Internet访问控制,限制用户对网络的访问。此类ARP攻击程序一般都是从Internet下载到用户终端,如果能够加强用户上网的访问控制,就能极大的减少该问题的发生。
c.在发生ARP攻击时,及时找到病毒攻击源头,并收集病毒信息,可以使用趋势科技的SIC2.0,同时收集可疑的病毒样本文件,一起提交到趋势科技的TrendLabs进行分析,TrendLabs将以最快的速度提供病毒码文件,从而可以进行ARP病毒的防御。
病毒发作症状:计算机网络连接正常,能PING通楼内机器却无法PING通网关、无法打开网页;或由于ARP欺骗的木马程序(病毒)发作时发出大量的数据包,导致网络运行不稳定,频繁断网、 IE 浏览器频繁出错以及一些常用软件出现故障等问题。
网络中断原因:当局域网内某台主机感染了ARP病毒时,会向本局域网内(指某一网段,比如:172.16.24.0这一段)所有主机发送ARP欺骗攻击,让原本流向网络中心的流量改道流向病毒主机,并通过病毒主机代理上网。因客户端具有防代理功能,造成受害者无法通过病毒主机上网。
由于病毒发作时发出大量数据包会将网络拥塞,大家会感觉上网速度越来越慢。中毒者同样如此,受其自身处理能力的限制,感觉运行速度很慢时,可能会采取重新启动或其他措施。此时病毒短时间停止工作,大家会感到网络恢复正常。如此反复,就造成网络时断时续。
故障诊断办法:如果用户发现以上疑似情况,可以通过如下操作进行诊断:点击"开始"按钮->选择"运行"->输入"arp -d"->点击"确定"按钮,然后重新尝试上网,如果能恢复正常则说明此次掉线可能是受ARP欺骗所致。("arp -d"命令用于清除并重建本机arp表并不能抵御ARP欺骗,执行后仍有可能再次遭受ARP攻击。)
本网检测工具:下载并运行AntiArp程序。输入本网段的网关ip地址后,点击"获取网关MAC地址",检查网关IP地址和MAC地址无误后,点击"自动保护"。若不知道网关IP地址,可通过以下操作获取:点击"开始"按钮->选择"运行"->输入"cmd"点击"确定"->输入"ipconfig"按回车,"Default Gateway"后的IP地址就是网关地址。AntiArp软件会在提示框内出现病毒主机的MAC地址。(SSR8600上的地址是00:E0:63:9A:5C:3D/RG3550上的是以00:D0:F8:开头的地址,除此之外检测到的就是ARP攻击地址,可上报网络中心进行屏蔽)
本机查杀工具:下载并运行TSC.EXE程序。运行过程中不要关让它一直运行到自动关闭,最后查看report文档便知是否中毒。若中毒则建议重新安装操作系统,(并不需要把整个磁盘都给格式化了哦).
本机检测工具下载
本机查杀工具下载
前段时间,侠诺科技针对“ARP病毒防制方案”进行简单介绍,得到了广大用户和业界的关注与好评。近期,侠诺科技的技术工程师在工作又得到了新的发现,为了进一步让大家了解并防制ARP,特推出了ARP攻击防制进阶篇,与用户们共同探讨、研究。
要了解ARP欺骗攻击, 我们首先要了解ARP协议以及它的工作原理,以更好的来防范和排除ARP攻击的带来的危害。本文为大家带来进阶的ARP攻击防制方法。
基本ARP介绍
ARP “Address Resolution Protocol”(地址解析协议),局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
ARP协议的工作原理:在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如表所示。
IP址        MAC地址
192.168.1.1  00-0f-3d-83-74-28
192.168.1.2  00-aa-00-62-c5-03
192.168.1.3  03-aa-01-75-c3-06
…… ……
我们以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.1.1的MAC地址是什么?”网络上其它主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.1.1的MAC地址是00-aa-00-62-c6-09。”这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表。
基本ARP病毒防制法
通过对 ARP工作原理得知,如果系统ARP缓存表被修改不停的通知路由器一系列错误的内网IP或者干脆伪造一个假的网关进行欺骗的话,网络就肯定会出现大面积的掉线问题,这样的情况就是典型的 ARP攻击,对遭受ARP攻击的判断,其方法很容易,你找到出现问题的电脑点开始运行进入系统的DOS操作。ping路由器的LAN IP丢包情况。输入ping 192.168.1.1(网关IP地址),如下图:
图片一

内网ping路由器的LAN IP丢几个包,然后又连上,这很有可能是中了ARP攻击。为了进一步确认,我们可以通过查找ARP表来判断。输入ARP -a命令,显示如下图:
图片二

可以看出192.168.1.1地址和192.168.252地址的IP的 MAC地址都是00-0f-3d-83-74-28,很显然,这就是 ARP欺骗造成的。
在理解了ARP之后,ARP欺骗攻击以及如何判断此类攻击,我们简单介绍一下如何找到行之有效的防制办法来防止这类攻击对网络造成的危害。
Qno侠诺工程师的一般处理办法分三个步骤来完成。
1、激活防止ARP病毒攻击
进入路由器的防火的基本配置栏将“防止ARP病毒攻击”在这一行的“激活”并确定。
2、对每台pc上绑定网关的IP和其MAC地址
在每台PC机上进入dos操作,输入arp ?Cs 192.168.1.1(网关IP) 00-0f-3d-83-74-28(网关MAC),Enter后完成每台PC机的绑定。
针对网络内的其它主机用同样的方法输入相应的主机IP以及MAC地址完成IP与MAC绑定。但是此动作,如果重起了电脑,作用就会消失,所以可以把此命令做成一个批处理文件,放在操作系统的启动里面,批处理文件可以这样写:
@echo off
arp -d
arp -s路由器LAN IP 路由器LAN MAC
3、在路由器端绑定用户IP/MAC地址:
在DHCP功能中对IP/MAC进行绑定,Qno路由器提供了一个显示新加入的IP地址的功能,通过这个功能可以一次查找到网络内部的所有PC机的IP/MAC的对应列表,我们可以通过“√”选的功能选择绑定IP/MAC。
进阶ARP病毒防制
单靠这样的操作基本可以解决问题,但是Qno侠诺的技术工程师建议通过进一步通过一些手段来进一步控制ARP的攻击。
1、病毒源,对病毒源头的机器进行处理,杀毒或重新装系统。此操作比较重要,解决了ARP攻击的源头PC机的问题,可以保证内网免受攻击。
2、网吧管理员检查局域网病毒,安装杀毒软件(金山毒霸/瑞星,必须要更新病毒代码),对机器进行病毒扫描。
3、给系统安装补丁程序,通过Windows Update安装好系统补丁程序(关键更新、安全更新和Service Pack)
4、给系统管理员帐户设置足够复杂的强密码,最好能是12位以上,字母+数字+符号的组合;也可以禁用/删除一些不使用的帐户
5、经常更新杀毒软件(病毒库),设置允许的可设置为每天定时自动更新。安装并使用网络防火墙软件,网络防火墙在防病毒过程中也可以起到至关重要的作用,能有效地阻挡自来网络的攻击和病毒的入侵。部分盗版Windows用户不能正常安装补丁,不妨通过使用网络防火墙等其它方法来做到一定的防护
6、关闭一些不需要的服务,条件允许的可关闭一些没有必要的共享,也包括C$、D$等管理共享。完全单机的用户也可直接关闭Server服务
7、不要随便点击打开QQ、MSN等聊天工具上发来的链接信息,不要随便打开或运行陌生、可疑文件和程序,如邮件中的陌生附件,外挂程序等。
ARP攻击防制是一个任重而道远的过程,必须高度重视这个问题,而且不能大意马虎,我们可以采取以上Qno侠诺技术工程师的建议随时警惕ARP攻击,以减少受到的危害,提高工作效率,降低经济损失。