首页
社区
课程
招聘
[转帖]深入解析ARP欺骗攻击 保证内网安全
发表于: 2013-4-8 10:14 2831

[转帖]深入解析ARP欺骗攻击 保证内网安全

2013-4-8 10:14
2831
2013-4-7 11:06:58 比特网 佚名
http://security.chinaitlab.com/xtaq/922215.html
ARP(地址解析协议)是在仅知道主机的IP地址时确定其物理地址的一种协议。因IPv4和以太网的广泛应用,其主要用作将IP地址翻译为以太网的MAC地址,但其也能在ATM和FDDI IP网络中使用。本文将为大家详细剖析ARP欺骗,它主要分为双向欺骗和单向欺骗。

    一、ARP通讯协议过程

    由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输、计算机是根据mac来识别一台机器。

    区域网内A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进行数据传输。如果未找到,则A广播一个ARP请求报文(携带主机B的IP地址),网上所有主机包括B都收到ARP请求,但只有主机B识别自己的IP地址,于是向A主机发回一个ARP响应报文。其中就包含有B的MAC地址,A接收到B的应答后,就会更新本地的ARP缓存。接着使用这个MAC地址发送数据(由网卡附加MAC地址)。

    二、一次完整的ARP欺骗

    ARP 欺骗分为两种,一种是双向欺骗,一种是单向欺骗:

    1.单向欺骗

    A的地址为:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AA

    B的地址为:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BB

    C的地址为:IP:192.168.10.3 MAC: CC-CC-CC-CC-CC-CC

    A和C之间进行通讯。但是此时B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址),MAC地址是BB-BB-BB-BB-BB-BB(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存(A被欺骗了),这时B就伪装成C了。同时,B同样向C发送一个ARP应答,应答包中发送方IP地址四192.168.10.1(A的IP地址),MAC地址是BB-BB-BB-BB-BB-BB(A的MAC地址本来应该是AA-AA-AA-AA-AA-AA),当C收到B伪造的ARP应答,也会更新本地ARP缓存(C也被欺骗了),这时B就伪装成了A.这样主机A和C都被主机B欺骗,A和C之间通讯的数据都经过了B.主机B完全可以知道他们之间说的什么:)。这就是典型的ARP欺骗过程。

    掐断A 与 c的通讯,实现原理:b 向A 发送一条ARP 数据包,内容为:c的地址是00:00:00:00:00:00 (一个错误的地址),那么A 此后向c发的数据包都会发到00,而这个地址是错误的,所以通讯中断了,但是要注意了,这里只是A ——> c 中断了,c ——> A 没有中断,所以这个叫单向欺骗。

    掐断c与A 的通讯,实现原理和第一条一样,如果和第一条一起发,那么A 和c 的通讯就完全中断了,即:A <—— ×——> c.

    嗅探A 与c 的通讯,实现原理:b 向A 发送一条ARP 数据包,内容为:c的地址是AA:BB:CC:DD:EE:FF (b自己的地址),也就是说,b 对 A 说:我才是c,于是A 把向c发送的数据都发给b 了,b得到数据后就可以为所欲为了,可以直接丢弃,那么通讯中断,也可以再次转发给c,那么又形成回路,B当了个中间人,监视A 和c 的通讯。此时你就可以用CAIN等任何抓包工具进行本地嗅探了。

    2.ARP双向欺骗原理

    A要跟C正常通讯,B向A说我是才C.B向C说我才是A,那么这样的情况下把A跟C的ARP缓存表全部修改了。以后通讯过程就是 A把数据发送给B,B在发送给C,C把数据发送B,B在把数据给A.

    攻击主机发送ARP应答包给被攻击主机和网关,它们分别修改其ARP缓存表为, 修改的全是攻击主机的MAC地址,这样它们之间数据都被攻击主机截获。

    三、双向欺骗与单向欺骗的区别

    单向欺骗:是指欺骗网关,分别有三个机器 A(网关) B(server) C(server) .A要跟C正常通讯。B给A说我才是C,那么A就把数据就给C了,此时A就把原本给C的数据给了B了,A修改了本地的缓存表,但是C跟A的通讯还是正常的。只是A跟C的通讯不正常。

    双向欺骗:是欺骗网关跟被攻击的两个机器,A(网关) B(server) C(server),A要跟C正常通讯。B对A说我是C,B对C说我是A,那么这样的情况下A跟C的ARP缓存表全部修改了,发送的数据全部发送到B那里去了。

    四、找到ARP欺骗主机

    1.我们可以利用ARPkiller的"Sniffer杀手"扫描整个局域网IP段,然后查找处在"混杂"模式下的计算机,就可以发现对方了。检测完成后,如果相应的IP是绿帽子图标,说明这个IP处于正常模式,如果是红帽子则说明该网卡处于混杂模式。它就是我们的目标,就是这个家伙在用网络执法官在捣乱。

    2.使用tracert命令在任意一台受影响的主机上,在DOS命令窗口下运行如下命令:tracert61.135.179.148.假定设置的缺省网关为10.8.6.1,在跟踪一个外网地址时,第一跳却是10.8.6.186,那么,10.8.6.186就是病毒源。原理:中毒主机在受影响主机和网关之间,扮演了“中间人”的角色。所有本应该到达网关的数据包,由于错误的MAC地址,均被发到了中毒主机。此时,中毒主机越俎代庖,起了缺省网关的作用。

    五、防护办法

    1.最常用的方法就是做双绑定, 本地跟路由都做了绑定(注:mac地址绑定)

    2.彩影ARP防火墙

    六、黑客常用的突破 ARP 防火墙的嗅探技术

    黑客常用的突破 ARP 防火墙的嗅探技术,流程如下:

    破ARP 防火墙的原理,就是不停地发包到网关(每秒几十次),对网关说我是真的机器,避免其他机器冒充本机。(比如目标机器是A 你是B 你向网关说我是才A),由于你发的频率高,所以在很短的时间周期内,网关认为你是受害机器,So,目标机器的正常数据包就发过来啦。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
内容简单了一点啊~
2014-5-12 23:20
0
雪    币: 35
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
学习一下~
2014-5-14 09:57
0
雪    币: 41
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不错!先看看
2014-5-14 10:13
0
游客
登录 | 注册 方可回帖
返回
//