arp双向和单向欺骗原理解析

arp双向欺骗:

开两台虚拟机:10.6.1.20 和10.6.1.73 网关:10.6.3.254    用10.6.1.20做为攻击主机,10.6.1.73做为被攻击主机。用网关,被攻击主机做双向欺骗。工具怎么用,不做具体说明。
攻击主机:10.6.1.20   00-e0-4c-02-d6-eb

被攻击主机:10.6.1.73   00-1e-8c-1f-4c-fc

网关:10.6.3.254 00-19-5b-12-43-c1

攻击主机发送ARP应答包给被攻击主机和网关,它们分别修改其ARP缓存表为10.6.3.254 00-e0-4c-02-d6-eb和10.6.1.73 00-e0-4c-02-d6-eb  看出来怎么回事了吧  修改的全是攻击主机的MAC地址,这样它们之间数据都被攻击主机截获。

arp单向欺骗:

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

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

3、 嗅探 A 与 B 的通讯,实现原理:C 向 A 发送一条 Arp 数据包,内容为:B 的地址是 AA:BB:CC:DD:EE:FF (C自己的地址),也就是说,C 对 A 说:我才是 B,于是 A 把向 B 发送的数据都发给 C 了,C 得到数据后就可以为所欲为了,可以直接丢弃,那么通讯中断,也可以再次转发给 B,那么又形成回路,C 当了个中间人,监视 A 和 B 的通讯,此时你就可以用CAIN等任何抓包工具进行本地嗅探了,因为目标机器数据完全从你这你走,任意嗅探。当然你可以不转发所有数据,只转发部分数据, 把某些特定协议的数据分离出来,然后单独处理,例如替换、修改(类似 zxarp 等 Arp 工具的插入、劫持数据功能),或者干点其他啥,都行。

ARP毒化攻击:《中间人攻击-ARP毒化

linux下的arp嗅探参考:《linux嗅探之ettercap

原文参考:

http://hacksb.blog.163.com/blog/static/187219165201282964027237/

本文由网络安全攻防研究室(www.91ri.org)信息安全小组收集整理,转载请注明出处!