Ещё один пример того, чем пользуются юные "хакеры". Известный скрипт на Python для DDoS атак - MHDDoS. Для того, чтобы научиться защищаться от подобных инструментов, имеет смысл самому их изучить.
Я время от времени сталкиваюсь с атаками чем-то подобным. Последний раз мой сайт зачем-то пытались ддосить в конце февраля. Особо не парился с защитой, но одного fail2ban оказалось недостаточно. Очень много запросов было, логи разрастались молниеносно и fail2ban сам его вешал. Пришлось скрипт быстро набросать, чтобы в бан сразу улетали те, кто открывали с сервером больше 50 соединений. А сами логи отключил.
Хоть заметку и не об этом хотел сделать, но сразу покажу скрипт, так как наверняка будете спрашивать в комментариях.
#!/bin/baships=`netstat -ntu | grep -vE "(Address|servers|127.0.0.1)" \| awk '{print $5}' | cut -d ':' -f 1 | sort -n | uniq -c \| sort -n | awk '{if ($1 > 50 ) print $2}'`if [[ -z $ips ]]; then exit 0else for i in $ips do fail2ban-client -vvv set nginx-limit-conn banip $i donefi
Для этого лучше использовать ipset. Заранее добавить правило блокировки в iptables, а потом просто обновлять список. Но мне не захотелось заморачиваться и что-то перенастраивать. Просто напрямую в fail2ban стал отдавать ip адреса. Их было не много, поэтому решение нормально сработало, плюс писались логи самого fail2ban. Их можно было анализировать.
Возвращаемся к MHDDoS. Установить его просто, нужен только Python и Git:
# git clone https://github.com/MatrixTM/MHDDoS.git# cd MHDDoS# pip install -r requirements.txt
Сразу можно запускать атаку. Для атаки L7 требуется список прокси. Если его нет, то скрипт автоматом скачает списки прокси от публичных сервисов, которые их предоставляют, проверит работоспособность и начнёт использовать. Проверка длится очень долго, так что пользоваться в таком виде не очень удобно. Лучше заранее обзавестись готовым списком. Их продают за 3-5$.
# python3 start.py GET https://site.com 0 50 proxy.txt 10 30
Атакуем сайт site.com атакой типа L7 методом GET с использованием всех доступных прокси (параметр 0), в 50 потоков, используя по 10 подключений к каждому прокси-серверу, в течении 30 секунд.
Для атаки уровня L4 прокси не нужны. Всё гораздо проще:
# python3 start.py udp 1.1.1.1:53 1 30
Атакуем dns сервер udp флудом по 53 порту в 1 поток в течении 30 секунд.
Всё довольно просто. Можете подолбить свои сервера и проверить защиту на них. От одного ip адреса злоумышленника отбиться не сложно. Я бы даже сказал очень просто, если есть хоть какая-то защита. Вы можете очень удивиться, но на практике есть куча сайтов, интернет магазинов, игровых серверов, которые ложатся от подобных атак даже с одного IP адреса. Не спрашивайте, откуда я это знаю 🤫
В сети можно найти различные вариации готовых инструментов на базе MHDDoS, которые и сразу списки прокси дают, и устанавливаются автоматически, и списки жертв могут автоматом откуда-то подтягивать. У меня нет цели учить кого-то ддосить, да я и сам не умею. Просто рассказываю, как это на практике может выглядеть.
❗️Как обычно предупреждаю, не надо запускать подобные штуки на своих рабочих машинах или серверах. Используйте какие-нибудь арендованные виртуалки.
Документация - github.com/MatrixT…f-script
#security #ddos