/multiddos

Primary LanguageShell

Multiddos - скрипт объединяющий в себе несколько утилит для ddos

multiddos

Особености:

  • Объединяет в себе несколько утилит для ддоса, и для мониторинга (gotop, vnstat)
  • Полностью автоматизирован. Автоматическое обновление программ, автоматическая настройка, автоматическая смена целей.
  • Запуск одной простой командой.
  • При закрытии терминала или разрыве ssh сессии программы не вылетают, а продолжают работать в фоне. В любой момент multiddos можно снова вывести на экран.
  • Автоматически подбирает количество потоков (threads) для работы, в зависимости от количества доступных логических ядер.
  • Имеет базу на сотни (иногда тысячи) сайтов/адресов.

На данный момент скрипт поддерживает:

Пояснение к выбору конкретных утилит

развернуть

Мы хотели собрать утилиты, которые:

  • Можно полностью автоматизировать
  • Имеют хорошую эффективность и поддерживаются разработчиками
  • Умеют работать через прокси

Полностью данным требованиям соответствует только mhddos_proxy. DB1000N не умеет работать через прокси. UAShield прожорливая и низкоэффективная по сравнению с mhddos_proxy. Поэтому на данном этапе по умолчанию используется только mhddos_proxy.


Multiddos в docker. Рекомендуется. (Win, Mac, Linux)

Запуск

  1. Скачать и установить Docker

  2. Запустить multiddos в docker:

docker run -it --rm --log-driver none --name multidd --pull always karboduck/multidd
  • Альтернативный запуск для слабых систем. Будет использоваться только 1 ядро на 90% (использовать если процессор забивается на 100% и система тормозит).

    docker run --cpus 0.9 -it --rm --log-driver none --name multidd --pull always karboduck/multidd

  • Если вам нужно запустить несколько копий multiddos.

    Используйте разные имена (--name multidd1, --name multidd2 и т.д.), либо не используйте имена вообще

  • Запуск docker c ключами.

    Docker версия поддерживает те же ключи, что и bash версия. Прописывайте их точно так же в конце команды. docker run -it --rm --log-driver none --name multidd --pull always karboduck/multidd -t 500 +v Подробнее про ключи читайте ниже в разделе Опции запуска.

Остановка

  1. Нажать в окне несколько раз подряд Ctrl + C
  2. В другом терминале запустить команду docker stop multidd
  3. Перезагрузить операционную систему

Подключиться обратно, если скрипт работает в фоне

docker attach multidd

Multiddos в bash (Linux, WSL2)

Запуск

curl -L tiny.one/multiddos | bash && tmux a

Запуск в фоне

развернуть

То же самое что и обычный запуск, но программы не будут выводиться из фона. Соответственно просто удаляем вызов Tmux в конце команды.

curl -L tiny.one/multiddos | bash

Чтобы обратно подключиться к сессии tmux (вывести программы на экран) прочитайте раздел Управление Tmux.

Остановка:

  1. Нажать в окне несколько раз подряд Ctrl + C
  2. В другом терминале запустить команду pkill tmux; pkill node; pkill shield; pkill -f start.py; pkill -f runner.py
  3. Перезагрузить операционную систему

Подключиться обратно, если скрипт работает в фоне

tmux a

Управление Tmux

развернуть
  • Свернуть Tmux. Программы продолжат работать в фоне, и к сессии можно будет позже снова подключиться. Нажмите Ctrl+b отпустите Нажмите d

  • Закрыть сессию Tmux. Сначала выйдите из Tmux: Нажмите Ctrl+b отпустите Нажмите d. Выполните в терминале команду tmux kill-session -t multiddos

  • Переподключиться к сессии Tmux. Если у вас всего одна сессия Tmux, то используйте: tmux a (tmux attach). Если у вас несколько сессий, подключайтесь по имени: tmux attach-session -t multiddos

Опции запуска

развернуть

Multiddos запускается по умолчанию с gotop и multiddos. Это стандартная конфигурация. Из этой конфигурации можно убрать gotop. Или добавить в нее утилиты: db1000n, uashield, vnstat, matrix.

Для того, чтобы убрать утилиту используется ключ со знаком "-":

-g убрать gotop

Для того, чтобы добавить утилиту используется ключ со знаком "+":

+d убрать db1000n

+u добавить uashield

+v добавить vnstat -l (мониторинг трафика)

-p0 или --no-proxy-finder отключить proxy finder

-p 2000 или --proxy-threads 2000 задать количество потоков для proxy finder. Чем выше значение, тем быстрее происходит сканирование и поиск новых прокси, но тем и выше нагрузка на CPU и сеть. Поэтому при больших значениях может падать скорость атак.

-t 500 или --threads 500 задать количество потоков для mhddos_proxy

--no-uvloop отключает модуль uvloop. Модуль uvloop повышает производительность работы с сетью, но на некоторых системах результат получается обратным, поэтому добавлен ключ для его отключения.

Пример команды (убрать gotop и включить 2000 потоков для proxy finder):

curl -LO tiny.one/multiddos && bash multiddos -g -p 2000 && tmux a

Решение проблем

развернуть

Основная проблема - перебои в работе сетевого адаптера. Особенно часто проявляется при запуске скрипта на виртуальной машине. Ддос пакеты влияют не только на удаленные сервера, но и на локальное железо.

Внешние проявления могут самыми разнообразными, нелогичными и на первый взгляд не связанными с сетью. Но, если скрипт не запускается, просто перезапустите систему и попробуйте снова. Едва ли не в 80% случаев это решает проблемы.

Вылетает db1000n или uashield. Это либо опять побочка проблем с сетью, смотрите пункт выше. Либо сбой самих программ, с чем мы ничего поделать не можем. Хорошая новость заключается в том, что 95% полезной работы выполняет mhddos_proxy. Пока он не вылетает, все идет по плану.

Низкий трафик. В подавляющем большинстве случаев это значит, что атакуемые сайты либо уже лежат, либо их закрыли гео-блоком (отгородили от внешнего мира). Это нормально, наши атаки все равно приносят пользу, продолжаем работать.