一、实验目的

选择Ettercap或WInArpAttacker工具实验进行ARP欺骗操作,对过程中捕获的数据包进行分析,分析攻击的原理:

a. 查看虚拟机IP信息以及ARP缓存表,并测试互ping情况;

b. 使用Ettercap或WInArpAttacker扫描在线主机并找到靶机;

c. 根据软件功能实施“禁止上网”、“中间人”、 “IP冲突”等攻击;

选择Winpcap(或其它网络开发包Libpcap/Jpcap/Scapy等)编写程序,完成以下步骤:

a. 查看本机、受害者虚拟机以及网关的IP和物理地址,以及ARP缓存表,测试连通情况;

b. 定义ARP数据包;

c. 根据IP和物理地址构造ARP欺骗包;(实现禁止上网or中间人or IP冲突攻击)

d. 发送ARP欺骗包,查看攻击成功后的arp缓存表和上网状态等

二、*实验环境*

攻击机:Kali-linux 2022.3

靶机:windows xp

软件:ettercap-0.8.31,wireshark

攻击主机:Windows 10

受害者主机:Windows XP SP3 2002

Tools:Winpcap 4.1.3、WpdPack 4.1.2

虚拟机之间采用NAT方式进行连接

img

三、*实验过程与结果*

  1. 使用Ettercap工具进行ARP欺骗操作

1.1 登录两台虚拟机查看网卡
更改联网方式
img
kali系统
img
win xp系统
img
两虚拟机之间应能互相ping通
imgimg
利用命令arp -a查看靶机被攻击前的arp信息
img

1.2 在kali中,使用命令sudo ettercap -G打开ettercap
img
扫描靶机
img
分别将靶机IP和网关地址设为目标1和目标2
img

1.3 在MITM菜单中选择ARP Poisoning
img

1.4 查看被arp投毒后的靶机arp信息,物理地址已经发生对调
img

1.5 启动wireshark抓包,抓到靶机信息
img
靶机申请访问网页
img
攻击机截获SYN请求,说明成功后截获的靶机网络流量
img

  1. 查看本机、受害者虚拟机以及网关的IP和物理地址

攻击端
img
靶机ARP缓存表
img
测试连通情况
img

  1. 根据ARP包格式定义数据包的数据结构
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//以太帧

typedef struct _eth_header {

​ unsigned char dst_mac[6];

​ unsigned char src_mac[6];

​ unsigned short type;

} ETH_HEADER;

//ARP

typedef struct _arp_header {

​ unsigned short hardware_type;//硬件类型

​ unsigned short protocol_type;//协议类型

​ unsigned char hardware_len;//硬件地址长度

​ unsigned char protocol_len;//协议地址长度

​ unsigned short option;//ARP请求为1,ARP应答为2

​ unsigned char src_mac[6];//源MAC

​ unsigned long src_ip;//源IP

​ unsigned char dst_mac[6];//目的MAC

​ unsigned long dst_ip;//目的IP

}ARP_HEADER;

typedef struct _arp_packet {

​ ETH_HEADER eth_header;

​ ARP_HEADER arp_header;

}ARP_PACKET;
  1. 构造ARP欺骗包,欺骗受害者网关物理地址为一个不存在的地址。

补全信息
img
填充数据包
img

  1. 查看欺骗效果

欺骗数据包发送成功
img

  1. 查看欺骗效果

增加循环语句持续实现欺骗

img

靶机网站无响应

img

可以抓包查看效果
img

可见网关会将返回地址反馈给错误的靶机物理地址,实现ARP攻击

四、实验总结

通过本次实验,我认识到ARP攻击就是通过伪造IP地址和MAC地址实现欺骗的一种攻击手段。攻击者通过伪装自己的MAC地址来欺骗目标设备,使其将网络数据包发送到错误的物理地址,从而将流量重定向到攻击者控制的位置。这种攻击可用于中间人攻击、数据窃取或网络干扰,因此在管理时需要采取防范措施,如网络监控和使用安全工具,来检测和防御ARP欺骗攻击,以确保网络的安全性和可靠性。使用ARP攻击,攻击者可以轻松地拦截、篡改或窃取网络流量,对目标设备进行数据间谍操作。然而,ARP欺骗也容易被检测到,而且在伪装MAC地址的过程中,攻击者需要在目标网络上产生不稳定性,容易引起怀疑。此外,ARP欺骗攻击通常需要本地网络访问权限,因此无法用于跨互联网的攻击,存在一定的缺陷。想要防御ARP欺骗可以使用网络防火墙、网络监控工具和安全认证措施。网络管理员可以配置网络设备以限制ARP流量,实施静态ARP条目,或使用ARP监控工具来检测异常ARP请求和响应。此外,强制双因素身份验证、使用虚拟专用网络(VPN)以及定期更新操作系统和网络设备的软件也可以增强网络的安全性,减少ARP欺骗风险。