浅谈Arp攻击和利用Arp欺骗进行MITM

作者:MA2安全团队 分类: 系统安全 发布于:2018-7-17 3:29 ė350次浏览 60条评论

arp欺骗也是很古老的渗透手段了,主要起着信息收集的作用,比如你可以利用欺骗获取对方的流量,从流量分析你认为重要的信息,例如某某账号密码。或是利用Arp攻击,切断局域网内某一用户的网络访问(单向欺骗)。下面着重讲一下中间人攻击的原理,配和实战演练分析,不对的地方,还请大家多多反馈和包涵!
 
MITM
借用Wiki百科的一个比喻来理解MITM(中间人攻击):
 假设爱丽丝(Alice)希望与鲍伯(Bob)通信。同时,马洛里(Mallory)希望拦截窃会话以进行窃听并可能在某些时候传送给鲍伯一个虚假的消息。
 首先,爱丽丝会向鲍勃索取他的公钥。如果Bob将他的公钥发送给Alice,并且此时马洛里能够拦截到这个公钥,就可以实施中间人攻击。马洛里发送给爱丽丝一个伪造的消息,声称自己是鲍伯,并且附上了马洛里自己的公钥(而不是鲍伯的)。
 爱丽丝收到公钥后相信这个公钥是鲍伯的,于是爱丽丝将她的消息用马洛里的公钥(爱丽丝以为是鲍伯的)加密,并将加密后的消息回给鲍伯。马洛里再次截获爱丽丝回给鲍伯的消息,并使用马洛里自己的私钥对消息进行解密,如果马洛里愿意,她也可以对消息进行修改,然后马洛里使用鲍伯原先发给爱丽丝的公钥对消息再次加密。当鲍伯收到新加密后的消息时,他会相信这是从爱丽丝那里发来的消息。
 我们的身份就是Mallory,我们希望欺骗Alice和Bob,让其认为我们是交互的正确目标,从而来获取他们之间交流的信息。
 
Arp攻击分析
 想要进行中间人攻击,先理解最基础的arp攻击
Arp协议
ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的网络层,负责将某个IP地址解析成对应的MAC地址。
 以太网(局域网)进行信息传输时,不是根据IP地址进行通信,因为IP地址是可变的,用于通信是不安全的。然而MAC地址是网卡的硬件地址,一般出厂后就具有唯一性。ARP协议就是将目标IP地址解析成MAC地址进行验证通信。
Arp通信过程
 每台主机都会在自己的ARP缓冲区建立一个ARP列表(生命周期二十分钟),用于表示IP地址和MAC地址的对应关系。
 主机A若想和主机B通信,首先主机A会查询Arp缓存表(后面称ip-mac缓存表)是否有B主机对应的ip-mac,有的话就将B主机的mac地址封装到数据包发送。若没有的话,主机A会向以太网发送一个Arp广播包,告诉以太网内的所有主机自己的ip-mac,并请求B主机(以ip来表示B主机)的mac地址。当B主机收到Arp广播包后,确认A主机是想找自己的mac地址,就会对A主机进行回应一个自己的mac地址。A主机就会更新自己的ip-mac缓存表,同时B主机也会接收A主机的ip-mac对应关系到自己的ip-mac缓存表。
Arp协议缺陷
ARP协议信任以太网所有的节点,效率高但是不安全。这份协议没有其它字协议来保证以太网内部信息传输的安全,它不会检查自己是否接受或发送过请求包,只要它就收到的arp广播包,他就会把对应的ip-mac更新到自己的缓存表
 网关的理解
 在wiki中这样定义网关:
 在计算机网络中,网关(英语:Gateway)是转发其他服务器通信数据的服务器,接收从客户端发送来的请求时,它就像自己拥有资源的源服务器一样对请求进行处理。有时客户端可能都不会察觉,自己的通信目标是一个网关
 区别于路由器(由于历史的原因,许多有关TCP/IP的文献曾经把网络层使用的路由器(英语:Router)称为网关,在今天很多局域网采用都是路由来接入网络,因此现在通常指的网关就是路由器的IP),经常在家庭中或者小型企业网络中使用,用于连接局域网和Internet。
 网关也经常指把一种协议转成另一种协议的设备,比如语音网关。
 网关可以把内网ip转化为外网ip,从而向服务器发出请求。也可以把外网Ip获得的数据包转换成内网ip发给内网主机。
Arp攻击原理
 根据以上说的arp协议缺陷,如果我们冒充网关主机C,不停的向以太网发送自己的ARP广播包,告知自己的ip-mac,此时其它主机就会被欺骗,更新我们C的ip-mac为网关主机的ip-mac,那么其它主机的数据包就会发送到C主机上,因为没有发给真正的网关,就会造成其它主机的网络中断。
 
Arp攻击实操
 环境
 攻击主机A:Kali—>ip: 192.168.11.106被攻击主机B: windows 7—>ip: 192.168.11.105网关主机C: 192.168.11.1
我的Kali是在虚拟机下,需要Bridge连接保证机器在同一网段,很多人用Nat连接来转发,在实战的轻快下,需要更改虚拟机的网络配置。
 网络配置如图:

实操
 这里模拟真实环境,攻击主机A和被攻击主机B在同一局域网下。1. 先用命令查看一下ip是否正确:Kali:

 可以看到ip是192.168.11.106Windows7:

ip是192.168.11.105,网关地址是192.108.11.12. 用nmap查看当前网端的活跃主机
nmap -sF 192.168.11.0/24

扫描得到如图活跃主机,可以看到我们的主机B。当然获取Ip的途径不可能这么简单,你也可以用fping的方法来分析,之前我用fping探测局域网windows10的主机,发现Ping不通,win10防火墙还是有点东西。不过你可以根据fping的发送包来推断主机是否真正存活,具体可以google一下fping的用法,这里给推荐一个链接
Kali信息收集:Fping
 3. 检查被攻击主机是否可以正常上网

本文出自 MA2安全网,转载时请注明出处及相应链接。

发表评论

电子邮件地址不会被公开。必填项已用*标注


Ɣ回顶部