实践四 TCP/IP网络协议攻击
实践内容
(1) ARP缓存欺诈攻击
该攻击主要是通过攻击机向整个网段发送伪造的ARP包,使得整个网段被广播,在网段内的终端的MAC地址表中都会存住了这个对应MAC地址和IP地址的关系,使得造成一定的错乱
(2) ICMP重定向攻击
和ARP缓存攻击差不多,只不过ICMP缓存是伪造路由器向主机发送的地址报来伪造修改主机中的路由表,该实验主要是将主机中的路由表下一跳的地址所修改,由原本的网关修改成攻击机的IP地址
(3) SYN Flood攻击
该攻击按理来说是DDoS攻击的一种,也叫洪泛攻击,也就是向网段内的某一主机不停地发送初始请求连接的SYN连接报文,把一些合法的流量报文挤兑走,造成卡顿甚至数据丢失,无法响应正常的连接请求和合法流量,实验内容就是比对使用洪泛攻击前后的靶机响应请求情况
(4) SYN Rst攻击
首先先介绍一下啥事SYN Rst报文,这个报文就是在某些错误连接发生时的强制断开连接,也被称为复位报文。类比洪泛攻击,SYN Rst攻击会不断的对靶机发送复位连接的请求,使得靶机完全无法接受合法流量,同样,实验内容是对比SYN Rst攻击发生前后靶机的响应请求情况
(5) TCP会话劫持攻击
利用ettercap工具对同个网段中的设备进行扫描,同时进行报文的截获监听,主要原理是用ARP报文欺骗双方,令两方目标认为不存在监听的“中间人”
实践过程
(1) ARP缓存欺诈攻击
网络配置
所用到的虚拟机:
虚拟机 | IP地址 | MAC地址 |
---|---|---|
Kali-Linux(攻击机) | 192.168.201.5 | 00:0c:29:b5:82:4a |
Metasploitable-Linux(靶机) | 192.168.201.4 | 00:0c:29:69:65:53 |
Win2kServer(靶机) | 192.168.201.3 | 00:0C:29:93:53:6B |
在此之前需要将这三个虚拟机的ip地址放入同一网段内,都放在VMnet1中好了
顺便需要改一下ip地址
在第一周的时候kali的ip地址是由VMnet8的DHCP协议直接分配的,所以这里我们要在/etc/network/interfaces中修改掉其ip地址
vim /etc/network/interfaces
systemctl restart networking
重启网络服务以后可以用ip addr查看,发现已经修改掉ip地址了
顺便附上Metasploitable和Win2kService的ip地址
互ping测试
- Metasploitable ping Kali
- Metasploitable ping Win2kService
- Kali ping Metasploitable
在Metasploitable ping过Win2kService后,记录原本的arp
输入命令
arp -a
可以发现其对应的MAC地址和之前设置的MAC地址表中的内容相同
都为00:0C:29:93:53:6B
先给攻击机Kali安装一个netwox
接下来用netwox修改
netwox 80 -e 00:0C:29:93:53:B6 192.168.201.3
netwox伪造了一个ip地址为192.168.201.3,且mac地址为00:0C:29:93:53:B6的数据包
下图可以看到Metasploitable靶机成功接收到了arp的欺骗
顺便Win2kService靶机应该也接收到了Kali中netwox发出的伪造数据包
直接显示来自另一个mac地址的设备使用相同的ip地址,说明在这个网段上的arp欺骗成功了
(2) ICMP重定向攻击
虚拟机 | IP地址 |
---|---|
Kali-Linux(攻击机) | 192.168.200.4 |
Ubuntu(靶机) | 192.168.200.3 |
首先把ip地址修改一下
首先看一下靶机上的路由表配置
可以发现在找下一个跳转接口的首要ip地址是网关192.168.200.1
接下来通过kali中的netwox命令实现icmp重定向攻击
netwox 86 -f "host 192.168.200.3" -g 192.168.200.4 -i 192.168.1
可以看到ICMP重定向攻击成功,路由的下一跳地址被修改为了192.168.200.4
(3) SYN Flood攻击
虚拟机 | IP地址 |
---|---|
Kali-Linux(攻击机) | 192.168.200.4 |
Ubuntu(靶机) | 192.168.200.3 |
Metasploitable(靶机) | 192.168.200.7 |
这里又需要把Metasploitable重新修改一下IP地址,其余不需要修改
首先Ubuntu通过telnet终端登录Metasploitable
telnet 192.168.200.7
在攻击机Kali上使用命令
netwox 76 -i 192.168.200.7 -p 23
再次使用Ubuntu telnet访问Metasploitable
发现出现了Escape的提示,同时变得卡顿
打开kali上的wireshark实现监听
发现有大量的目的地IP地址为192.168.200.7的数据包发送,实现洪泛攻击
(4) SYN Rst攻击
虚拟机 | IP地址 |
---|---|
Kali-Linux(攻击机) | 192.168.200.4 |
Ubuntu(靶机) | 192.168.200.3 |
Metasploitable(靶机) | 192.168.200.7 |
网络配置和上一个实验一样保持不变
首先用Ubuntu telnet连接Metasploitable
在Kali攻击机中输入命令,实现SYN Rst攻击
netwox 78 -i 192.168.200.7
再次使用Ubuntu访问Metasploitable,发现已经无法访问,说明攻击成功,其主要原理是通过发送Rst的报文强制关闭TCP对话,使得所有通过TCP协议访问靶机的连接请求全部无效
(5) TCP会话劫持攻击
虚拟机 | IP地址 |
---|---|
Kali-Linux(攻击机) | 192.168.200.4 |
Ubuntu(靶机) | 192.168.200.3 |
Metasploitable(靶机) | 192.168.200.7 |
网络配置同样如上一个实验
首先在Kali上打开工具
ettercap -G
点击√打开软件
首先需要扫描网段中所在的主机列表
可以看到增加了四个主机单位
点击获取主机列表
可以看到这个列表里是这个网段上全部的设备
其中:
- 192.168.200.1[网关]
- 192.168.200.120[网关]
- 192.168.200.3[靶机Ubuntu]
- 192.168.200.7[靶机Metasploitable]
为实现TCP劫持,我们要把这两个目标加入: - 192.168.200.3[靶机Ubuntu]
- 192.168.200.7[靶机Metasploitable]
点击开始嗅探
查看网段内目标之间的连接
发现了Ubuntu和Metasploitable之间TCP连接的相关报文
点击可以发现账号和密码被截获
学习感想和体会
这节课学习了主动攻击的几种方法,主要包括ARP缓存欺诈攻击、ICMP重定向攻击
、SYN Flood攻击、SYN Rst攻击、TCP会话劫持攻击。这几种攻击方式都是围绕TCP协议进行的几种攻击,说明一个协议被制订后并不是完美的,仍然是有漏洞的,在一个网络上如果单纯依靠一开始制订的协议很可能就会被利用其中的漏洞,从而造成数据丢失等等的损失