20231905 2023-2024-2 《网络攻防实践》实验四
1.实践内容
在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。
1.1 ARP缓存欺骗攻击
攻击者在有线以太网或无线网络上发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗,从而达到恶意目的的攻击技术。
原理:局域网是根据MAC地址进行传输。ARP协议在进行IP地址到MAC地址映射查询时存在安全缺陷,ARP缓存非常容易被注入伪造的IP地址到MAC地址的映射关系,从而进行欺骗。
1.2 ICMP重定向攻击
指攻击者伪装成路由器发送虚假的ICMP路由路径控制报文,使得受害主机选择攻击者指定的路由路径,从而进行嗅探或假冒攻击的一种技术。利用ICMP路由重定向报文改变主机路由表,向目标主机发送重定向消息,伪装成路由器,使得目标机器的数据报文发送至攻击机从而加强监听。
1.3 SYN Flood攻击
基于TCP三次握手的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而无法正常服务。
1.4 TCP RST攻击
TCP协议头有一个reset,该标志位置为1,接收该数据包的主机即将断开这个TCP会话连接。tcp重置报文就是直接关闭掉一个TCP会话连接。
1.5 TCP会话劫持攻击
TCP会话劫持是劫持通信双方已经建立的TCP会话连接,假冒其中一方的身份,与另一方进行进一步通信。其中最核心的就是通过TCP对会话通信方的验证。原理:通常一些网络服务在建立TCP会话之后进行应用层的身份认证,客户端在通过身份验证之后就可以通过TCP会话连接对服务端进行控制或获取资源,期间不需要再次进行身份验证。为攻击者提供了一种绕过应用层身份认证的技术途径。
虚拟机 | 功能 | IP |
---|---|---|
kali | 攻击机 | 192.168.200.4 |
SEEDUbuntu | 攻击机 | 192.168.200.3 |
MetaSploitable | 靶机 | 192.168.200.123 |
Win2k | 靶机 | 192.168.200.124 |
2.实践过程
2.1 ARP缓存欺骗攻击
虚拟机 | IP |
---|---|
kali | 192.168.200.4 |
MetaSploitable | 192.168.200.123 |
Win2k | 192.168.200.124 |
在Metasploitable虚拟机上ping Win2kServer虚拟机
使用arp -a 指令查看Metasploitable的arp缓存表。Win2k的MAC地址00:0C:29:61:FD:CA
使用安装指令sudo apt-get install netwox,在kali上安装netwox工具
使用指令netwox 80 -e 12:34:56:78:9A:BC 192.168.200.124修改Win2k的MAC地址
通过指令arp-a查看缓存表发现Win2kServer的MAC地址变成了使用命令伪造的MAC地址
在kali上重新ping虚拟机Win2k,再通过指令arp-a查看缓存表,发现其MAC地址变回了原来的MAC地址
2.2 ICMP重定向攻击
虚拟机 | IP |
---|---|
kali | 192.168.200.4 |
SEEDUbuntu | 192.168.200.3 |
使用如下命令进行ICMP重定向攻击
发现SEEDUbuntu虚拟机的地址变为为之前设置的kali的IP地址
2.3 SYN Flood攻击
虚拟机 | IP |
---|---|
kali | 192.168.200.4 |
SEEDUbuntu | 192.168.200.3 |
MetaSploitable | 192.168.200.123 |
telnet 192.168.200.123 检查SEEDUbuntu与Metasploitable进行正常telnet连接
使用netwox 76 -i 192.168.200.123 -p 23针对telnet服务的SYN Flood攻击
使用wireshark,eth0. 发现攻击机向靶机的23号端口发送了大量没有MAC地址的SYN请求数据包。大量数据包引起的泛洪攻击使Metasploitable拒绝服务:
2.4 TCP Rst攻击
虚拟机 | IP |
---|---|
kali | 192.168.200.4 |
SEEDUbuntu | 192.168.200.3 |
MetaSploitable | 192.168.200.123 |
使用指令telnet 192.168.11.220,检查SEEDUbuntu与Metasploitable进行正常telnet连接,使用TCP RST攻击工具
SEEDUbuntu与Metasploitable无法进行正常telnet连接
2.5 TCP会话劫持攻击
虚拟机 | IP |
---|---|
kali | 192.168.200.4 |
SEEDUbuntu | 192.168.200.3 |
MetaSploitable | 192.168.200.123 |
使用指令sudo ettercap -G打开攻击工具ettercap
点击右上角对勾进入,在 hosts 菜单中选择 scan for host
在hosts中的hosts list中选择SEEDUbuntu和MetaSploitable作为靶机:
在菜单MITM中选择arp poisoning,点击ok:
菜单 view中点击connections,在SEEDUbuntu中对MetaSploitable进行telnet连接
kali中ettercap获取了SEEDUbuntu与MetaSploitable之间的连接信息(包括Linux的账户和密码信息)
3.学习中遇到的问题及解决
- 问题1:在kali上修改Win2k的MAC地址,通过指令arp-a查看缓存表发现其MAC没有发生变化
- 问题1解决方案:需要开启honeywall
4.实践总结
通过本次实验,我学习到了各种TCP/IP网络协议攻击的基本原理和方法。更熟悉使用了各种网络工具。