ARP欺骗是什么
ARP欺骗(ARP spoofing),又称ARP毒化(ARP poisoning,网络上多译为ARP病毒)或ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网络上特定计算机或所有计算机无法正常连线。
以上来自百度百科
个人理解
大概原理就是在每台用于上网的机器中都会有一张叫arp缓存表的东西,里边记录了ip地址与mac地址(物理地址)的映射关系
这张表的形成过程如下:
假设现在我要与ip地址为192.168.1.2的主机通信,我就向局域网内的所有主机广播消息“谁是192.168.1.2 ?”,这时如果该ip的主机收到了广播,就会向发出广播的主机回应“192.168.1.2是我,我的mac地址是xxx”,然后发出广播的主机就将该ip和该mac地址记录到本机的arp缓存表中
而arp欺骗要做的,就是假装自己是某一台被请求的主机,把自己的mac地址与被假装主机的ip绑定起来记录在别人的arp缓存表中;由于网络的实际传输是通过mac地址进行寻址的,这样所有发送到被假装主机的信息都会通过mac地址发送到恶意主机上
具体过程
设备:手机一台,电脑一台,树莓派一个
说明:
- 手机充当受害者(ip:192.168.137.116)
- 电脑充当网关(开热点 ip:192.168.137.1)
- 树莓派作为攻击机器(ip:192.168.137.66)
使用程序:arpspoof(需要安装dsniff与ssldump),tcpdump,driftnet
为什么需要树莓派?
本来打算用vmware模拟所有的主机的,但是由于局域网的配置问题无法用vmware模拟所有机器,模拟一部分的话又会因为局域网的问题导致虚拟机与物理机无法进行正常通信,所以就拿出了我吃灰多年的原生树莓派
首先使用nmap扫描受害者
确定了受害者的ip之后使用命令
arpspoof -i [网卡(此处为wlan0)] -t [目标ip] [网关ip]
进行欺骗
1 | sudo arpspoof -i wlan0 -t 192.168.137.116 192.168.137.1 |
如果仅仅只是想对目标主机进行断网操作的话无需其他操作,但是如果想进行双向的欺骗(中间人攻击),就必须打开树莓派的转发功能,命令如下:
1 | echo 1 > /proc/sys/net/ipv4/ip_forward |
然后再打开另一个窗口,安装driftnet
1 | sudo apt install driftnet |
这样就可以获取受害者此时的图片了
如果用树莓派查看图片不方便,可以打开80端口,把图片放到网站根目录下再从浏览器访问
实际上在我进行实验时,截图获取得并不是很顺利,所以我选择了另外一种获取通信信息的方式——tcpdump
在arpspoof命令运行的时候,由于受害者与网关的所有通信都会经过攻击机的网卡,故我们可以用tcpdump来获取本地网卡接收到的信息。命令如下:
1 | sudo tcpdump -i wlan0 -s 0 -w e.cap |
wlan0是网卡,e.cap是抓包存放的文件名称,回车之后便开始抓包,等到什么时候觉得差不多了就crtl+C停止就行,此时在当前目录下应该会出现刚刚抓包的文件(此处为e.cap),可以使用以下命令读取:
1 | sudo tcpdump -A -r e.cap |
-A是以ascii形式显示 -r后面的是要打开的文件,除了这种打开方式,还有类似过滤器的功能
1 | sudo tcpdump -n dst host 119.91.135.95 -r e.cap |
该命令过滤了ip为119.91.135.95的通信信息并显示在屏幕上
以上是传输过程中截取的信息
kaili linux使用arpspoof进行arp欺骗 - 闻所未闻 - 博客园 (cnblogs.com)
ARP–利用arpspoof和driftnet工具进行arp欺骗_mr_xiuk的博客-CSDN博客_arpspoof
kali linux操作系统中TCPDUMP详细使用方法_隔壁老湿的技术博客_51CTO博客