Централизованый и автоматизированный 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) done
2. Сделать систему балансировки целей. Учитывая принцип работы, сделать это очень просто — нужно назначать разную длительность выполнения каждой задачи. В масштабе round-robin и статистика дальше сделают своё дело. Прикручу сегодня. done
3. Авто-определение допустимой нагрузки (кол-ва одновременно выполняемых задач). Думаю что-то вроде «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.

👍ПодобаєтьсяСподобалось10
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Привет, у меня есть пара технических вопросов для понимания:
— трафик не из страны владельца ресурса можно легко фильтровать, следовательно необходимо использовать впн, так?
— большинство ресурсов находится на https и требуют сертификат, следовательно запросы летящие без сертификата или на http — отбрасываются сразу, так?

1. Да, во многих случаях нужен VPN или разворачивать сервера в мордоре. Всё зависит от цели.
2. Нет. https вполне себе через bombardier работает. Кроме того прикрутил свежую версию DRipper (github.com/alexmon1989/russia_ddos) — там при использовании метода http используется вроде обічный какой-то http клиент, значит тоже https должен работать.
Если же речь идёт про https с самоподписанным сертификатом, то сейчас bombardier настроен по дефолту с ключем —insecure, чтобы отключить проверку сертификатов и бомбить и такие ресурсы в том числе.

Отдельные атаки с помощью разных тулзовин и типов атак это хорошо, но требует постоянного активного участия. Вот это то что надо поставить на ночь крутится на всех инстансах aws. Единственное на t2.micro cpu в потолок грузит, при дефолтных параметрах на 4 таски, инстансы периодически просто выбивает, приходится ребутать.

Прикрутил авто-выставление нагрузки исходя имеющейся RAM. Можно запускать без параметра

-c
. Используется формула: (All RAM — 400) / 200.
Можно сделать ещё эффективнее, если определить какая апка при каких настройках сколько памяти жрёт. Тогда можно было бы вообще динамически решать можем ли мы запускать ещё одну таску или нет по ходу обработки очереди. Но это не сейчас.

На мою думку, ddos ззовні неефективний — по-перше, основна аудиторія пропагандистських ресурсів знаходиться в ерефії, а по-друге, вони все більше обмежують доступ з-за кордону.

Прохання поділитись сервісами, що надають vpn з айпішниками рф/рб, бажано безкоштовно (можливо, хтось дає тріал).

Avast VPN
Неделя бесплатно, есть Москва и Питер, впн не отпадает от слова совсем

А як той ВПН використати коли запускаю bombardie на ВПСці?
можешь пояснити?

треба використовувати проксі, якщо на ВПСці запускаєш

Серед цікавих варіантів ще є — Selectel. Він вміє в OpenStack, тому можна трохи грошей вкласти і масово запускати сервера з тилу ворогу через Terraform. Не впевнений лище що там зараз з оплатою. Рашку ж від усіх систем оплати відключили. Про моральний аспект оплати сервісів ворога, будь ласка, холі вар не розводьте. На мою думку це як антибіотик: користь для нас від серверів в тилу ворога перевищує шкоду від кількох баксів, закинутих ворожій компанії.

вы делаете на коленке то что уже существует... тулзеней много... старые — Chef, Puppet... новее — Ansible, SaltStack... лучшее на сейчас для не клаудных задач по массовому управлению нодами — SaltStack... я уже поднял себе ) планирую довести количество управляемых серверов до сотни... если есть лишние серваки — принимаю в кластер для праведных задач — порчи жизни москалям...
резюме — забей на тулзу — нужны серваки у разных хостеров в разных регионах...

новее — Ansible, SaltStack... лучшее на сейчас для не клаудных задач по массовому управлению нодами — SaltStack

доброе, але для тих, хто в цьому всьому ще не розібрався — воно складне, мабудь?

я уже поднял себе ) планирую довести

Тож, може розповіш — що там і як тре зробити?

Нет, шефы с ансиблами — это чтобы чего-то там централизовано наконфигурировать на серверах. Их можно использовать, чтобы разворачивать те же инструменты для ДДоСа, как отдельные, так и моё решение. Но они не очень подходят для активного динамического обновления задач. Да и их основной принцип работы — push, что тоже накладывает ограничения.

В моём решении работает pull метод. Деплоится 2 контейнера — putler-kaput + watchtower. Watchtower мониторит апдейты putler-kaput и перезапускает его, когда появляется новый релиз. Сам же putler-kaput активно подтягивает свежие таски по дефолтному адресу (если вы не сконфигурировали что-то другое). putler-kaput одномоментно выполняет ограниченное число задач и переключается на следующие цели через настраиваемый промежуток времени. С Ansible и друзьями или запускать всё и сразу (никакой оперативки не хватит при большом количестве целей) или сегментировать сервера вручную, но тогда пул серверов на каждую цель меньше и их проще блокировать.

Деплоить это действительно можно шефами, ансиблами и прочим. Но удобнее будет, имхо, Terraform и пару строк на баше.

может кто сделает мануал для совсем нубов-неайтишников, как это хозяйство запустить. ВПН есть, ноуты простаивают

Ось тут є необхідні інструкції t.me/ddos_separ

Запилил небольшую утилиту для DDoSа рашкостана.

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

Той що ти пропонуєщь?

Ось одне повідомлення, яке писав в групі телеграм «DDOS по країні СЕПАРІВ». Там розробили ботнет DB1000N («смерть тисячею голок» чи щось таке...), візьми до уваги коли писатимеш інструкцію для тих хто не шарить. У цій групі розробники ботнету мене проігнорували. У мене на гугл клауді висять >400$ незадіяні. Треба це виправляти. Але вручну тицяти не буду. Зробіть щоб було автоматично.

Панове. Слава Україні!
Це відповідь-рекомендація до вашого ботнету DB1000N:

А ви можете зробити інструкцію для Google Cloud (а можна і для інших клаудів якщо можна)?
і так щоб це можна було автоматизовано зробити. Ну ви розумієте, лінь створювати 100 віртуалок і для кожної одне і те ж робити. докер ваш здається накрився (зробіть ізі update якось).

Я розумію, що писати тех документацію ніхто не любить, але це критично, якщо треба масовості і успіху у цьому ділі.
У мене недостатньо досвіду, щоб з цим розібратися #help!
те що є у мене поки для деплоймента: (але не працює, бо докер щось ваш не працює)
Сорс: cloud.google.com/...​ripts/linux#passing-local

gcloud compute instances add-metadata in1 \
  --metadata-from-file startup-script=~/ddos/file.sh

gcloud compute instances create VM_NAME \
  --image-project=debian-cloud \
  --image-family=debian-10 \
  --metadata-from-file=startup-script=FILE_PATH

Варіант з одною віртуалкою і ssh:
eval "$(ssh-agent -s)" && ssh-add ddos/ssh/putinhuilo && ssh user@host
ssh user@host 'bash -s' < ddos/file.sh

Cорс — telegra.ph/...​hati-dudositi-hujlo-02-26 — using google cloud

file.sh:
#!/bin/bash

sudo apt-get -qq update
sudo apt-get -qq --yes --force-yes install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
sudo curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
sudo echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get -qq update
sudo apt-get -qq --yes --force-yes install docker-ce docker-ce-cli containerd.io 
sudo nohup docker run ghcr.io/arriven/db1000n:latest &

Поможіть і вдоскональте і запостіть якщо можете. Буду супер вдячним (і не тільки я). Сил нема розбиратися далі, не працює та й не працює. Якщо зробите так, щоб було легко розгорнути 100+ віртуалок на гугл клауді в різних регіонах і підняти оцей ваш ботнет (як інструкція до LEGO — крок за кроком, щоб і дитині ясно було), я тільки за.

Тут є інструкція для azure іншої тулзи. Її можна взяти за основу.

Див github.com/...​d/tree/master/tools/azure

DB1000N

Давно смотрю на эту тулзовину, но не знаю насколько можно доверять контрибуторам? Там в тикетах писали, что цели в тулзовине не синкаются с целями в телеграм-каналах, или у кого-то в AWS за сутки сгенерировалось траффика на 5к USD.
Чтобы не оказалось потом, что кто-то одним коммитом всех направит на украинские ресурсы или нагенерит неподъемных счетов в клаудах.

Підписатись на коментарі