DDoS详解(一)

版权声明:我的Github博客:https://wintrysec.github.io https://blog.csdn.net/qq_35553433/article/details/78442724

僵尸网络

分布式拒绝服务(DDoS:Distributed Denial of Service)攻击

指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击

从而成倍地提高拒绝服务攻击的威力,使目标无法提供正常的网络服务。

一、组建

控制节点——>受控终端——>攻击目标

节点:(可以是PC、服务器、移动终端)

步骤:

1.感染传播(电子邮件、网页挂马、即时通信、自动化漏洞扫描)

2.安装执行:免杀处理、隐藏进程

3.接入僵尸网络 c/s通信

4.命令执行

攻击分类

一、攻击网络宽带资源

利用受控主机发送大量网络数据包,占满被攻击目标的全部宽带

直接攻击

使用被控主机直接向被攻击目标发送大量网络数据包

(1)ICMP/IGMP洪水攻击

网络控制消息协议(Internet Control Message Protocol,ICMP)是TCP/IP协议族的核心之一, 用于在TCP/IP网络中发送控制消息啊,提供可能发生在通信环境中的各种问题反馈。

因特网组管理协议(Internet Group Management Protocol,IGMP) 用于管理因特网协议多播组成员的一种协议。IP和相邻的路由器利用IGMP来建立多播组的组成员。

攻击者使用受控主机向被攻击目标发送大量的ICMP/IGMP报文,进行洪水攻击以消耗目标的带宽资源

但现在这种攻击方法已不多见,被攻击目标可以在其网络边界直接过滤并丢弃ICMP/IGMP数据包 使攻击无效。

(2)UDP洪水攻击

用户数据报协议(User Datagram Protocol,UDP)是一种面向无连接的协议,主要用于不要求分组顺序 到达的传输,提供面向事务的简单的不可靠的信息传送服务。

UDP洪水攻击和ICMP/IGMP洪水攻击原理基本相同,有大包小包两种攻击方式。

小包:指64字节大小的数据包,这是以太网上传输数据帧的最小值。

在相同流量下,单包 体积越小,数据包的数量就越多。

由于交换机路由器等网络设备需要对每一个数据包进行检查和校验,因此使用小包攻击能够最有效的增加网络设备处理数据包的压力,造成处理速度的缓慢和传输延迟等拒绝服务效果。

大包:大包是指1500字节以上的数据包,其大小超过了以太网的最大传输单元(MTU).

使用UDP大包攻击,能够有效的占用网络接口的传输带宽,并迫使被攻击目标在接收到UDP数据时, 进行分片重组,造成网络拥堵,服务器响应速度变慢。

但是UPD洪水攻击完全依靠受控主机本身的网络性能,因此通常对攻击目标带宽资源的消耗并不大。

反射和放大攻击

反射攻击又被称为DRDoS(Distributed Reflection Denial of Service,分布式反射拒绝服务)攻击

是指利用路由器、服务器等设施对请求产生应答,从而反射攻击流量并隐藏攻击来源的一种拒绝服务攻击

在进行反射攻击时,攻击者利用受控主机发送大量的数据包,这些数据包的目的IP地址指向作为反射器的路由器或者服务器等设施,而源IP地址则被伪造成被攻击目标的IP地址。

这就跟自己扔出去个球,然后自己捡回来,不断消耗自己的体力是一样的。

发动反射攻击需要在互联网上找到大量的反射器,对于ACK反射攻击只需要找到开放TCP端口的服务器即可发动反射攻击通常会使用无需认证或握手的协议,因此,绝大多数反射攻击都是基于UDP协议的。

反射攻击真正的威胁在于利用反射原理进行的放大攻击。

放大攻击是一种特殊的反射攻击,其特殊性在于反射器对于网络流量具有放大作用。

在反射器提供的网络服务协议中,需要存在请求和响应数据量不对称的情况, 响应数据量要大于请求数据量。

响应数据量与请求数据量的比值越大, 放大器的放大倍数也就越大,攻击效果越明显。

放大器所使用网络服务部署的广泛性决定了该放大器的规模和严重程度。

(1)ACK反射攻击

传输控制协议(Transmission Control Protocol,TCP)建立连接时,首先会进行TCP三次握手。

当服务器端收到客户端的SYN请求时,会对该请求进行ACK应答。

利用ACK应答即可进行反射攻击。

如果攻击者把SYN的源IP地址伪造成被攻击目标的IP地址,服务器的应答也就会直接发送给被攻击目标

在发动ACK反射攻击时,首先要进行网络扫描,获得大量的发射器地址。

ACK反射攻击能有效的隐藏攻击来源。

(2)DNS放大攻击

域名系统(Domain Name System,DNS)是因特网的一项核心服务。

DNS使用的TCP与UDP的端口号都是53,主要使用UDP协议。

通常,DNS响应数据包会比查询数据包大,可用此原理进行放大攻击。

RFC 2671中定义的DNS扩展机制EDNS0中,扩展了DNS数据包的结构,增加了OPT RR字段。

在OPT RR字段中包含了客户端能够处理的最大UDP报文大小信息。

服务端在响应DNS请求时,解析并记录下客户端能够处理的最大UDP报文的大小, 并根据该大小生成响应的报文。

攻击者能够利用dig(Domain Informatica Groper)和EDNS0进行高效的放大攻击。

攻击者向广泛存在的开放DNS解析器发送dig查询命令,将OPT RR字段中的UDP报文大小设置为很大的值 (如4096),

并将请求的源IP地址伪造为被攻击目标IP,即可造成拒绝服务,该放大方式可达50倍。

(3)NTP放大攻击

网络时间协议(Network Time Protocol,NTP)是用来使计算机时间同步化的一种协议。

即时间按校正,NTP使用UDP的123端口通信。

在NTP协议的服务器实现上,通常会实现一系列的Mode7的调试接口。

而接口中的monlist请求 能够获取到与目标NTP服务器进行同步的最后600个客户的IP。

也就是只要发送一个很小的请求包,就能够触发大量连续的包含IP地址信息等数据的UDP响应数据包

(4)SNMP放大攻击

简单网络管理协议(Simple Network Management Protocol,SNMP),提供了一个管理框架来监控和 维护互联网设备。

SNMP使用UDP的161端口通信。

攻击者向广泛存在并开启了SNMP服务的网络设备发送GetBulk请求,使用默认通信字符串作为认证凭据

并将源IP地址伪造成被攻击目标的IP,设备收到GetBulk请求后会将响应结果发送给攻击目标。

大量响应结果涌向被攻击目标,从而造成拒绝服务。

猜你喜欢

转载自blog.csdn.net/qq_35553433/article/details/78442724