ARP欺骗的原理
ARP欺骗的原理基于地址解析协议(ARP)的工作方式。在TCP/IP网络中,当一个设备需要与另一个设备通信时,它首先需要知道对方的物理(MAC)地址。ARP协议通过将IP地址映射到MAC地址来解决这个问题。
以下是ARP欺骗的基本步骤:
正常工作流程:
- 设备A想要发送数据给设备B,但它只知道设备B的IP地址。
- 设备A广播一个ARP请求,询问:“谁拥有这个IP地址(设备B的IP地址)?请告诉我你的MAC地址。
- 设备B收到请求后,回应自己的MAC地址。
- 设备A记录下设备B的MAC地址,并将其用于后续的数据包传输。
ARP欺骗攻击:
1. 攻击者C监听网络上的ARP流量。
2. 当设备A发出ARP请求时,攻击者C也发送一个ARP响应,声称自己是设备B(使用设备B的IP地址,但提供的是攻击者C的MAC地址)。
3.设备A接收到两个响应:一个是真正的设备B的响应,另一个是攻击者C的伪造响应。
4. 根据ARP协议的规定,设备A信任最近的ARP响应,所以它更新了自己的ARP缓存,将设备B的IP地址映射到了攻击者C的MAC地址上。
5. 现在,设备A会将所有原本应该发往设备B的数据包发送给攻击者C。攻击者C可以读取、修改或丢弃这些数据包,然后再转发给设备B,从而实现中间人攻击。
ARP欺骗成功的关键在于,ARP协议没有内置的安全机制来验证响应的真实性。因此,网络中的任何设备都可以宣称自己拥有某个IP地址,只要它愿意发送相应的ARP响应即可。
攻击复现
攻击机:VMware16-Kali IP地址:192.168.44.134
靶机:VMware16-Windows10x64 IP地址:192.168.44.135
1.在Windows 10上查看默认网关和IP地址。
ipconfig /all
IP:192.168.44.134 默认网关:192.168.44.2
2.查看MAC和IP映射表
arp -a
3.Kali查询是否与靶机处在同一网段
sudo arp-scan 192.168.44.1-192.168.44.254
确认在同一网段
4.攻击机伪装成靶机网关
sudo arpspoof -i eth0 -t 192.168.44.134 192.168.44.2
sudo: 这是一个Unix和类Unix操作系统中的命令,允许用户以超级用户(root)权限运行后面的命令。在这里,我们需要使用超级用户权限是因为修改网络设备的ARP缓存通常需要这样的权限。
arpspoof: 这是ARP欺骗工具的名称,它会发送虚假的ARP应答来毒化目标主机的ARP缓存。
-i eth0: 这个选项指定了要使用的网络接口。在这个例子中,eth0代表了第一个以太网接口。你需要确保你选择的是正确的目标网络接口。
-t 192.168.44.134: 这个选项指定要欺骗的目标主机的IP地址。在本例中,攻击者试图让IP地址为192.168.44.134的主机误认为攻击者的机器是其默认网关。
192.168.44.2: 这是第二个参数,表示攻击者想要将自己伪装成的IP地址。在本例中,攻击者希望被192.168.44.134视为其默认网关的地址。
5.查看靶机的网关的MAC地址是否发生变化
6. 攻击者欺骗靶机,告诉靶机出口路由器是他的MAC地址,靶机信任了攻击机,把访问外部网络的数据包错误的发送给了攻击机的MAC地址,导致靶机收不到外网返回的数据包,导致网络中断。
Tips:
Arp-scan是一款用于扫描局域网中活动主机的命令行工具。它通过发送ARP(地址解析协议)请求并监听响应来确定网络中的活动设备。ARP是一种在TCP/IP网络中用来映射IP地址到MAC地址的协议。
arp-scan可以帮助网络管理员快速识别和定位网络中的设备,以便进行网络管理或安全审计。它可以进行单一目标扫描,也可以进行批量扫描,允许用户指定CIDR地址范围或者使用列表文件的方式进行扫描。
一些主要的arp-scan功能包括:
扫描特定的IP地址或地址范围
显示已发现设备的IP地址和MAC地址
自定义ARP包的发送速率
支持IPv6网络
arp-scan通常被包含在Kali Linux等渗透测试和网络安全相关的Linux发行版中,但也可能需要在其他系统上手动安装。
要使用arp-scan,你需要具有管理员权限,并且知道你想要扫描的网络接口。
Arpspoof是用于执行ARP(地址解析协议)欺骗的工具,通常在网络安全测试和渗透测试中使用。ARP欺骗是一种攻击技术,通过它攻击者可以修改网络中设备的ARP缓存条目,使流量被重定向到攻击者的机器而不是其原本的目的地。
当arpspoof成功运行时,它可以做到以下几点:
毒化目标主机的ARP缓存:攻击者发送虚假的ARP应答消息给目标主机,将网关的IP地址映射到攻击者的MAC地址上。这样,目标主机误以为攻击者的机器就是网关。
截获数据包:由于目标主机现在认为攻击者的机器是网关,所有发往或来自目标主机的数据包都会经过攻击者的机器,从而让攻击者有机会查看、篡改或者嗅探这些数据包中的敏感信息,如账户凭据、通信内容等。
保持欺骗状态:为了维持欺骗状态,arpspoof需要不断发送ARP应答来刷新目标主机的ARP缓存,使其一直认为攻击者的MAC地址是网关的MAC地址。
arpspoof主要用在Linux系统上,常常作为Kali Linux等渗透测试发行版的一部分提供。要使用arpspoof,你需要具有管理员权限,并且了解基本的网络知识,包括IP地址、子网掩码、MAC地址以及如何指定网络接口。
法律声明
声明:
请注意,本文档包含有关已知漏洞的描述和复现方法。这些信息仅用于教育和研究目的,不得用于任何未经授权的活动。
本声明如下:
本人对使用本文档中的信息所产生的任何后果概不负责。任何人使用本文档中的信息应自行承担所有风险。
本文档中的信息不得用于未经授权的任何活动,包括但不限于未经授权的攻击行为。任何使用本文档中的信息进行未经授权的活动将违反法律,并可能导致法律后果。
本文档中的信息仅为教育和研究目的而提供,并且可能包含机密和保密信息。阅读和使用本文档的信息应遵守适用的法律和法规。
请遵守道德原则并报告您发现的任何漏洞给相关方,以促进软件和系统的安全。
请注意,本文档中的信息可能已过时,因为软件和系统可能已经修复了相关漏洞。
特此声明。