ARP欺骗的攻击和防御技术都比较成熟了,这里也不再阐述。此次重点讲解如何不用ARP欺骗进行嗅探以及会话劫持的技术原理,实际的攻击方法是进行MAC欺骗。
一、原理:
在开始之前我们先简单了解一下交换机转发过程:交换机的一个端口收到一个数据帧时,首先检查改数据帧的目的MAC地址在MAC地址表(CAM)对应的端口,如果目的端口与源端口不为同一个端口,则把帧从目的端口转发出去,同时更新MAC地址表中源端口与源MAC的对应关系;如果目的端口与源端口相同,则丢弃该帧。
有如下的工作场景:
一个4口的switch,端口分别为Port.A、Port.B、Port.C、Port.D对应主机 A,B,C,D,其中D为网关。
当主机A向B发送数据时,A主机按照OSI往下封装数据帧,过程中,会根据IP地址查找到B主机的MAC地址,填充到数据帧中的目的MAC地址。发送之前网卡的MAC层协议控制电路也会先做个判断,如果目的MAC相同于本网卡的MAC,则不会发送,反之网卡将这份数据发送出去。Port.A接收到数据帧,交换机按照上述的检查过程,在MAC地址表发现B的MAC地址(数据帧目的MAC)所在端口号为Port.B,而数据来源的端口号为Port.A,则交换机将数据帧从端口Port.B转发出去。B主机就收到这个数据帧了。
这个寻址过程也可以概括为IP->MAC->PORT,ARP欺骗是欺骗了IP/MAC的应关系,而MAC欺骗则是欺骗了MAC/PORT的对应关系。比较早的攻击方法是泛洪交换机的MAC地址,这样确实会使交换机以广播模式工作从而达到嗅探的目的,但是会造成交换机负载过大,网络缓慢和丢包甚至瘫痪,我们不采用这种方法。
二、实战
工作环境为上述的4口swith,软件以cncert的httphijack 为例,应用为A主机劫持C主机的数据。
以下是劫持过程(da为目的MAC,sa为源MAC)
1.A发送任意da=网关.mac、sa=B.mac的数据包到网关。
这样就表明b.mac对应的是port.a,在一段时间内,交换机会把发往b.mac的数据帧全部发到a主机。这个时间一直持续到b主机发送一个数据包,或者另外一个da=网关.mac、sa=b.mac的数据包产生前。
2.A 主机收到网关发给B的数据,记录或修改之后要转发给B,在转发前要
发送一个请求B.MAC的广播,这个包是正常的
MAC信息为:da=FFFFFFFFFF、sa=a.mac。
这个数据帧表明了a.mac对应port.a,同时会激发b主机响应一个应答包
MAC信息为:da=a.mac、sa=b.mac
这个数据帧表明了 b.mac对应port.b
至此,对应关系已经恢复,A主机将劫持到的数据可顺利转发至B
3. 转发劫持到的数据到B,完成一次劫持
三、攻击特点
1.由于这种攻击方法具有时间分段特性,所以对方的流量越大,劫持频率也越低,网络越稳定。
2.隐蔽性强,基于1的特殊性和工作本质,可以在ARP防火墙和双向绑定的环境中工作。
四、如何防护
高级的交换机可以采用ip+mac+port绑定,控制CAM表的自动学习。目前尚无软件可以防护此类攻击
五、利用工具
1.httphijack beta 2 说明:http会话劫持
2.ssclone 说明:交换环境下的会话复制软件(gmail,qqmail,sohumail…..)
3.skiller 说明:流量控制
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
企业ARP欺骗分析及防御:不同网段欺骗分析及对策
ARP欺骗的防御原则首先就是不要把你的网络安全信任关系建立在IP地址的基础上或硬件MAC地址基础上。
-
企业ARP欺骗分析及防御:同网段ARP欺骗分析
在实现TCP/IP协议的网络环境下,当IP包到达该网络后,哪台机器响应这个IP包是靠其包含的硬件MAC地址来识别的。
-
上网故障 别总拿ARP欺骗说事
对于企业网络管理员来说最头疼的恐怕就要属ARP欺骗病毒了,然而我们应该知道并不是所有的内网故障都是ARP欺骗造成的,很多时候ARP欺骗成为了其他病毒和故障的替罪羊……
-
如何防止局域网内ARP欺骗
ARP欺骗攻击的如何实现的呢?对于环境是主机或者网关是基于Linux/BSD的ARP欺骗攻击应该采取什么样的防范措施呢?