使用scapy进行ARP攻击-使用scapy进行ARP攻击-华盟网

使用scapy进行ARP攻击

华盟学院山东省第二期线下学习计划

ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。因此,当局域网中的某台机器B向A发送一个自己伪造的ARP应答,而如果这个应答是B冒充C伪造来的,即IP地址为C的IP,而MAC地址是伪造的,则当A接收到B伪造的ARP应答后,就会更新本地的ARP缓存,这样在A看来C的IP地址没有变,而它的MAC地址已经不是原来那个了。

通过ARP欺骗可以对内网数据进行嗅探,在内网渗透中往往也是重要的一部分。

 实验环境如下

无线网关:

IP:192.168.199.1

MAC: d4-ee-07-67-40-68

普通用户:

IP:192.168.199.213

MAC:5c:93:a2:fe:29:e3

攻击者:

IP:192.168.199.229

MAC:30-b4-9e-67-25-47

实验环境图如下:使用scapy进行ARP攻击

一、ARP 欺骗原理

攻击者通过构造两种ARP响应包,分别欺骗普通用户和网关路由器。

第一种ARP包中源IP为网关IP(192.168.199.1),源MAC为攻击者MAC(30:b4:9e:67:25:47),目的IP为普通用户IP(192.168.199.213),目的MAC为普通用户MAC(5c:93:a2:fe:29:e3)。当用户收到此ARP报文则将ARP表中网关的MAC地址更新为攻击者的MAC(30:b4:9e:67:25:47)。当普通转发数据时数据则会发向攻击者的PC上,由攻击者进行数据转发。

第二种ARP包中源IP为普通用户IP(192.168.199.213),但源MAC为攻击者MAC(30:b4:9e:67:25:47),目的IP为网关IP(192.168.199.1),目的MAC为网关MAC(d4:ee:07:67:40:68)。网关收到此ARP将ARP表中普通用户的MAC更新为攻击者MAC(30:b4:9e:67:25:47)。

实现代码如下:

`def poison_target(gateway_ip,gateway_mac,target_ip,target_mac):

使用scapy进行ARP攻击

通过不间断的发送这两种ARP报文,攻击者以中间人的形式窃取数据报文。

实验前普通用户PC机中ARP表如下:

使用scapy进行ARP攻击

实验开始前,需打开攻击者的路由转发功能,若未开启转发攻击,普通用户则无法正常访问外网。

echo 1 > /proc/sys/net/ipv4/ip_forward

运行脚本:
使用scapy进行ARP攻击

查看普通用户的ARP表项

使用scapy进行ARP攻击

二、进行数据包抓取

使用scapy抓包代码如下:

使用scapy进行ARP攻击

成功进行了ARP欺骗,访问外网,能正常访问

使用scapy进行ARP攻击

在攻击者PC上抓取的数据包,并用wireshark打开如下:

使用scapy进行ARP攻击

三、图片浏览

当被攻击用户同浏览器访问图片文件时,可搭配driftnet进行图片

driftnet -i wlan0

抓取图片如下:

使用scapy进行ARP攻击

参考文章:《Black Hat Python》

代码托管:https://github.com/fishyyh/arppoison.git

文章出处:安全客

www.idc126.com

文章出处:https://www.anquanke.com/post/id/151337

本文由 华盟网 作者:congtou 发表,其版权均为 华盟网 所有,文章内容系作者个人观点,不代表 华盟网 对观点赞同或支持。如需转载,请注明文章来源。

0

发表评论