DDoS攻击(Distributed Denial of Service Attack,分布式拒绝服务攻击)的前身是DoS攻击(Denial of Service Attack,拒绝服务攻击),是指一种通过各种技术手段导致目标系统进入拒绝服务状态的攻击。
DDoS攻击可以看作DoS攻击的Plus版本,它可以将分布在不同地方的多台计算机联合起来形成攻击平台,对一个或多个目标发动攻击,从而产生成倍的拒绝服务攻击的威力。
一个完整的DDoS攻击体系包括攻击者、主控端、代理机和攻击目标四部分组成
● 容量耗尽攻击 容量耗尽攻击(Volumetric attacks)通常借助僵尸网络和放大技术,通过向终端资源注入大量流量来阻止正常用户对终端资源的访问。最常见的容量耗尽攻击类型有:
-
UDP洪水攻击
黑客使用大量的互联网控制消息协议(ICMP)请求或ping命令,试图耗尽被受害者服务器带宽。
-
ICMP洪水攻击
黑客将大量的用户数据报协议(UDP)数据包发送到受害主机,受害主机的资源由于UDP报文泛滥而耗尽,导致设备无法处理和响应对合法流量的服务。
● 协议攻击
协议攻击是利用议工作方式的漏洞发起攻击,这是第二大最常见的攻击媒介。最常见的协议攻击类型有:
-
SYN洪水攻击
黑客利用了TCP三次握手机制的漏洞。客户端将SYN数据包发送到服务器,接收服务器返回的SYN-ACK数据包,但是永远不会将ACK数据包发送回服务器。因此,受害者的服务器留下了许多未完成的SYN-ACK请求,并最终导致崩溃。
-
死亡之Ping攻击
黑客使用简单的Ping命令发送超大数据包,从而导致受害者的系统冻结或崩溃。
● 应用程序攻击
应用程序攻击是利用协议栈(六),协议栈(七)中的漏洞发起攻击,主要针对特定的应用程序而不是整个服务器。它们通常针对公共端口和服务,例如DNS或HTTP。最常见的应用程序攻击类型有:
1 .HTTP洪水攻击
黑客利用大量的标准GET和POST请求淹没应用程序或Web服务器。由于这些请求通常显示为合法流量,因此检测HTTP洪水攻击是一个相当大的挑战。
2.Slowloris
正如其名,Slowloris攻击缓慢地使受害者的服务器崩溃。攻击者按一定时间间隔向受害者的服务器发送HTTP请求。服务器一直在等待这些请求完成,最终,这些未完成的请求耗尽了受害者的带宽,使合法用户无法访问服务器
攻击者控制僵尸网络:
攻击者通常通过恶意软件感染大量计算机,形成一个僵尸网络(Botnet)。这些被感染的计算机被称为 “僵尸主机”,受攻击者远程控制。
指令分发:
攻击者通过指挥控制服务器(C&C 服务器)向僵尸网络中的僵尸主机发送攻击指令。这些指令包含目标的 IP 地址、攻击方式和攻击时间等信息。
发动攻击:
僵尸主机接收到指令后,会同时向目标系统发送大量的请求包。这些请求包可以是任意类型的流量,如 HTTP 请求、TCP SYN 包或 UDP 包等。
资源耗尽:
目标系统接收到大量请求后,会消耗其网络带宽、CPU、内存等资源,最终导致系统无法正常响应用户请求,甚至完全瘫痪
测试防火墙对ICMP包的反应、是否支持traceroute、是否开放某个端口、对防火墙进行拒绝服务攻击(DoS attack)。例如,以LandAttack方式测试目标防火墙(Land Attack是将发送源地址设置为与目标地址相同,诱使目标机与自己不停地建立连接)。
1.端口扫描
端口扫描
Hping3也可以对目标端口进行扫描。Hping3支持指定TCP各个标志位、长度等信息。以下示例可用于探测目标机的80端口是否开放:
其中-I eth0指定使用eth0端口,-S指定TCP包的标志位SYN,-p 80指定探测的目的端口。
hping3支持非常丰富的端口探测方式,nmap拥有的扫描方式hping3几乎都支持(除开connect方式,因为Hping3仅发送与接收包,不会维护连接,所以不支持connect方式探测)。而且Hping3能够对发送的探测进行更加精细的控制,方便用户微调探测结果。当然,Hping3的端口扫描性能及综合处理能力,无法与Nmap相比。一般使用它仅对少量主机的少量端口进行扫描。
2.Idle扫描
Idle扫描(Idle Scanning)是一种匿名扫描远程主机的方式,该方式也是有Hping3的作者Salvatore
Sanfilippo发明的,目前Idle扫描在Nmap中也有实现。
该扫描原理是:寻找一台idle主机(该主机没有任何的网络流量,并且IPID是逐个增长的),攻击端主机先向idle主机发送探测包,从回复包中获取其IPID。冒充idle主机的IP地址向远程主机的端口发送SYN包(此处假设为SYN包),此时如果远程主机的目的端口开放,那么会回复SYN/ACK,此时idle主机收到SYN/ACK后回复RST包。然后攻击端主机再向idle主机发送探测包,获取其IPID。那么对比两次的IPID值,我们就可以判断远程主机是否回复了数据包,从而间接地推测其端口状态。
3.拒绝服务攻击
使用Hping3可以很方便构建拒绝服务攻击。比如对目标机发起大量SYN连接,伪造源地址为192.168.10.99,并使用1000微秒的间隔发送各个SYN包。
kali攻击机
win10靶机
并将靶机的防火墙关闭
DDoS攻击原理:
DDoS 攻击通过向目标主机发送大量请求,耗尽其资源,使其无法响应正常用户的请求。TCP Flood 攻击是常见的 DDoS 攻击之一,通过发送大量的 TCP SYN 包,占用目标主机的连接表资源。
流量分析:
通过 Wireshark 抓包可以看到,攻击期间,目标主机收到大量的 SYN 包,这些包的源地址可能是伪造的,目的在于消耗目标主机的资源。
防御措施:
启用 SYN Cookies 和配置防火墙规则是有效的防御方法。专业的 DDoS 防护服务能够提供更高级的防护措施,如流量清洗和分布式防护。
在实验过程中,需要确保 hping3 工具正确安装和配置,同时需要在目标主机上有效监控资源使用情况。这要求对网络环境和工具使用有较高的理解和掌控能力。
实验效果评估:
通过本次实验,可以直观地理解 DDoS 攻击的原理和实施方法,同时也认识到这些攻击手段的危险性和潜在危害。
安全防护意识: