作者:yklyh | 来源:互联网 | 2023-07-16 17:52
202128102021-2022-2《网络攻防实践》第四次作业一.实验内容TCPIP协议栈攻击概述网络安全属性与攻击模式:网络安全属性:机密性、完整性、可用性、真实性和不可抵赖性
20212810 2021-2022-2 《网络攻防实践》第四次作业
一.实验内容
TCP/IP协议栈攻击概述
- 网络安全属性与攻击模式:
网络安全属性:机密性、完整性、可用性、真实性和不可抵赖性
网络攻击基本模式:截获、中断、篡改和伪造。截获是一种被动的攻击模式,其目的是获取网络通信双方的通信信息内容,是对机密性的违反。中断攻击是使目标的正常网络通信和回话无法继续,是对可用性的破坏。伪造则是假冒网络通信方的身份,欺骗通信对方达到恶意目的。篡改则是对网络通信过程的内容进行修改
- TCP/IP网络协议栈安全缺陷与攻击技术
网络接口层(数据链路层):常用的协议包括R/ARP和PPP协议,分别为ip-mac转换协议和点对点传输协议。分别对应MAC地址欺骗和嗅探及监听攻击。
互连层(网络层):常用协议包括ICMP、BGP和ICMP等协议。IP地址只进行转发而不检查源IP地址的有效性,缺乏认证机制。ICMP协议可以控制路由路径,也可被用于洪泛攻击和Smurf攻击。
传输层:TCP/UDP协议。再建立之后仅通过IP地址、端口和SEQ\ACK号对通信对方进行验证,非常容易遭受伪造和欺骗攻击。另外TCP的三次握手可以造就SYN洪泛攻击。
应用层:HTTP、FTP、POP3/SMTP、DNS、SMB等均缺乏安全考虑,多采用明文传输。
网络层协议攻击
- IP源地址欺骗
首先对受信任主机进行攻击,使其丧失工作能力。
采样猜测目标服务器的初始序列号ISN,再返回SYN/ACK报文的时候设置为ISN+1。
伪造源地址为受信任的主机IP的SYN数据包
伪装成被信任主机发送ACK包,设置发送数据包的ACK值为预测目标主机ISN+1。
建立连接,假冒被信任主机与主机进行通信。
应用场景:网络扫描、拒绝服务攻击和对抗身份认证机制。
netwox伪造报文:netwox 41 -j 128 -k 1 -l 192.168.200.3 -m 192.168.200.5 -o 8
nmap伪造源地址:nmap -sS -p 8080 192.168.200.3 -D 192.168.200.5使用.5的地址进行扫描
防范措辞:随机化初始序列号、使用IPsec代替IP、避免使用基于IP地址的信任策略和在路由和网关上对抗IP源地址欺骗技术。
- ARP欺骗
ARP工作原理:当设备再数据链路层访问一个主机的时候,若已经得知对方的mac地址,则直接组合形成MAC帧进行传输;若只知道IP而不知道对方的MAC地址则通过ARP协议请求对方的MAC地址。
具体的工作过程:当缺失MAC地址的时候就想全网广播ARP请求,收到的主机会检查自己的IP与被请求的IP是否相符,相符则发送arp相应包。(在有些书中会说,无论IP相符与否,请求方的IP和MAC会在收到请求的主机中更新。)
攻击过程:当节点A发送对B节点的ARP请求包的时候,同一网段的主机都会收到请求。B会返回IP(B)/MAC(B),但是攻击机器C会返回IP(B)/MAC(C),其他机器不做应答。C不断返回错误的数据,导致A的IP-MAC映射表保存了错误的值。当A想B发送数据的时候,将会发送到C的端口。若C同时冒充A和B,则这就构成了中间人攻击
应用场景:作为中间人嗅探信息,进行病毒传播等等
使用netwox进行ARP欺骗命令:netwox 33 -b MAC(A) -g IP(B) -h MAC(A) -i IP(A),关键在于-g IP(B)使得目标主机保存错误的映射关系。
ARP攻击的防范措施:使用静态绑定关键自己的IP地址与MAC地址的映射表
*** ICMP路由重定向攻击**
重定向机制原理:ICMP控制类报文中的路由重定向用来更新主机的路由表从而提高网络的传输效率。
重定向攻击过程:攻击者使用IP源地址欺骗技术,冒充IP网关,向攻击节点发送ICMP重定向报文。被攻击节点进行审核后接受ICMP请求,从而攻击者将成为被攻击者和路由网关之间的桥梁。转发过程中根据重定向原理会发送真实的重定向报文。
使用netwox进行重定向攻击:netwox 86 -f "host 靶机IP" -g 攻击机IP -i 网关IP
防范措施:过滤一些类型的ICMP数据包,设置防火墙过滤,判断ICMP重定向报文是不是来自路由器
传输层协议攻击
TCP RST攻击
TCP RST攻击原理:TCP协议头中有一个reset位置,用来表示会话中断。通过设置合理的seq和ack字段就可以达到关闭连接的效果
TCP会话劫持攻击
TCP会话攻击原理:在靶机建立TCP会话之后再进行劫持,避免需要进行身份验证。简单来说就是攻击时间点后移的盲攻击
TCP会话攻击过程:靶机与服务器进行连接,服务器向靶机返回相应包,其中的序列号被攻击机嗅探得到,进而仿冒靶机向服务器发送数据包。此时攻击机仿冒服务器向靶机发送RST包,避免靶机对通信的干扰。
TCP会话劫持防御措施:初始序列号随机化、网络设计优化、新一代网络协议、禁用主机源路由、采用静态IP-MAC映射表及引用和过滤ICMP重定向报文等方法。或者采用对抗TCP攻击的通用方法IPsec。
TCP SYN Flood拒绝服务攻击
SYN Flood攻击原理:正常的TCP会话需要三次握手:客户端SYN同步信息到服务器,服务器响应SYN-ACK,客户机返回ACK。简单来概括就是当服务器收到SYN后就必须回复并等待ACK,这将大量占用内存资源。当资源耗尽之后,服务器将拒绝新的连接,导致此端口无法响应机器的正常请求连接。
SYN Flood攻击的防范措施:1. 通过SYN-COOKIE技术:在建立TCP连接的过程中不分配资源,而是返回生成的COOKIE报文,当客户端再次返回ACK的时候,使用ACK的头部信息计算COOKIE与返回的COOKIE进行比较,确认是否接受连接。2.通过防火墙地址状态监控技术:当防火墙监听到源地址的SYN报文和服务器的SYN\ACN报文就自动替客户机返回ACK,若一段时间内没有收到客户机的ACK就断开连接,并将客户机设置为bad的状态,禁止他再次连接。
UDP Flood拒绝服务攻击
UDP Flood攻击的原理:利用UDP无状态的特性,向靶机发送尽可能多的UDP报文。
UDP Flood攻击的防范措施:禁用或过滤监控和响应服务;禁用或过滤其他的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协议
二.实验过程
查看ip地址和mac地址:
1.ARP 缓存欺骗攻击:
ping Linux,并用 arp -a 查看 arp 缓存表:
打开Kali,利用netwox 33 -b -(A的mac地址) -g -(B的ip地址) -h -(A的mac地址) -i -(A的ip地址)命令对其进行攻击:
查看ARP表,mac地址已经发生了改变:
2.ICMP重定向攻击
1.查看ip地址:
kali 192.168.200.66
seed 192.168.200.65
2.查看路由表. 192.168.200.2
3.在kali中执行命令
使用netwox的86号工具进行ICMP重定向攻击,在Kali攻击机上执行命令netwox 86 -f "host 192.168.200.65" -g 192.168.200.66 -i 192.168.200.2,这个命令是当嗅探到SEED的数据包时,以192.168.200.2的名义发送ICMP重定向报文,使Kali成为其默认路由。
4.ping Baidu.com后看到数据包已经被重定向到192.168.200.66
3.SYN Flood攻击
kali 192.168.200. 66
seed 192.168.200.65
linux 192.168.200.123
1.在SEED_VM 环境中执行 telnet192.168.200.123
2.在kali输入netwox 76 -i 192.168.200.123 -p 23,该攻击是TCP里面的SYN Flooding,Dos攻击
3.打开Wireshark查看,可以看到攻击机向靶机发送了大量的虚假ip发出的SYN连接请求,我们无法确定攻击机ip地址
4.TCP会话劫持攻击
kali 192.168.200.66
SEED_VM 192.168.200.65
linux 192.168.200.123
在kail中,执行命令ettercap -G打开Ettercap工具,选择“eth0”作为嗅探监听接口
进入Host List
分别添加target1和target2,选择MITM menu中的 ARP poisoning 进行ARP欺骗
在kali的Ettercap中选择Ettercap Menu菜单栏上选择View-Connections
登录靶机,telnet 192.168.200.123
回到kali可以看到Ettercap已经截获两个靶机的信息
三.学习中遇到的问题及解决
实验一中第一次ARP欺骗不成功
后来发现是IP地址和MAC地址的映射搞错了
实验二里面也有错误,后来莫名就好了
四.学习感悟、思考
这次实验感觉小问题不断,老是搞不清楚实验中每一步的意义。实验过程中比照视频来做,但是我们应该要在会用的同时,尽量理解基本原理,以后应该少做搬运工,尽力自己去弄明白每一步的原理。