概念介绍
DOS(Denial of Service,拒绝服务攻击)是指攻击者通过向目标系统发送大量请求或利用系统漏洞使其无法正常提供服务或资源给合法用户的一种攻击手段,DOS攻击的目标是削弱或完全中断目标系统的正常运行,导致服务不可用,与之相近的DDOS则主要是指流入受害者的流量来自许多不同的来源,DOS或DDOS攻击类似于一群人挤进商店或企业的大门,不让合法的一方进入商店或企业,扰乱正常的运作
类别划分
DOS/DDOS类别:
- 基于流量的攻击:攻击的目标是通过每秒发送的ICMP或UDP或TCP流量来淹没目标网络的带宽
- 基于协议的攻击:攻击者通过每秒发送TCP SYN Flood、Ping of death或Fragmented packets攻击等数据包来摧毁目标并使其对其他合法请求无响应,从而集中实际的目标服务器资源
- 基于应用层攻击:攻击者不会试图破坏整个服务器,而是通过每秒发送请求来集中攻击正在运行的应用程序,例如:攻击Wordpress、Joomla Web服务器,对Apache发出无限请求使其对其他合法请求无响应
靶场环境
环境地址
- 客户机IP:192.168.204.150
- 服务器IP:192.168.0.103
- 黑客机IP:192.168.204.135
网络拓扑
访问情况
客户机可以成功访问服务器的80端口的web服务
攻击演示
ICMP 泛洪攻击
基本介绍
ICMP(Internet Control Message Protocol)泛洪攻击是一种利用ICMP协议的特性对目标系统进行攻击的手法,ICMP是用于在IP网络中传输控制消息的协议,常用于网络诊断和错误报告,在ICMP泛洪攻击中攻击者发送大量的伪造的ICMP请求消息(通常是ICMP回显请求,也称为Ping请求)到目标系统,这些请求消息被发送到目标系统的网络接口,导致目标系统不堪重负并可能导致其资源耗尽
攻击流程
攻击者在攻击主机中执行以下命令实施DOS攻击
#命令示例
hping3 --rand-source --icmp -d 56 --flood 192.168.204.146
#参数说明
黑客机IP(192.168.204.135)伪造任意IP地址向服务器IP(192.168.204.146)发送如洪水般的ping包,数据包大小是56
此时可以看到有大量的ICMP请求从任意的IP地址涌向服务器
UDP 泛洪攻击
基本介绍
UDP(User Datagram Protocol)泛洪攻击是一种网络攻击方法,利用UDP协议的特性对目标系统进行攻击,UDP是一种无连接的传输层协议,常用于快速传输数据的应用,例如:DNS和实时流媒体,在UDP泛洪攻击中,攻击者发送大量的伪造的UDP数据包到目标系统的特定端口上,这些数据包被发送到目标系统的网络接口导致目标系统不堪重负并可能导致其资源耗尽
攻击流程
攻击者在攻击主机中执行以下命令实施DOS攻击
hping3 --flood --rand-source --udp -p 53 192.168.204.146
在wireshark中可以看到发往192.168.204.146地址的大量数据报文且来源IP地址各不相同
SMURF攻击类
基本介绍
SMURF攻击是一种早期的网络攻击方法,利用ICMP(Internet Control Message Protocol)协议中的回显请求(Echo Request)和广播地址的特性对目标网络发起攻击,这种攻击方式的名称源自最早用于执行此类攻击的程序名"smurf",在SMURF攻击中攻击者发送大量的ICMP Echo Request数据包将源IP地址伪装成受害者的IP地址并将目标IP地址设置为广播地址,由于广播地址会将数据包发送到网络中的所有主机,每个收到数据包的主机都会生成一个ICMP Echo Reply响应并将响应发送给被伪装的受害者IP地址,这样一来攻击者发送的单个数据包就会导致网络中的大量响应流量集中在受害者上,造成带宽消耗、网络拥塞和服务中断
攻击演示
在攻击主机中打开scapy工具,随后192.168.0.107(黑客机)模仿 192.168.0.103(受害机)发送给192.168.0.255(受害者网络的所有主机)报文
如果这个网段是一个B类网段或者是A类网段并且存活的主机全部回应ICMP包,那么将会造成受害主机带宽严重拥塞,丢包,甚至完全不可用等现象
TCP RST复位攻击
基本介绍
TCP RST(Reset)复位攻击是一种网络攻击方法,利用TCP协议中的RST标志位发送伪造的TCP RST数据包,终止或中断现有的TCP连接,这种攻击利用了TCP协议中的重置机制,欺骗目标系统以终止其与其他主机之间的连接,在TCP RST复位攻击中攻击者发送伪造的TCP RST数据包到目标系统,这些数据包带有合法的源IP地址和目标IP地址以及源端口和目标端口,目标系统接收到伪造的RST数据包后会误认为与该源IP地址和目标IP地址之间的连接已经终止,从而中断正在进行的TCP会话
攻击演示
情形1:黑客机伪装客户机发过去RST包给服务器
客户机远程连接目标服务器的SSH端口并使用Wireshark进行抓包
在最后一个数据报文中可以检索到如下信息:
- 源地址为:192.168.204.150
- 目标地址为:192.168.204.146
- 源端口为:49785
- 目标端口为:22
- ACK为:5955
- SEQ为:4253
随后黑客的主机伪装成客户机向服务器发送RST包,那么服务器将丢弃缓冲区上所有与客户机有关的数据并且强制关闭连接
数据报文条目:
B、黑客机伪装客户机发过去SYN包给服务器
客户机远程连接目标服务器的SSH端口并使用Wireshark进行抓包
在最后一个数据报文中可以检索到如下信息:
- 源地址为:192.168.204.150
- 目标地址为:192.168.204.146
- 源端口为:49785
- 目标端口为:22
- ACK为:5955
- SEQ为:4253
黑客机伪装成客户端向服务器发送SYN包,那么服务器认为客户机已经是正常连接又来建立新连接,于是服务器就会中断与客户机的连接
随后可以看到服务器的wireshark已经显示,客户机向服务器发出了SYN连接,服务器回复确认后客户机与服务器之间重新开始建立TCP连接
防御措施
防御DDoS(分布式拒绝服务)攻击时,可以采取以下措施:
- 网络流量监控和分析:实时监控网络流量,及时发现异常流量模式,以便快速应对攻击
- 流量过滤:使用防火墙、入侵检测系统(IDS)和入侵防御系统(IPS)等设备过滤恶意流量,阻止攻击流量进入网络
- 负载均衡:使用负载均衡设备将流量分发到多个服务器上,以分散攻击压力,并确保服务的可用性
- CDN服务:使用内容分发网络(CDN)将流量分发到全球各地的服务器上,减轻原始服务器的负载,提高整体的网络性能和可用性
- 黑洞路由:将攻击流量引导到“黑洞”,即虚拟的丢弃点,使攻击流量不会对正常流量造成干扰
- 流量清洗:将流量传送到专门的流量清洗中心,通过识别和过滤出攻击流量,将正常流量传递到目标服务器上
- 增加带宽:提高网络带宽以容纳更多的流量,从而使得网络更加抗攻击
- 配置合适的防护策略:根据网络的特点和攻击情况,采用合适的防护策略,例如基于签名的检测、行为分析等
- 定期更新安全补丁:及时更新系统和应用程序的安全补丁,修补已知的漏洞,减少受到攻击的可能性
- 应急响应计划:建立完善的应急响应计划,包括备份恢复、紧急通信等,以便在遭受DDoS攻击时能够迅速应对并降低损失
文末小结
本篇文章主要介绍了DOS的攻击类型,同时对常见的几种攻击方式进行了一个简易的演示,同时给出了相关安全安全防御措施方案~