目录
- 20232831 2023-2024-2 《网络攻防实践》第4次作业
- 1.实验内容
- 2.实验过程
- (1)ARP缓存欺骗攻击
- (2)ICMP重定向攻击
- (3)SYN Flood攻击
- (4)TCP RST攻击
- (5)TCP会话劫持攻击
- 3.学习中遇到的问题及解决
- 4.学习感悟、思考等
- 参考资料
20232831 2023-2024-2 《网络攻防实践》第4次作业
1.实验内容
在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。
ARP缓存欺骗攻击:ARP(地址解析协议)缓存欺骗攻击是一种网络攻击,攻击者向目标主机发送虚假的ARP响应,将目标主机的IP地址映射到攻击者控制的MAC地址上。这使得攻击者能够中间窃取、篡改或监视目标主机与其他网络设备之间的通信。
ICMP重定向攻击:ICMP重定向攻击是一种利用ICMP(Internet控制消息协议)消息欺骗目标主机的攻击。攻击者发送伪装的ICMP重定向消息给目标主机,指示目标主机使用不安全的路由器或网关进行通信。这可能导致流量被重定向到攻击者控制的设备,从而实现中间人攻击。
SYN Flood攻击:SYN Flood攻击是一种拒绝服务(DoS)攻击,旨在消耗目标服务器的资源,使其无法响应合法用户的请求。攻击者向目标服务器发送大量伪造的TCP连接请求(SYN),但不完成TCP三次握手过程,从而导致服务器在维护未完成的连接队列时耗尽资源,无法处理新的连接请求。
TCP RST攻击:TCP RST攻击是一种利用TCP协议中的复位(RST)标志发送虚假TCP RST分节的攻击。攻击者发送虚假的TCP RST分节给目标主机,强制终止已建立的TCP连接。这种攻击可能导致服务中断或数据损坏。
TCP会话劫持攻击:TCP会话劫持攻击是一种攻击者劫持已建立的TCP会话的攻击。攻击者在TCP握手阶段或后续通信中窃取会话标识符,并伪装成合法用户,以获取对目标系统的访问权限。一旦劫持成功,攻击者可以执行恶意操作,例如窃取敏感信息或执行未经授权的操作。
2.实验过程
(1)ARP缓存欺骗攻击
首先,对实验环境进行配置。
直接打开三台虚拟机,查询它们的IP地址和Mac地址。由于在实验一中已经配置过,因此直接展示如下:
虚拟机名称 | IP地址 | MAC地址 |
---|---|---|
Kali-Linux攻击机(Vmnet8网段) | 192.168.200.4 | 00:0c:29:38:6b:f1 |
Metasploitable-Linux靶机 (Vmnet1网段) | 192.168.200.123 | 00:0c:29:3d:fb:01 |
Win2kServer靶机(Vmnet1网段) | 192.168.200.124 | 00:0C:29:36:cf:15 |
Kali-Linux攻击机:
Metasploitable-Linux靶机
Win2kServer靶机
互ping发现,靶机之间可以互相ping通,但是攻击机与靶机无法互ping,这是因为攻击机与靶机不在同一网段,攻击机在Vmnet8网段,而靶机位于Vmnet1网段:
但是查看实验一发现,即使不在同一网段,互ping也能实现。当时配置结束时是可以实现ping通的,做下的记录如下:
当时的实验环境是打开了蜜网网关,猜测应该是蜜网网关的开启,能够链接起不同的网段,因此再次打开蜜网网关后,发现可以实现互ping。
因此继续进行以下实验:
首先使用Metasploitable-Linux靶机 ping Win2kServer靶机:
在Metasploitable-Linux靶机中输入arp -a查看当前的ARP表,发现有网关(因为开了蜜网网关,如果关闭蜜网网关,则没有这条记录)和Win2kServer靶机的IP记录和MAC地址记录
且其中Win2kServer靶机的记录为:192.168.200.124/00:0C:29:36:cf:15,与查看的IP和MAC相同
使用以下命令进行工具netwox的安装
sudo apt-get install netwox
使用该工具进行以下代码的操作,实现ARP缓存欺骗攻击,即使用netwox伪造并发一个mac地址(虚假mac地址)为00:0C:29:36:cf:16且ip地址为192.168.200.124的数据包,目的是让Metasploitable-Linux靶机误以为虚假mac地址就是Win2kServer靶机的mac地址,但实际上这个虚构地址并不是:
sudo netwox 80 -e 00:0C:29:36:cf:16 192.168.200.124
可以看出已经发生改变,最后的15变成了16,说明欺骗成功。
且Win2kServer靶机也检测到了异常,接受到了伪造的信息。
攻击成功后会发现,Metasploitable-Linux靶机无法ping通Win2kServer靶机,欺骗成功:
(2)ICMP重定向攻击
首先,对实验环境进行展示。
虚拟机名称 | IP地址 |
---|---|
Kali-Linux攻击机(Vmnet8网段) | 192.168.200.4 |
SeedUbuntu靶机 (Vmnet8网段) | 192.168.200.3 |
首先在SEEDUbuntu上ping www.baidu.com检查连通性,并查看路由信息route -n:
可以发现下一个跳的第一个ip地址是网关192.168.200.1
在Kali上使用==netwox ==伪造重定向数据包,即将局域网中来源于IP为192.168.200.3的数据包抓取,并以网关192.168.200.1的名义向数据包的源地址发送一个ICMP重定向报文,使得Kali攻击机的IP地址192.168.200.4作为默认路由,使用的代码如下:
sudo netwox 86 -f "host 192.168.200.3" -g 192.168.200.4 -i 192.168.200.1
在SEEDUbuntu上再次ping www.baidu.com,发现已经重定向到192.168.200.4上,则ICMP重定向攻击成功,路由的下一跳地址被修改为了192.168.200.4。
(3)SYN Flood攻击
虚拟机名称 | IP地址 |
---|---|
Kali-Linux攻击机(Vmnet8网段) | 192.168.200.4 |
SeedUbuntu靶机 (Vmnet8网段) | 192.168.200.3 |
Metasploitable-Linux靶机 (Vmnet1网段) | 192.168.200.123 |
首先,使用SeedUbuntu,通过telnet命令远程连接Metasploitable-Linux靶机,检测连通性:
telnet 192.168.200.123
可以看到连接成功!
随后,使用Kali攻击机对Metasploitable-Linux靶机的telnet端口(23号端口)进行SYN Flood攻击,即拒绝服务攻击,消耗靶机的资源,使得服务崩溃,导致SeedUbuntu无法使用telnet远程连接Metasploitable-Linux:
sudo netwox 76 -i 192.168.200.123 -p 23
打开kali的wireshark 可以看见,Kali攻击机正在向Metasploitable-Linux靶机(192.168.200.123)的23号端口疯狂发送SYN请求
即实现SYN Flood泛洪攻击!
(4)TCP RST攻击
虚拟机名称 | IP地址 |
---|---|
Kali-Linux攻击机(Vmnet8网段) | 192.168.200.4 |
SeedUbuntu靶机 (Vmnet8网段) | 192.168.200.3 |
Metasploitable-Linux靶机 (Vmnet1网段) | 192.168.200.123 |
首先,使用SeedUbuntu,通过telnet命令远程连接Metasploitable-Linux靶机,检测连通性:
在Kali攻击机中输入以下命令,实现SYN Rst攻击:
sudo netwox 78 -i 192.168.200.123
开始攻击后,稍等十秒左右,就会发现telnet连接被外界打断:
再次通过telnet连接,无法连接上,说明TCP RST攻击成功!
(5)TCP会话劫持攻击
虚拟机名称 | IP地址 |
---|---|
Kali-Linux攻击机(Vmnet8网段) | 192.168.200.4 |
SeedUbuntu靶机 (Vmnet8网段) | 192.168.200.3 |
Metasploitable-Linux靶机 (Vmnet1网段) | 192.168.200.123 |
这次的攻击更换了ettercap工具,首先,在Kali攻击机上使用以下命令进行工具的打开:
sudo ettercap -G
点击右上角的√按钮,进行工具的开始使用:
在右上角依次点击Ettercap Menu、Hosts、Host List,将SEEDUbuntu和MetaSploitable的IP设置为攻击目标。然而打开后发现并没有这两个靶机的IP,甚至一个IP都没有。
因此,点击Scan for hosts,进行网段内主机扫描后,再查看Host List,即可发现以下IP:
192.168.200.1(网关)
192.168.200.3(SeedUbuntu靶机)
192.168.200.8(蜜网IP)
192.168.200.120(此为结束ip地址,暂未知为何存在,也许是网关或者用于留存下来的IP)
192.168.200.123(Metasploitable-Linux靶机)
因此,在Host List中将SEEDUbuntu和MetaSploitable的IP分别设置为攻击目标1和攻击目标2:
随后点击ARP Poisoning进行ARP欺骗
点击Connections查看连接,进行SEEDUbuntu和MetaSploitable之间的连接查看
此时还没有使用SEEDUbuntu进行MetaSploitable的telnet登录,因此列表为空:
接着,使用SeedUbuntu,通过telnet命令远程连接Metasploitable-Linux靶机
可以看到Connections连接列表中出现了相关信息,即192.168.200.3通过23号端口对192.168.200.123进行了连接:
点击这条信息,可以得到更详细的内容:
甚至能查看输入的账号密码,以及靶机的交互界面:
攻击成功!
试验结束!
3.学习中遇到的问题及解决
- 问题:一开始,攻击机和靶机不在同一网段,无法连通,这导致后续实验均不可成功实现!
- 问题解决方案 :通过排查以及参考自己的实验一(第一次作业),发现即使不在同一网段(Vmnet1、Vmnet8),也可以进行连通互ping,只需要打开蜜网网关即可,这是实验一中的内容得到的经验。(当然也可以简单粗暴,直接将所有实验的攻击机和靶机均放入同一网段,例如都在Vmnet1或者Vmnet8)
4.学习感悟、思考等
通过本次实验,我学习了TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击这五个实验。实验过程中,我了解了攻击原理,同时排查了网段不同导致出现的问题,对网络攻防以及网络连接的理解进一步加深。
参考资料
- 20232831 2023-2024-2 《网络攻防实践》第1次作业(未传上网)
- ChatGPT