一、实验目的
利用ettercap进行中间人攻击之ARP欺骗和DNS劫持,用Wireshark分析相关特征数据,提高对ettercap、Wireshark的熟练度,同时也对中间人攻击有更加深入的认识。
二、实验原理
常见的ARP欺骗方式有两种:单向ARP欺骗、双向ARP欺骗
单向ARP欺骗:攻击者只向目标主机发送伪造的ARP响应包,将目标主机的IP地址和MAC地址对应关系改为攻击者的MAC地址。这样,目标主机将网络流量发送到攻击者的MAC地址,攻击者就能够获取到网络流量。
双向ARP欺骗(本实验进行双向ARP欺骗):攻击者不仅向目标发送伪造的ARP响应包,还向网关发送伪造的ARP请求包,将网关的IP地址和MAC地址对应关系改为攻击者的MAC地址。这样,目标将网络流量发送到攻击者的MAC地址,攻击者将网络流量转发到网关,实现中间人攻击。
DNS劫持:攻击者通过篡改本地DNS缓存或在中间节点欺骗网络中其他设备的DNS请求,将用户的合法DNS查询请求重定向到攻击者控制的恶意网站或服务器上。这样攻击者就可以获取用户的敏感信息,包括账户名、密码等等。例如,当用户在浏览器中输入一个网站的URL时,浏览器会向本地DNS服务器发出DNS查询请求,查询网站的IP地址。如果攻击者劫持了这个请求,就会返回一个虚假的IP地址,将用户重定向到一个假冒网站,从而达到劫持的目的。
三、实验环境
工具软件:VMware、ettercap、Wireshark
实验准备:虚拟机Kali Linux 2022.2、虚拟机Windows XP
注意:本实验中,Kali为攻击机,XP为靶机
![](/qrcode.jpg)
四、实验内容(实验步骤、测试数据等)
第一部分,使用ettercap图形化界面进行ARP欺骗
启动Kali虚拟机和XP虚拟机,保证处于网络联通状态
进入Kali攻击机,sudo -i 进入root权限,ifconfig 查看ip地址和MAC地址
攻击机Kali的ip地址(Kali简写为inet地址,全称Internet Protocol地址):192.168.63.132
攻击机Kali的MAC地址(Kali简写为ether地址,全称Ethernet地址,也叫MAC地址):00:0c:29:c8:3f:d6
攻击机Kali截图:
打开XP,ipconfig -all 查看ip地址
靶机XP的ip地址:192.168.63.139
网关的ip地址:192.168.63.2
靶机XP的MAC地址:00-0c-29-21-43-27(在本实验中无作用,写出方便与网关的MAC地址作辨析)
arp -a 查看arp缓存表
网关的物理地址(MAC地址):00-50-56-ff-58-48
注意:这里网关的MAC地址并不是XP的MAC地址。同一网段下的主机网关的ip地址相同,MAC地址也相同,本实验网关的ip地址为192.168.63.2,网关的MAC地址为00-50-56-ff-58-48,不论在XP中查看还是Kali中查看,网关的ip地址和MAC地址都相同
靶机XP截图:
Kali中打开终端输入ettercap -G,打开ettercap图形化界面
scan for hosts扫描发现网段中有4个主机存活,其中192.168.63.139是靶机的ip地址,192.168.63.2是网关的ip地址
将靶机XP的ip地址add为target 1,网关的ip地址add为target 2,如图:
右上角选择ARP poisoning
单击后,开始arp欺骗,窗口弹出如下信息:
GROUP1:靶机XP的ip地址 靶机XP的MAC地址
GROUP2:网关的ip地址 网关的MAC地址
进入靶机XP,arp-a 查看arp缓存表
原网关的MAC地址变成了攻击机Kali的MAC地址,ARP欺骗成功
原网关的MAC地址:00-50-56-ff-58-48
现网关的MAC地址(在ARP欺骗下已变更为Kali的MAC地址):00-0c-29-c8-3f-d6
本部分实验可能用到的命令
1. Sniff -> unified sniffing
2. Hosts -> scan for hosts -> hosts list
3. Add 网关地址 to target1
4. Add 靶机地址 to target2
5. Mitm -> arp poisoning(勾选sniff remote connections)
6. Start sniffing
第二部分,练习使用ettercap进行DNS劫持,开启Apache服务,让目标主机访问任何网站都劫持到kali系统主页。
ARP欺骗成功后,进行DNS劫持
在Kali的root权限下
cd /home/kali
vi /etc/ettercap/etter.dns
将攻击机Kali的ip地址192.168.63.132添加到如下位置,使得靶机XP的网络访问转移到攻击机Kali上
输入service apache2 start,启动阿帕奇服务器
访问Kali中火狐浏览器127.0.0.1的回环地址,显示为Apache服务器的默认欢迎页面,如下图:
下面开始DNS劫持
打开ettercap,右上角Plugins
双击选中dns_spoof,选中会在前面加一个星号
在靶机XP上ping百度,发现回传响应的是攻击机Kali的ip地址:192.168.63.132,而非靶机XP的 ip 地址:192.168.63.139,其实已经说明DNS劫持成功了
接下来看一下DNS劫持成功后的特征
在靶机XP上打开浏览器访问 www.baidu.com,显示的不是百度页面,而是攻击机Kali的Apache服务器的默认欢迎页面,如下图:
第三部分,利用Wireshark抓包分析ARP欺骗和DNS劫持的特征数据,进行分析并截图
在主机Kali左上角找到并启动Wireshark
选择eth0
在靶机XP的终端中输入:ping www.baidu.com
如果在使用ping命令时,输入的是域名而不是ip地址,在执行时会先进行DNS解析,将域名解析成对应的ip地址,然后才能进行ping测试,所以此时ping百度的域名会发出DNS请求
在攻击机Kali的Wireshark中过滤DNS
抓取到靶机XP ping 百度域名的包,如下图:
五、实验体会
用虚拟机环境实操了一次ARP欺骗和DNS劫持,受益匪浅。