网络渗透实验——实施ARP欺骗
一、实验原理
什么是ARP?
ARP(Address Resolution Protocol) 是一种用于解析 IP 地址和物理 MAC 地址之间映射关系的协议,是 IPv4 网络中的关键协议。当两台计算机需要建立通信时,需要知道目标设备的 MAC 地址,以便构建正确的数据帧并将数据包传送到目标。ARP 能够帮助计算机在局域网中找到目标设备的物理硬件地址,确保数据包能够正确地路由到目标设备。
ARP欺骗的原理:
每一个主机都有一个ARP高速缓存,此缓存中记录了最近一段时间内其它IP地址与其MAC地址的对应关系。
如果本机想与某台主机通信,则首先在ARP高速缓存中查找此台主机的IP和MAC信息,如果存在,则直接利用此MAC地址构造以太帧;如果不存在,则向本网络上每一个主机广播一个ARP请求报文,其意义是"如果你有此IP地址,请告诉我你的MAC地址",目的主机收到此请求包后,发送一个ARP响应报文,本机收到此响应后,把相关信息记录在ARP高速缓存中,以下的步骤同上。
从上可以看出,ARP协议是有缺点的,第三方主机可以构造一个ARP欺骗报文,而源主机却无法分辨真假。如果发送者硬件地址字段填入攻击者的硬件地址,而发送者IP地址填入被假冒者的IP地址,那么就构造出了一个用于欺骗的ARP请求报文。那么被欺骗主机的ARP高速缓存,被假冒者的IP地址与其MAC地址的对应关系就会更改为欺骗者的,从而达到ARP欺骗的目的。特别的,如果攻击者冒充网关,将转发子网内到外网的所有通信量,以达到捕获其他主机的通信量,从而破坏数据传输的保密性。
二、实验工具及准备
1、两台主机,一台作为攻击者,一台作为被攻击者
2、网络嗅探工具:wireshark监听网络流量
3、科来数据包生成器和科来数据包播放器,用来仿造欺骗报文,也可以用Kali实现。
三、实验步骤
1、确定被攻击者的IP地址和Mac地址以及网关的IP和Mac地址
攻击者可以通过nmap扫描局域网内所有主机,来获取局域网内被攻击者的ip,
找到被攻击者的ip地址后,然后查看arp缓存,即可找到被攻击者的mac地址
网关的ip和mac攻击者可以直接用本机
ipconfig /all
查看
2、开始制作欺骗报文
因为ARP协议没有任何安全机制,很容易遭到攻击,所以网关会不断地发出ARP请求,来验证网关IP与MAC地址之间对应的正确性。但是这个ARP请求中间有较长的间隔,大概20-30s左右,所以在这期间,我们可以拟造ARP报文,可以短到每秒钟拟造一个,这样就网关所发出的请求就可以立马被覆盖,这样就可以不断欺骗被攻击者的主机了,WOW!
打开科来数据包生成器
修改报文内容
(被攻击者可以对比一下,攻击者发的报文和网关发送的ARP报文有何不同,这样更有助于理解arp协议。)
修改完成后,保存文件
3、发送报文
然后用科来数据包播放器,开始播放报文
这样,被攻击者将一直受到攻击者的ARP报文,被攻击者那边此时用arp -a 查看ip和mac地址的对应关系的时候,就会发现网关的mac地址变成了攻击者的mac地址,这样arp欺骗就实施成功了!此时便可以用wireshark抓包被攻击者的流量数据!
注明:以上两步均可以使用Kali完成操作,具体操作过程可见
使用Kali Linux ARP欺骗实现局域网断网攻击
但是使用Kali能否进行后续操作本人并不清楚TAT
4、如何让被攻击者上网
arp欺骗实施成功后,你会发现,被攻击者无法上网!这不是太容易被发现了吗!
此时,就要使被攻击者能正常访问外网,如何做呢,且听我娓娓道来:
Step 1:打开注册表
Win+R,输入regedit
Step 2:根据以下目录找到IP Enable Router
“HKEY_LOCAL_MACHINE” > SYSTEM > CurrentControlSet >Services> Tcpip >Parameters > IP Enable Router
Step 3:
右键IP Enable Router,修改,把0改为1
Step 4:
win+R,打开services.msc
Step 5:
找到 Routing and Remote Access service,双击打开,启动类型改为自动!并点击启动!
这样就可以实现被攻击上网了
5、攻击者尝试Wireshark抓包被攻击者
此时被攻击者的流量都会经过攻击者,攻击者用Wireshark抓包被攻击者,被攻击者可以尝试登录http协议等未经加密的网站,攻击者便可以抓取到账号密码,如图:
特别标明
本篇文章仅供学习使用,实验过程中请勿对网络及生活中他人造成危害,建议两名学生配合工作,开启手机热点,完成实验。