20199127 2019-2020-2 《网络攻防实践》第五周作业
本次作业所所属课程 | 《网络攻防实践》 |
---|---|
作业要求 | 第五次作业 TCP/IP网络协议攻击 |
我在这个课程的目标是 | 学习和掌握网络攻防相关知识、技术、能力 |
这个作业在哪个具体方面帮助我实现目标 | 学习网络传输层协议层等攻击方式 |
参考 | TCP回话劫持原理和利用;《FTP文件传输协议》;《网络攻防技术与实践》 |
1.实践内容
网络安全属性
从安全属性来看,机密性(confidentiality)、完整性(intergrity)和可用性(availability)构成了网络安全的三个基本属性,也被称为安全金三角模型(CIA)。国际电信联盟(ITU)在X.800安全体系标准中还定义了网络安全的其他两个属性,包括真实性(authentication)和不可抵赖性(Non-Repudiation)
- 机密性:指网络中的信息不被非授权实体获取和使用,通常基于加密算法进行保障。
- 完整性:是指信息未经授权不能改变的特性,即信息在存储和传输过程中保持不被修改、不被破坏和丢失的特性。
- 可用性:是指被授权实体访问并按需求使用的特性,即当需要时能够正常地存取和访问所需信息的服务。
- 真实性:是指确保通信双方是它所声称的真是实体,而非假冒实体。
- 不可抵赖性:是指在通信中确保任何一方无法抵赖自己曾经做过的操作的安全特性,包括对自己行为的不可抵赖及对行为发生时间的不可抵赖,有时也被称为不可否认性和可审查性。
网络攻击基本模式
网络攻击的基本模式有以下四种:截获、中断、篡改、伪造。其中截获属于被动攻击模式,具体攻击技术为嗅探和监听;中断属于主动攻击,具体攻击技术为拒绝服务;伪造具体攻击技术为欺骗;篡改一般需结合身份欺骗进行中间人攻击。
TCP/IP网络协议栈安全缺陷与攻击技术
TCP/IP网络协议栈在设计时采用了分层模型,分为了网络接口层、互联层、传输层与应用层,每一层负责不同的功能,各自具有相应的网络协议,每个层次上都有一定的安全问题,具体如下
网络层协议攻击
IP源地址欺骗
IP协议在设计时只是用数据宝中的目标地址进行路由转发,从而不对原地址进行真实性验证。怀有恶意的攻击者会修改IP协议包头,使其包含一个不同的虚假IP地址,达到欺骗目标和隐藏发送源的目的。
防范措施包括:
- 使用随机化的初始序列号,使远程攻击者无法猜测到通过源地址欺骗伪装建立TCP连接所需的序列号。
- 使用网络层安全传输协议如IPsec,对传输的数据包进行加密。
- 避免采用基于IP地址的信任策略,以基于加密算法的用户身份认证机制来替代。
- 在路由器和网关上实施包过滤。
ARP欺骗
指攻击者在有线以太网或无线网络上发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗。
ARP协议在进行IP地址到MAC地址映射查询时存在安全缺陷,一方面采用了广播请求包方式在局域网段中询问映射关系,但没有对响应结果进行真实性验证的技术流程与方法,而另一方面ARP协议为提高效率,设计了ARP缓存机制,以及会将主动的ARP应答视作有效信息进行接受,这使得ARP缓存非常容易被注入伪造的IP地址到MAC地址的映射关系,从而进行欺骗。
防范措施包括:
- 静态绑定关键主机的IP地址与MAC地址的映射关系
- 使用相应的ARP防范工具
- 使用VLAN虚拟子网细分网络拓扑
- 加密传输数据
ICMP路由重定向攻击
攻击者通过伪装成路由器发送虚假的ICMP路由路径控制报文,使得受害主机选择攻击者指定的路由路径,从而进行嗅探或假冒攻击。
ICMP重定向攻击就是利用ICMP路由重定向报文来改变主机的路由表,向目标机器发送重定向消息,自己则可以伪装成路由器,使目标机器的数据报发送至攻击机从而加强监听。
方法措施包括:
- 根据类型过滤一些ICMP数据包
- 设置防火墙过滤
- 对ICMP重定向报文判断是不是来自本地路由器
传输层协议攻击
TCP RST攻击
这是一种假冒干扰TCP通信连接的技术方法。TCP重置报文将直接关闭掉一个TCP会话连接。
TCP会话劫持攻击
对于攻击者来说,所必须要做的就是窥探到正在进行TCP通信的两台主机之间传送的报文,这样攻击者就可以得知该报文的源IP、源TCP端口号、目的IP、目的TCP端号,从而可以得知其中一台主机对将要收到的下一个TCP报文段中seq和ackseq值的要求。这样,在该合法主机收到另一台合法主机发送的TCP报文前,攻击者根据所截获的信息向该主机发出一个带有净荷的TCP报文,如果该主机先收到攻击报文,就可以把合法的TCP会话建立在攻击主机与被攻击主机之间。带有净荷的攻击报文能够使被攻击主机对下一个要收到的TCP报文中的确认序号(ackseq)的值的要求发生变化,从而使另一台合法的主机向被攻击主机发出的报文被被攻击主机拒绝。
防范措施包括:
- 禁用主机上的源路由
- 采用避免ARP欺骗的措施
- 采用避免被ICMP重定向的措施
TCP SYN Flood拒绝服务攻击
利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。
防范措施包括:
- SYN-Cookie措施
- 防火墙地址状态监控技术
UDP Flood 拒绝服务攻击
UDP洪泛是一种拒绝服务攻击,其中大量的用户数据报协议(UDP)数据包被发送到目标服务器,目的是压倒该设备的处理和响应能力。防火墙保护目标服务器也可能因UDP泛滥而耗尽,从而导致对合法流量的拒绝服务。
防范措施包括:
- 禁用或过滤监控和响应服务
- 在网络关键位置使用防火墙和代理机制来过滤掉一些非预期的网络流量
TCP/IP网络协议栈攻击防范措施
- 监测、预防和安全加固
- 在网络接口层,主要的安全威胁是网络嗅探。主要任务是利用防范网络嗅探的思想检测监听点,并在设计上细分和优化网络结构。
- 在互连层上。采用多种检测和过滤技术进行检测和预防,并通过静态绑定IP-MAC映射表、使用IPsec进行安全加固
- 在应用层上。采用审计、入侵检测等方法进行检测和预防,通过加密、用户及身份认证、数字签名技术和授权及访问控制等进行安全加固。
- 网络安全协议:
- 网络接口层:IEEE 802.11下属的相关协议,如WEP和WPA/WPA2,还有IEEE8002.11X协议
- 网络互连层:IPsec协议簇。IPsec协议包含AH协议和ESP协议, AH协议提供无连接的完整性、数据源认证和抗重放保护服务;ESP提供IP协议的机密性、数据源验证、抗重放以及数据完整性保护服务。
- 传输层的安全协议:传输层上的安全协议是TLS。基本特性是:加密和可靠。
- 应用层安全协议:针对不同的安全机制可以使用HTTPS代替HTTP、S/MIME代替POP3/SMP,SSH代替telnet等等。
- 应用下一代IPv6协议
2.实践过程
前提准备,查询IP及MAC地址
主机 | IP地址 | MAC地址 |
---|---|---|
SEEDubuntu攻击机(C) | 192.168.200.67 | 00:0C:29:6B:F2:29 |
Metasploitable2-linux靶机(A) | 192.168.200.125 | 00:0C:29:68:63:29 |
WinXP靶机(B) | 192.168.200.66 | 00:0C:29:8E:59:AC |
ARP欺骗攻击
攻击机C利用netwox分别对A和B进行ARP欺骗, 使A,B中的ARP缓存表中的映射关系分别是IP(B)/MAC(C), IP(A)/MAC(C). 对A、B进行欺骗, 在局域网广播B的IP地址对应的MAC地址:
netwox 80 -e 00:0c:29:6b:f2:29 -i 192.168.200.125
netwox 80 -e 00:0c:29:6b:f2:29 -i 192.168.200.66
ICMP重定向攻击
在攻击机C上执行netwox 86 -f "host 192.168.200.66" -g 192.168.200.67 -i 192.168.200.1
,当嗅探到192.168.200.66
(B)的数据包,就以192.168.200.1
的名义向B发送ICMP重定向报文, 使192.168.200.67
(C)的IP地址成为B的路由,之后用route print
查看路由,可以看到攻击成功
SYN Flood攻击
C用netwox76号工具对A进行攻击,命令netwox 76 -i 192.168.200.125 -p 21
,再在B中用ftp再次访问A,连接失败
用wireshark可以查看许多未知ip向A发送SYN包
TCP RST攻击
C用netwox 78号工具对A进行攻击,命令netwox 78 -i 192.168.200.125
,再使B用telnet访问A的界面显示连接失败
TCP会话劫持攻击
靶机B telnet靶机A ,攻击机C打开wireshark,然后再windowsxp系统靶机B上输入ls
,在wireshark上查看数据(用telnet过滤,查看最后一个包的源端口,目的端口,next seq和ack信息)
伪造发下一个包,将next seq作为下一个包的ack,用ack作为下一个包的seq。攻击机C使用 netwox 工具伪造B给 A发一个 tcp 包
netwox 40 --ip4-dontfrag --ip4-offsetfrag 0 --ip4-tt1 64 --ip4-protocol 6 --ip4-src 192.168.200.105 --ip4-dst 192.168.200.125 --tcp-src 1059 --tcp-dst 23 --tcp-seqnum 1529531921 --tcp-acknum 2976547778 --tcp-ack --tcp-psh --tcp-window 128 --tcp-data ``"6869"
命令解释:在ip4-src
后输入B的地址,在ip4-dst
后输入靶机A的地址,tcp-src
输入源端口地址,tcp-seqnum
和tcp-acknum
输入伪造的值,tcp-data
是要发的数据的16进制值,这里的是hi的16进制。
观察wireshark存在TCP Dup, TCP Dup ACK7#1表示是哪个序号的报文丢失,是第几次丢失,而且可以看到攻击机以靶机B的名义向A发送的数据“hi”
3.学习中遇到的问题及解决
问题:metasploitable2-linux的IP突然自动由192.168.200.125变为192.168.200.2。此前我未对此虚拟机的网络设置进行任何修改,我也不清楚为什么自动变更。好在我只是一时没发现,结果ping不通,发现后其他并没有影响。
4.实践总结
加深了对网络攻防技术的认识,理论与实践相结合,提高了自己对使用TCP/IP网络协议攻击的能力。