1、实践内容
1.1 TCP/IP网络协议栈攻击概述
1.1.1 网络安全属性与攻击模式
- 网络安全属性:机密性、完整性、可用性
- 网络攻击基本模式
在网络通信中,攻击者可以采用如下四种基本的攻击模式:被动威胁:截获(机密性),主动威胁:中断(可用性)、篡改(完整性)、伪造(真实性)。
1.1.2 TCP/IP 网络协议栈安全缺陷与攻击技术
- TCP/IP 网络协议栈的安全缺陷与攻击技术
1.2 网络层协议攻击
1.2.1 IP源地址欺骗
IP源地址欺骗是指攻击者伪造具有虚假源地址的IP数据包进行发送,以达到隐藏发送者身份、假冒其他计算机等目的。
- IP源地址欺骗过程
- IP源地址欺骗原理:IP协议在设计时只使用数据包中的目标地址进行路由转发,而不对源地址进行真实性的验证。
- IP源地址欺骗技术的应用场景:普遍应用于拒绝服务攻击,也应用于网络扫描。
- IP源地址欺骗的防范措施
(1)使用随机化的初始序列号
(2)使用网络层安全传输协议
(3)避免采用基于IP地址的信任策略
(4)在路由器和网关上实施包过滤
1.2.2 ARP 欺骗
ARP欺骗,是指攻击者在有线以太网或无线网络上发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗,从而达到恶意目的的攻击技术。
- ARP欺骗攻击过程
- ARP欺骗攻击技术原理:ARP欺骗攻击的根源在于ARP协议在设计时认为局域网内部的所有用户都是可信的,是遵循协议设计规范的,但局域网内可以存在内部攻击者,或者已渗透进入局域网的1外部攻击者或恶意代码。
- ARP欺骗技术的应用场景:交换式网络、构建中间人攻击、恶意代码
- ARP欺骗攻击防范措施
(1)静态绑定关键主机的IP地址与MAC地址映射关系
(2)使用相应的ARP防范工具
(3)使用VLAN虚拟子网细分网络拓扑,加密传输数据
1.2.3 ICMP 路由重定向攻击
ICMP路由重定向攻击是指攻击者伪装成路由器发送虚假的ICMP路由路径控制报文,使得受害主机选择攻击指定的路由路径,从而进行嗅探或假冒攻击的一种技术。
- ICMP 路由重定向攻击步骤示意图
- ICMP 路由重定向攻击原理:利用ICMP路由重定向报文改变主机路由表,向目标机器发送重定消息,自己则可以伪装成为路由器,使目标机器的数据报发送至攻击机从而加强监听。
1.3 传输层协议攻击
1.3.1 TCP RST攻击
TCP RST攻击,是指一种假冒干扰TCP通信连接的技术方法。
- TCP RST 攻击示意图
- TCP RST 攻击原理:TCP协议头的标志位中拥有一个“reset”比特位,绝大部分数据包中该标志位都置为0,而一旦该标志位置为1,则接收该数据包的主机将立即断开这个TCP会话连接,不再利用该连接进行数据包发送和接收。
1.3.2 TCP会话劫持攻击
-
TCP 会话劫持攻击原理:TCP会话劫持的目标是劫持通信双方已建立的TCP会话连接,假冒其中一方(通常是客户端)的身份,与另一方进行一步通信。
-
TCP 会话劫持攻击技术过程
-
TCP会话劫持攻击防范措施
(1)禁用主机上的源路由
(2)采用静态绑定IP-MAC映射表以避免ARP欺骗
(3)引用和过滤ICMP重定向报文
1.3.3 TCP SYN Flood 拒绝服务攻击
TCP SYN Flood利用TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为正常用户提供服务。
- 防范措施:SYN-Cookie技术、防火墙地址状态监控技术
1.3.4 UDP Flood拒绝服务攻击
-
原理:通过向目标主机和网络发送大量的UDP数据包,造成目标主机显著的计算负载提升,或者目标网络的网络拥塞,从而使得目标主机和网络陷入不可用的状态,造成拒绝服务攻击。
-
防范措施:禁用或过滤监控和响应服务、禁用或过滤其他的UDP服务。
1.4TCP/IP网络协议栈攻击防范措施
- 监测、预防与安全加固
- 网络安全协议
- 下一代互联网协议
2、实践过程
实践作业
在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,具体包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击及TCP会话劫持攻击(bonus)。
-
IP/MAC地址
IP地址 MAC地址 Kali Linux(攻击机) 192.168.200.4 00:0c:29:9e:dc:dd Linux MetaSploitable(靶机A) 192.168.200.6 00:0c:29:6e:32:02 WinXPattacker(靶机B) 192.168.200.3 00:0c:29:70:6B:CF
ARP缓存欺骗攻击
- WinXPattacker ping Linux MetaSploitable,用
arp -a
查看arp缓存表,图中Linux MetaSploitable的IP地址与MAC地址相对应。
- 在kali输入
network 80 -e Kali的MAC地址 -i MetaSploitable的IP地址
用netwox的80号工具周期性发送ARP应答包,告诉WinXPattacker,MetaSploitable的MAC地址为Kali的MAC地址,即00:0c:29:9e:dc:dd
- 如图可以看到MetaSploitable的MAC地址与Kail相同,即欺骗成功。
- 再次ping后将MAC地址恢复
ICMP重定向攻击
-
IP地址/网关IP地址
IP地址/网关IP地址 Kali Linux(攻击机) IP:192.168.200.4 SEEDUbuntu(靶机) IP:192.168.200.5 SEEDUbuntu(靶机) 网关IP:192.168.200.1 -
在SEEDUbuntu输入route,查询靶机路由为192.168.200.1
-
在Kali中输入netwox 86 -f "host 靶机SEEDUbuntu的IP地址" -g 攻击机Kali的IP地址 -i 靶机SEEDUbuntu的网关地址,意思是嗅探到数据包的源或目的IP地址192.168.200.5时,就以192.168.200.1的名义向数据包的源地址发送一个ICMP重定向报文,使之使用
192.168.200.4作为默认路由。
-
在靶机SEEDUbuntu中输入ping baidu.com,如图,靶机收到ICMP重定向报文
SYN Flood 攻击
*IP地址
IP地址 | |
---|---|
Kali Linux(攻击机) | 192.168.200.4 |
WinXPattacker(靶机) | 192.168.200.3 |
Linux MetaSploitable(靶机) | 192.168.200.6 |
- 在MetaSploitable中输入ftp WinXP的IP地址,从靶机MetaSploitable向靶机WinXP发送请求
- 在Kali中输入netwox 76 -i WinXP的IP地址 -p 21,利用netwox的76号工具攻击靶机,“-p 21”由于ftp端口为21
- 在MetaSploitable中再次输入ftp WinXP的IP地址,结果如图,则SYN Flood 攻击成功
TCR RST攻击
- IP地址
IP地址 | |
---|---|
Kali Linux(攻击机) | 192.168.200.4 |
WinXPattacker(靶机) | 192.168.200.3 |
Linux MetaSploitable(靶机) | 192.168.200.6 |
- 在WinXP中输入telnet MetaSploitable的IP地址,将两个靶机之间建立telnet联系
- 在Kali中输入netwox 78 -i “ MetaSploitable的IP地址”
- 返回WinXP界面,如图,telnet服务器断开连接
TCP会话劫持攻击
- IP地址
IP地址 | |
---|---|
Kali Linux(攻击机) | 192.168.200.4 |
SEEDUbuntu(靶机) | 192.168.200.5 |
Linux MetaSploitable(靶机) | 192.168.200.6 |
- 在SEEDUbuntu中输入telnet MetaSploitable的IP地址,建立连接
- 在Kali中打开Wireshark,选择eth0进行嗅探,筛选telnet,在SEEDUbuntu中输入ls,在wireshark的数据包中可以找到
- 筛选telnet,并选择最后一组,打开Transmission Control Protocol查看源端口号等信息
- 在Kali中输入netwox 40 --ip4-tll 664 --ip4-prtocal 6 --ip4-src 192.168.200.5 --ip4-dst 192.168.200.6 --tcp-src 58806 --tcp-dst 23 --tcp-seqnum 124 --tcp-acknum 682 --tcp-ack --tcp-psh --tcp-window 64 --tcp-data 6869 伪造客户端SEEDUbuntu给服务端MetaSploitable发送TCP包。
- 打开Wireshark,观察到TCP DUP报文,表示劫持成功
3、学习中遇到的问题及解决
- 问题一: 各种虚拟机各种不能上网而且特别卡!!!
- 解决:更换各种网络配置,百度各种办法,更换各种虚拟机,所以上述实验中靶机和攻击机不固定
- 问题二:
- 解决:IP地址之前没有输入空格
4、实践总结
网络攻防实践让我学到了更多知识的同时又一次磨练了我的耐心,但还是没有消耗我的体重!