在讲ARP欺骗之前先讲讲什么是ARP以及ARP欺骗的原理吧。
一、 什么是ARP?
arp英文全称: address resolution protocol 中文:地址解析协议
它的作用:是根据IP地址获取获取物理地址的一个TCP/IP协议。 主机发送 信息的时候将一个包涵目标主机的IP地址的ARP请求通过广播到网络上所有的主机,并且接受返回信息,以此来确定目标的物理地址。收到返回消息后讲该IP和物理地址存在本机ARP缓存中(这个属于动态ARP)兵保留一定的时间。下次请求时就可以直接查询ARP缓存以节约资源。
二、 ARP欺骗原理
大家通过知道arp的原理之后就应该知道arp的缺陷了。当arp通过广播的形式的时候,虽然主机默认的是:与自己的ip不匹配的就视为丢弃,但是我们可以通过手动的方式来跟靶机讲我就是网关或者其它主机,从而就达到了欺骗目的。
实验环境:
1.虚拟机kali IP:192.168.1.2 MAC:00:0C:29:E4:5C:D2 (攻击机)
2.虚拟机win7 IP:192.168.1.3 MAC:00-0C-29-CA-29-88(靶机:被攻击机)
3.宿主机win7 IP:192.168.1.1 MAC:0A-00-27-00-00-18(服务器DVWA)
例如: 虚拟机win7想访问宿主机的服务器,那么必须知道宿主机的MAC地址,但又因为arp缓存里面没有宿主机的MAC地址,所以就必须以广播的形式来跟宿主机进行连接。 然后它就会讲:请问谁的IP 是192.168.1.1,请把你的MAC给我。宿主机看见广播的地址和自己的地址相同,所以就会回复靶机讲它是,并且把Mac地址发给它,从而就建立了连接。但是 如果kali想攻击它,kali就会在靶机广播的时候也会一直广播发送消息讲它是192.168.1.1,并把MAC发给它,所以靶机就以为它是服务器从而就会上传一些敏感文件给它。从而就达到了欺骗。
三、正式开始
现在他们三台主机之间是可以相互通信的。现在 kali发起攻击:
这里解释一下: -i : 选择你的网卡 -t xxxx xxxx : 目标ip 和 host(目标想要访问的IP)
这个时候就发现 靶机不能正常访问DVWA了
然后我们用同用的方法对服务器进行欺骗:arpspoof -i eth0 -t 192.168.1.3 192.168.1.1
这个时候就会发现服务器也被我欺骗了,把我当成了192.168.1.3
然后这个时候我们再此开启攻击机的ip转发功能,把他们两个主机的包都发出去,从而达到了中间人的攻击。
输入命令: echo 1 > /proc/sys/net/ipv4/ip_forword 解释: 就是把1写进的这个文件里面,默认是0. 0是关闭意思,1就是开启的意思
这个时候你就会发现可以靶机和服务器之间可以正常访问了
然后通过wireshark就可以抓取他们的一切信息了