ARP病毒攻击技术分析与防御pc软件 文章资讯 手机软件

您当前的位置→图文中心ARP文章ARP欺骗ARP病毒攻击技术分析与防御

ARP病毒攻击技术分析与防御


2008/8/2 11:56:13 编辑:佚名 来源:admin 

一、ARP Spoofing攻击原理分析

就在局域网中, 可以通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的。 ARP协议对网络net安全具有重要的意义。 可以通过伪造IP地址和MAC地址实现ARP欺骗, 能够就在网络net中产生大量的ARP通信量使网络net阻塞或者实现“man in the middle” 来进行ARP重定向和嗅探攻击。

用伪造源MAC地址发送sendARP响应包, 对ARP超高快速缓存机制的攻击。

每个主机都用一个ARP超高快速缓存存放最近IP地址到MAC硬件地址之间的映射记录。 MS Windows超高快速缓存中的每一条记录(条目)的生存时间一般为60秒, 起始时间从被建造时现在开始算起。

默认情况下, ARP从缓存中读取IP-MAC条目, 缓存中的IP-MAC条目是根据记录ARP响应包动态变化的。 因此, 只要网络net上有ARP响应包发送send到本机, 即会更新ARP超高快速缓存中的IP-MAC条目。

攻击者只要持续会一直不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目, 造成网络net中断或中间人攻击。

ARP协议并不只就在发送send了ARP请求才接收ARP应答。 当电脑计算机接收到ARP应答数据信息包的时候, 就一定会对本地的ARP缓存来进行更新, 将应答中的IP和 MAC地址存储就在ARP缓存中。 因此, B向A发送send一个我自己伪造的ARP应答, 而这个应答中的数据信息为发送send方IP地址是192.168.10.3(C的IP地址), MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC, 这里被伪造了)。 当A接收到B伪造的ARP应答, 就一定会更新本地的ARP缓存(A可不知道被伪造了)。

当攻击源大量向局域网中发送send虚假的ARP信息后, 就一定会造成局域网中的机器ARP缓存的崩溃。

Switch上同样维护着一个动态的MAC缓存, 它一般是这样, 最先是, 交换机内部有一个对应的列表, 交换机的端口对应MAC地址表Port n <-> Mac记录着每一个端口下面存就在那些MAC地址, 这个表现在开始是空的, 交换机从来往数据信息帧中学习。 因为MAC-PORT缓存表是动态更新的, 那么让整个 Switch的端口表都改变, 对Switch来进行MAC地址欺骗的Flood, 会一直不断发送send大量假MAC地址的数据信息包, Switch就更新MAC-PORT缓存, 如果能可以通过这样的办法把以前正常的MAC和Port对应的关系破坏了, 那么Switch就一定会来进行泛洪发送send给每一个端口, 让Switch可以说是变成一个 HUB, 向所有的端口发送send数据信息包, 要来进行嗅探攻击的目的一样能够达到。 也将造成Switch MAC-PORT缓存的崩溃, 如下下面交换机中日志所示:

Internet  172.20.156.10000b.cd85.a193  ARPAVlan256
Internet  172.20.156.50000b.cd85.a193  ARPAVlan256
Internet  172.20.156.254 0000b.cd85.a193  ARPAVlan256
Internet  172.20.156.53 0000b.cd85.a193  ARPAVlan256
Internet  172.20.156.33 0000b.cd85.a193  ARPAVlan256
Internet  172.20.156.130000b.cd85.a193  ARPAVlan256
Internet  172.20.156.150000b.cd85.a193  ARPAVlan256
Internet  172.20.156.140000b.cd85.a193  ARPAVlan256

二、ARP病毒分析
当局域网内某台主机运行ARP欺骗的木马程序时, 会欺骗局域网内所有主机和路由器, 让所有上网的流量就一定要经过病毒主机。 其他用户本来直接可以通过路由器上网现就在转由可以通过病毒主机上网, 切换的时候用户会断一次线。 切换到病毒主机上网后, 如果用户已经登陆了传奇服务器, 那么病毒主机就一定会经常伪造断线的假像, 那么用户就得重新登录传奇服务器, 这样病毒主机就可以能够盗号了。

由于ARP欺骗的木马程序发作的时候会发出大量的数据信息包导致局域网通讯拥塞以及其自身处理能力的限制, 用户会感觉上网速度越来越慢。 当ARP欺骗的木马程序停止stop运行时, 用户会恢复从路由器上网, 切换过程中用户会再断一次线。

就在路由器的“系统system历史记录”中看到大量如下的信息:

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地址信息都一样。

如果是就在路由器的“系统system历史记录”中看到大量MAC Old地址都一致, 则说明局域网内曾经出现过ARP欺骗(ARP欺骗的木马程序停止stop运行时, 主机就在路由器上恢复其真实的MAC地址)。

BKDR_NPFECT.A病毒引起ARP欺骗之实测分析

Part1. 病毒现象

中毒机器就在局域网中发送send假的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 还负责发送send指令来操作驱动程序npf.sys (如发送sendAPR欺骗包, 抓包, 过滤包等)

以下从病毒代码中提取得服务相关值:

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下,该注册表启动项就在每次执行后,即会被系统system全自动删除.

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系统system,

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.对于经常爆发病毒的网络net, 来进行Internet访问控制, 限制用户对网络net的访问。 此类ARP攻击程序一般都是从Internet下载到用户终端, 如果能够加强用户上网的访问控制, 就能极大的减少该问题的发生。

c.就在发生ARP攻击时, 及时去寻找到病毒攻击源头, 并收集病毒信息, 可以能够使用趋势科技的SIC2.0, 同一个时间收集可疑的病毒样本文件程序, 一起提交到趋势科技的TrendLabs来进行分析, TrendLabs将以最快的速度提供病毒码文件程序, 从而可以能够来进行ARP病毒的防御。

相关文章
  • aRP的工作原理及高速缓存
  • 基于ARP欺骗的惩罚措施
  • ARP协议的探测原理
  • A Sharper Scaling图片放大不失真软件使用方法
  • 支付宝AR识花是什么,支付宝AR识花玩法介绍
  • 三星I9100连上电脑的Kies,提示"Your device's current firmware version is not supp...
  • flipboard怎么注册 Flipboard注册方法
  • VMware安装CentOS图文教程
  • 发表评论
    阅读排行
    网站帮助 - 广告合作 - 下载声明 - 网站地图