Установка задержки между запросами сканирования в Nikto

Kali LinuxBeginner
Практиковаться сейчас

Введение

Nikto — популярный сканер веб-серверов с открытым исходным кодом, который выполняет комплексные тесты веб-серверов на наличие множества элементов, включая более 6700 потенциально опасных файлов/программ, проверяет устаревшие версии более чем 1250 серверов и проблемы, специфичные для версий, на более чем 270 серверах.

По умолчанию Nikto отправляет запросы целевому серверу максимально быстро. Хотя это эффективно, это может быть легко обнаружено системами безопасности и может создать высокую нагрузку на целевой сервер. Опция -Pause позволяет контролировать скорость сканирования, добавляя задержку между каждым тестом.

В этой лаборатории вы научитесь использовать опцию -Pause в Nikto для проведения более медленных и менее навязчивых сканирований.

Понимание назначения опции -Pause

На этом шаге вы узнаете об опции -Pause в Nikto. Эта опция используется для указания задержки в секундах между каждым запросом сканирования. Это важная функция для выполнения скрытых сканирований или для тестирования хрупких систем, которые могут плохо справляться с большим объемом запросов.

Начнем с просмотра справочной информации по Nikto, чтобы увидеть описание опции -Pause. Это хорошая практика для понимания функциональности опций любого инструмента.

Выполните следующую команду в терминале:

nikto -Help

Прокрутите вывод и найдите опцию -Pause. Вы увидите описание, объясняющее ее функцию.

...
-Pause <seconds>      Pause between tests (seconds, integer or float)
...

Это подтверждает, что -Pause принимает число (целое или с плавающей запятой), представляющее количество секунд ожидания между каждым тестом.

Запуск сканирования с опцией -Pause 5 для ожидания 5 секунд между тестами

На этом шаге вы выполните сканирование Nikto с использованием опции -Pause. В нашей лабораторной среде работает простой веб-сервер по адресу http://localhost:8000, который вы будете сканировать.

Мы установим паузу в 5 секунд между каждым тестом. Это означает, что Nikto будет ждать 5 секунд после отправки одного запроса, прежде чем отправить следующий.

Выполните следующую команду в терминале, чтобы начать сканирование:

nikto -h http://localhost:8000 -Pause 5

Разберем команду:

  • nikto: Команда для запуска сканера Nikto.
  • -h http://localhost:8000: Опция -h (или -host) указывает целевой хост. В данном случае это наш локальный тестовый сервер.
  • -Pause 5: Эта опция указывает Nikto делать паузу в 5 секунд между каждым выполняемым тестом.

После выполнения команды начнется сканирование. Вы увидите вывод в терминале.

Наблюдение за замедленным темпом сканирования

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

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

Вот пример того, как может выглядеть вывод, где каждая строка появляется с задержкой:

- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          127.0.0.1
+ Target Hostname:    localhost
+ Target Port:        8000
+ Start Time:         2023-10-27 10:30:00 (GMT0)
---------------------------------------------------------------------------
+ Server: SimpleHTTP/0.6 Python/3.10.6
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type.
... (новые строки появляются каждые 5 секунд) ...

Такой намеренный темп является прямым результатом использования опции -Pause 5. Полное сканирование с этой настройкой может занять значительное время. Вы можете остановить сканирование в любое время, нажав Ctrl+C в терминале. Для этой лаборатории вы можете дать ему поработать минуту, чтобы понаблюдать за эффектом, а затем остановить его, прежде чем продолжить.

Анализ того, как это может помочь обойти межсетевые экраны с ограничением скорости

На этом шаге мы обсудим основную причину использования опции -Pause в контексте безопасности: обход механизмов ограничения скорости.

Многие современные системы безопасности, такие как межсетевые экраны веб-приложений (WAF) и системы обнаружения вторжений (IDS), используют ограничение скорости в качестве защитного механизма. Ограничение скорости работает путем отслеживания количества запросов от одного IP-адреса за определенный период времени. Если количество запросов превышает заданный порог (например, 100 запросов в минуту), система может временно или постоянно заблокировать этот IP-адрес.

Стандартное сканирование Nikto очень агрессивно и отправляет сотни или тысячи запросов за очень короткое время. Такое поведение почти наверняка вызовет срабатывание любого правила ограничения скорости, что приведет к блокировке сканирования и сделает его результаты неполными и неточными.

Используя -Pause 5, вы изменяете частоту запросов сканирования до одного запроса каждые 5 секунд, что составляет всего 12 запросов в минуту. Такая гораздо более низкая частота с большей вероятностью останется незамеченной простыми механизмами ограничения скорости, позволяя вашему сканированию успешно завершиться без блокировки. Это делает опцию -Pause ценным инструментом для более скрытого тестирования на проникновение.

Использование этой опции для сканирования хрупких или чувствительных систем

На этом шаге мы рассмотрим еще один важный сценарий использования опции -Pause: ответственное сканирование хрупких или чувствительных систем.

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

Когда вам поручено оценить рабочую производственную среду или известную хрупкую систему, вызывание отказа в обслуживании (denial of service) является непрофессиональным и контрпродуктивным.

Использование опции -Pause является ключевой частью проведения ответственной и профессиональной оценки безопасности. Замедляя сканирование, вы значительно снижаете нагрузку на целевой сервер, минимизируя риск нарушения его нормальной работы. Это гарантирует, что ваше тестирование безопасности не будет мешать бизнес-операциям.

Резюме

В этой лабораторной работе вы научились управлять скоростью сканирования веб-сервера с помощью Nikto, используя опцию -Pause.

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

  1. Скрытность: Замедление запросов помогает обходить простые правила ограничения скорости, реализованные в межсетевых экранах и системах обнаружения вторжений.
  2. Стабильность: Снижение частоты запросов минимизирует нагрузку на целевой сервер, что крайне важно при сканировании хрупких, маломощных или критически важных производственных систем.

Овладение опцией -Pause является важным шагом на пути к тому, чтобы стать более эффективным и ответственным специалистом по безопасности.