Централизованый и автоматизированный DDoS рашки с автобалансировкой
Всем привет.
Запилил небольшую утилиту для DDoSа рашкостана. github.com/...persmile2009/putler-kaput
По сути это обёртка-клиент на PHP, которая получает задания — что валить и каким способом, и запускает эти задачи на некоторый период времени. Для собственно DDoSа используются уже готовые инструменты (ddos-ripper, bombardier, dnsperf, список будет пополняться).
Использовать очень просто — стартанул контейнер и пошел пить кофе, всё работает автоматически. В контейнере уже все инструменты встроены. Смена целей осуществляется апдейтом файла с целями (локального или удалённого) без необходимости рестарта.docker run -it --restart unless-stopped supersmile2009/putler-kaput:latest
Если машина рабочая, указывайте в конце параметр -с иначе может сожрать всю оперативку.
Например -c4
— количество одновременно выполняемых задач 4.4 показало себя нормально на чистой 1GB RAM VPS-ке с Ubuntu 20.04 — пару раз немного в своп уходило, но в основном без проблем. При большем объеме памяти, соответственно можно увеличивать число.По моим наблюдениям используется до 200-250Мб оперативки на 1 задачу.
Если запускаете локально, запускать в нескольких окнах терминала НЕ НУЖНО, задачи выполняются в отдельных процессах, нагрузка регулируется ключом -c.
Ключевые особенности:
— Можно назначить неограниченное количество задач (целей) не зависимо от мощности машины.
— Количество одновременно выполняемых задач настраивается при запуске исходя из имеющихся ресурсов (авто настройка или вручную — см. выше про ключ -c).
— Каждая цель атакуется ограниченное время, после чего берётся следующая цель из списка. Получается такой себе round-robin.
— Авто-обновление задач раз в минуту без участия оператора.
— Задач по URL (есть дефолтный, обновляю сам) или из файла локально.
За счёт этого можно запускать ДДоСер даже на слабых сервачках (наверное даже лучше, так как в пуле получается больше IP адресов при тех же финансовых вложениях). А если подключится много людей, то можно держать активными довольно много целей. Так как каждая машина стартует в разное время (+ рандомизация порядка выполнения задач), чисто статистически распределение нагрузки на каждую цель будет примерно одинаковым.
Добавлять поддержку новых DDoS-инструментов довольно просто. Надо всего лишь установить/скомпилить его в Dockerfile и написать один крошечный php-класс с командой запуска процесса.
Пока список целей обновляю сам в репозитории github.com/...le2009/putler-kaput-tasks. Если у вас есть контакты админов t.me/ddosKotyky или t.me/ddos_separ, или вы сам админ одного из этих каналов, пишите, можем скооперироваться, могу дать доступ в репу, тобі обновлять цели. В телеге юзернейм такой же, как и на github.
Задачи на ближайшее время1. Прикрутить авто-апдейт контейнера (bash-script or Watchtower) done2. Сделать систему балансировки целей. Учитывая принцип работы, сделать это очень просто — нужно назначать разную длительность выполнения каждой задачи. В масштабе round-robin и статистика дальше сделают своё дело. Прикручу сегодня. done3. Авто-определение допустимой нагрузки (кол-ва одновременно выполняемых задач). Думаю что-то вроде «free RAM / 200(256?)». Сейчас пока нужно вручную задавать ключом при старте. done
4. Авто-определение уже лежащих ресурсов и раннее завершение задачи. Позволит не тратить излишние ресурсы на уже дохлые цели. По сути авто-баллансировка. Определять можно, например, по логам. Надо научить клиента парсить лог и распознавать таймауты и успешные запросы. При определённом пороге таймаутов, завершать задачу раньше времени. За счёт отработки целей в бесконечном цикле, если на следующей итерации цель начнёт шевелиться, её снова начнут валить.
5. Использование прокси.
6. CI, чтобы само собирало docker image и пушило в докер-хаб. Пока пушил вручную.
7. Конфиги для Terraform для популярных клаудов, чтобы разворачивало инфраструктуру автоматически.
8. Мануалы для не шарящих людей, как зарегаться в клаудах и при помощи Terraform Cloud развернуть ДДоС-кластер. Всё через браузер не открывая терминала.
9. Посадить docker image на диету. Сделать multi stage build и компилить всякое разное в отдельных стейджах.
Присоединяйтесь к разработке, PRs are welcome.
20 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів