4、DDoS攻击工具与手法:常见攻击工具、僵尸网络、反射放大与慢速攻击
说到DDoS攻击,很多人第一反应就是“流量大”。但流量从哪来?用什么工具打?这里面的门道其实挺深的。我这些年处理过的DDoS事件,从几Gbps的小打小闹到Tbps级别的“核弹”都见过。今天咱们就把这些攻击工具和手法掰开揉碎了讲清楚。
4.1 常见攻击工具:从“玩具”到“武器”
攻击工具的发展很有意思。早期很多工具就是爱好者写着玩的,后来被滥用了。我见过不少刚入门的安全同行,第一反应就是“下载个LOIC试试”,结果把自己IP给暴露了——嗯,这里要注意,很多工具根本不考虑隐藏身份。
4.1.1 LOIC(Low Orbit Ion Cannon)
LOIC算是DDoS工具里的“入门级”。它操作简单,点几下就能发起攻击。原理就是不断向目标发送TCP、UDP或HTTP请求。
核心特点:
- 支持TCP、UDP、HTTP三种模式
- 可以手动指定目标IP和端口
- 有“Hive Mode”(蜂群模式),能通过IRC远程控制
避坑指南:我曾经见过一个案例,攻击者用LOIC打了一下午,结果被警方顺着IP直接找上门。LOIC默认不隐藏源IP,说白了就是“裸奔”。你在做应急响应时,如果看到攻击源IP全是真实客户端IP,十有八九是LOIC这类工具干的。
4.1.2 HOIC(High Orbit Ion Cannon)
HOIC是LOIC的升级版。它改进了什么?说白了就是能打更大的流量。HOIC支持多线程,还能同时攻击多个目标。
| 对比项 | LOIC | HOIC |
|---|---|---|
| 攻击强度 | 低(单线程) | 高(多线程) |
| 协议支持 | TCP/UDP/HTTP | HTTP(支持自定义请求头) |
| 隐蔽性 | 极差 | 较差 |
| 典型流量 | 几十Mbps | 几百Mbps到几Gbps |
HOIC有个“Boost”功能,可以放大攻击效果。我记得有次做渗透测试,客户问“你们能不能模拟一下HOIC攻击”,我试了一下,单机就能打出接近1Gbps的流量——对于中小企业来说,这已经够受的了。
4.1.3 Slowloris:慢速攻击的“祖师爷”
Slowloris是个很有意思的工具。它不靠大流量,而是靠“慢”。原理很简单:建立HTTP连接后,慢慢发送请求头,一直不发完。服务器等着你发完,连接就被占住了。
个人经验:我遇到过一家电商公司,带宽还有80%空闲,但网站就是打不开。查了半天,发现是Slowloris攻击。它占满了Apache的连接池,新用户进不来。你想想看,流量监控完全正常,但业务挂了——这就是慢速攻击的可怕之处。
# Slowloris攻击的典型行为
1. 建立TCP三次握手
2. 发送HTTP GET请求(不完整)
3. 每隔几秒发送一个HTTP头
4. 持续占用连接,直到超时
4.1.4 Hping3:网络工程师的“瑞士军刀”
Hping3本身是个合法的网络测试工具,但被滥用了。它能构造任意类型的IP包,从SYN Flood到ICMP Flood都能打。
我个人习惯用Hping3做压力测试,但要注意——这东西威力很大。
# 一个典型的SYN Flood命令
hping3 -S -p 80 --flood --rand-source target_ip
# 参数说明:
# -S: SYN标志位
# -p 80: 目标端口
# --flood: 洪水模式,尽可能快发包
# --rand-source: 随机源IP
注意:Hping3的--rand-source参数会伪造源IP,这让溯源变得非常困难。我在应急响应中见过不少案例,攻击流量源IP全是随机生成的,根本没法封IP——只能从流量特征入手。
4.2 僵尸网络(Botnet):DDoS的“军队”
单机攻击再强,也就几Gbps。真正的“大炮”是僵尸网络。你想想看,几万台被控设备同时攻击一个目标,那是什么概念?
4.2.1 僵尸网络的工作原理
僵尸网络的核心是“控制-被控”架构。攻击者通过C2(Command and Control)服务器下发指令,肉鸡(被控设备)执行攻击。
僵尸网络的传播方式五花八门:漏洞利用、弱口令爆破、钓鱼邮件……我见过最夸张的一个案例,一家公司的监控摄像头全被感染了,成了肉鸡。你想想看,几十个摄像头同时往外打流量,那场面。
4.2.2 常见僵尸网络家族
| 名称 | 规模 | 主要攻击方式 | 特点 |
|---|---|---|---|
| Mirai | 数十万设备 | TCP/UDP Flood | 主要感染IoT设备,源码公开 |
| Zeus | 百万级 | HTTP Flood | 早期以窃取信息为主,后来用于DDoS |
| Necurs | 数百万 | 多协议混合 | 全球最大的垃圾邮件僵尸网络之一 |
个人经验:Mirai的源码2016年被公开后,我第一时间做了分析。它的攻击代码其实很粗糙,但胜在设备基数大。我记得有个客户问“为什么我的路由器会被感染”,我告诉他——默认密码没改,就这么简单。
4.3 反射放大攻击:四两拨千斤
反射放大攻击是DDoS里的“杠杆”。攻击者用很小的流量,通过放大协议,变成巨大的攻击流量。为什么会这样?因为有些网络协议的设计缺陷——响应包远大于请求包。
4.3.1 工作原理
核心三步:
- 攻击者伪造源IP(目标IP)
- 向开放服务的服务器发送小请求
- 服务器回复大响应到伪造的源IP(即目标)
放大倍数对比:
| 协议 | 请求大小 | 响应大小 | 放大倍数 |
|---|---|---|---|
| DNS | ~60字节 | ~4000字节 | ~70倍 |
| NTP | ~90字节 | ~480字节 | ~5倍 |
| Memcached | ~15字节 | ~1MB | ~70000倍 |
| SSDP | ~50字节 | ~7500字节 | ~150倍 |
Memcached的放大倍数最夸张。我记得2018年那次著名的1.7Tbps攻击,用的就是Memcached反射放大。攻击者只用了不到10Gbps的请求流量,就放大了近200倍——你想想看,这有多恐怖。
4.3.2 防御思路
反射放大攻击的防御,说白了就是“不让反射发生”:
- 关闭不必要的开放服务(比如Memcached不要暴露在公网)
- 启用BCP38(源地址验证),防止IP伪造
- 使用DDoS清洗设备,识别并丢弃反射流量
避坑指南:我曾经帮一家游戏公司做应急响应,他们被NTP反射放大攻击打瘫了。查了半天,发现内网有台NTP服务器配置错误,成了反射源。嗯,这里要注意——你自己的服务器也可能被利用成为攻击的“帮凶”。
4.4 应用层慢速攻击:悄无声息的杀手
慢速攻击不靠流量,靠“拖”。它利用HTTP协议的特性,慢慢消耗服务器资源。我见过不少运维人员,流量监控一看正常,就以为没事——结果业务全挂了。
4.4.1 常见慢速攻击类型
| 攻击类型 | 原理 | 目标 |
|---|---|---|
| Slowloris | 慢速发送HTTP请求头 | Apache、Nginx连接池 |
| Slow Read | 慢速读取响应 | 服务器发送缓冲区 |
| Slow POST | 慢速发送POST body | 应用层处理线程 |
4.4.2 Slow POST攻击示例
# Slow POST攻击的HTTP请求示例
POST /login HTTP/1.1
Host: target.com
Content-Length: 10000
Content-Type: application/x-www-form-urlencoded
# 然后每隔10秒发送一个字节
a
# 等待10秒
b
# 等待10秒
c
# ... 直到超时
你想想看,服务器得一直保持这个连接,等着你发完。如果同时来几千个这样的连接,服务器的线程池就满了。
个人经验:我处理过一个案例,攻击者只用了5台机器,就打瘫了一台64核的服务器。为什么?因为每台机器开了200个慢速连接,总共1000个连接就把Apache的MaxClients占满了。流量才几百Kbps——监控完全没报警。
4.4.3 慢速攻击的防御
- 设置合理的超时时间(建议30秒以内)
- 限制单IP并发连接数
- 使用反向代理(如Nginx)前置,它处理慢速连接的能力比Apache强
- 启用应用层DDoS防护模块(如ModSecurity)
核心要点总结:
- LOIC/HOIC:入门级工具,不隐藏IP,容易被溯源
- Slowloris:慢速攻击代表,不占带宽但占连接
- Hping3:功能强大,可伪造源IP,溯源困难
- 僵尸网络:规模化攻击的基础,C2架构是核心
- 反射放大:利用协议缺陷,小流量放大成大流量
- 慢速攻击:悄无声息,监控盲区,需要应用层防护
好了,这一章的内容就到这里。工具和手法是死的,但攻击者的思路是活的。理解这些原理,你才能在应急响应中快速定位问题——是流量型攻击还是慢速攻击?是反射放大还是僵尸网络?判断清楚了,才能对症下药。