目录
实践四 TCP/IP网络协议攻击
1.实践内容
在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,
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会话连接对服务端进行控制或获取资源,期间不需要再次进行身份验证。为攻击者提供了一种绕过应用层身份认证的技术途径。
2.实践过程
虚拟机 | IP地址 | MAC地址 |
---|---|---|
Kali | 192.168.200.5 6 | 00:0c:29:8b:3f:38 |
Win2kServer | 192.168.200.131 | 00:0C:29:7E:9E:CA |
MetasploitableLinux | 192.168.200.123 |
2.1 ARP缓存欺骗攻击
在MetasploitableLinux虚拟机上ping Win2kServer虚拟机
使用arp -a 指令查看MetasploitableLinux的arp缓存表。Win2k的MAC地址00:0C:29:7E:9E:CA
使用安装指令sudo apt-get install netwox
在Kali上安装netwox工具
使用指令netwox 80 -e 12:34:56:78:9A:BC 192.168.200.131修改的win2k的mac地址
通过指令arp-a查看缓存表发现Win2kServer的MAC地址变成了使用命令伪造的MAC地址
2.2 ICMP重定向攻击
虚拟机 | IP地址 |
---|---|
Kali | 192.168.200.5 |
SEEDUbuntu | 192.168.200.3 |
使用如下命令进行ICMP重定向攻击
地址变为为之前设置的kaliIP地址
1.3 SYN Flood攻击
虚拟机 | IP地址 |
---|---|
Kali | 192.168.200.5 |
MetasploitableLinux | 192.168.11.120 |
SEEDUbuntu | 192.168.200.3 |
telnet 192.168.11.220 检查SEEDUbuntu与MetasploitableUbuntu进行正常telnet连接
再尝试一次登录成功
使用netwox 76 -i 192.168.11.220 -p 23针对telnet服务的SYN Flood攻击 再次使用telnet 192.168.11.220,发现SEEDUbuntu与MetasploitableUbuntu不能进行正常telnet连接
在Kali上打开Wireshark,可以发现Kali将大量伪造源地址的SYN请求数据包发送给了MetasploitableUbuntu,大量数据包引起的泛洪攻击
2.4 TCP RST攻击
虚拟机 | IP地址 |
---|---|
Kali | 192.168.200.5 |
MetasploitableLinux | 192.168.11.220 |
SEEDUbuntu | 192.168.200.3 |
使用指令telnet 192.168.11.220,检查SEEDUbuntu与MetasploitableUbuntu进行正常telnet连接,
SEEDUbuntu与MetasploitableUbuntu无法进行正常telnet连接
停止使用TCP RST攻击工具,恢复正常连接
2.5 TCP会话劫持攻击
虚拟机 | IP地址 |
---|---|
Kali | 192.168.200.5 |
MetasploitableUbuntu | 192.168.200.120 |
SEEDUbuntu | 192.168.200.3 |
使用指令sudo ettercap -G打开攻击工具ettercap
然后我们分别把这两ip设为target1和target2
SEEDUbuntu主机上使用telnet 192.168.200.120登录MetasploitableLinux
在Kali上查看telnet登录后建立的连接,可以查询到登录使用的用户名和密码
3. 学习中遇到的问题及解答
一直扫描不出MetasploitableUbuntu的ip地址,后面重新修改了IP地址为192.168.200.120才扫描出来。
4. 反思小结
通过本次实验,我学习到了各种TCP/IP网络协议攻击的基本原理和方法。更熟悉使用了各种网络工具。