Введение
Nikto — популярный сканер веб-серверов с открытым исходным кодом, который выполняет комплексные тесты веб-серверов на наличие множества элементов, включая более 6700 потенциально опасных файлов/программ, проверяет устаревшие версии более чем 1250 серверов и проблемы, специфичные для версий, на более чем 270 серверах.
Чтобы гарантировать, что Nikto может обнаруживать новейшие уязвимости, крайне важно поддерживать его базы данных и плагины в актуальном состоянии. Новые уязвимости постоянно обнаруживаются, и команда разработчиков Nikto регулярно выпускает обновления для своего сканирующего движка, плагинов и баз данных уязвимостей. В этой лаборатории вы узнаете простой процесс обновления Nikto до последней версии.
Проверка текущих версий базы данных и движка
На этом шаге вы проверите текущие версии вашей установки Nikto, включая основной движок, плагины и базы данных сканирования. Это важный первый шаг для подтверждения текущего состояния перед выполнением обновления, что позволит вам позже убедиться в успешности обновления.
Для проверки информации о версии вы будете использовать опцию -Version. Откройте терминал и выполните следующую команду:
nikto -Version
Вы увидите вывод, похожий на следующий. Обратите внимание, что конкретные номера версий могут отличаться в зависимости от начального состояния лабораторной среды.
---------------------------------------------------------------------------
- Nikto v2.x.x
---------------------------------------------------------------------------
+ Nikto v2.x.x
+ Target IP:
+ Target Hostname:
+ Target Port:
+ Start Time: ...
---------------------------------------------------------------------------
- Start of nikto scan
---------------------------------------------------------------------------
+ Nikto Core Revision: ...
+ LibWhisker Revision: ...
+ Plugin Revision: 20220410
+ Database Revision: 20220409
Обратите особое внимание на строки Plugin Revision и Database Revision. Это компоненты, которые мы будем обновлять.
Запуск команды обновления с помощью -update
На этом шаге вы будете использовать встроенную функцию обновления Nikto. Nikto может обновлять свои плагины и базы данных непосредственно из официального репозитория по адресу cirt.net.
Команда для запуска этого процесса — nikto -update. Эта команда указывает Nikto подключиться к удаленному серверу, проверить наличие новых версий своих компонентов и загрузить их, если они доступны.
Выполните следующую команду в вашем терминале, чтобы начать процесс обновления:
nikto -update
Теперь Nikto попытается подключиться к Интернету и загрузить последние файлы.
Наблюдение за процессом обновления плагинов и баз данных
Этот шаг предназначен для наблюдения за выводом команды, которую вы только что выполнили. После выполнения nikto -update вы увидите в терминале серию сообщений, детализирующих процесс обновления. Здесь не нужно выполнять никаких новых команд; просто просмотрите вывод из предыдущего шага.
Вывод должен выглядеть примерно так:
---------------------------------------------------------------------------
- Nikto v2.x.x
---------------------------------------------------------------------------
+ Nikto v2.x.x
+ Target IP:
+ Target Hostname:
+ Target Port:
+ Start Time: ...
---------------------------------------------------------------------------
- Start of nikto scan
---------------------------------------------------------------------------
+ Checking for plugin updates...
+ Plugins are current, no update needed.
+ Checking for database updates...
+ The 'db_tests' file is not current.
+ Downloading db_tests.tar.gz...
...
+ Unpacking db_tests.tar.gz...
+ 1010 items unpacked.
+ Done.
Этот вывод подтверждает, что Nikto успешно проверил наличие обновлений. В этом примере плагины уже были актуальны, но тестовая база данных (db_tests) устарела и теперь была загружена и распакована. Ваш вывод может показывать обновления как для плагинов, так и для баз данных.
Проверка новых версий компонентов после обновления
На этом шаге вы проверите, было ли обновление успешным. Так же, как и на первом шаге, вы снова проверите информацию о версиях. Это подтвердит, что новые файлы плагинов и баз данных распознаются и используются Nikto.
Выполните команду nikto -Version еще раз:
nikto -Version
Теперь сравните новый вывод с тем, который вы видели на Шаге 1. Даты Plugin Revision и Database Revision должны быть более свежими.
---------------------------------------------------------------------------
- Nikto v2.x.x
---------------------------------------------------------------------------
+ Nikto v2.x.x
...
---------------------------------------------------------------------------
- Start of nikto scan
---------------------------------------------------------------------------
+ Nikto Core Revision: ...
+ LibWhisker Revision: ...
+ Plugin Revision: 20231025 <-- Должно быть новее
+ Database Revision: 20231112 <-- Должно быть новее
Видя обновленные номера ревизий, вы подтверждаете, что ваш экземпляр Nikto теперь использует последние компоненты.
Выполнение тестового сканирования с обновленными компонентами
На этом заключительном шаге вы выполните быстрое тестовое сканирование, чтобы убедиться, что Nikto полностью работоспособен после обновления. Простое сканирование локального веб-сервера достаточно для подтверждения того, что движок, плагины и базы данных работают совместно корректно.
В лабораторной среде запущен локальный веб-сервер Apache. Вы можете просканировать его, используя localhost в качестве целевого хоста. Опция -h используется для указания хоста.
Выполните следующую команду для начала сканирования:
nikto -h localhost
Nikto начнет сканирование локального веб-сервера. Вы увидите вывод с подробной информацией о сервере и любыми потенциальными находками. Успешное начало сканирования указывает на то, что обновленные компоненты работают корректно.
---------------------------------------------------------------------------
- Nikto v2.x.x
---------------------------------------------------------------------------
+ Target IP: 127.0.0.1
+ Target Hostname: localhost
+ Target Port: 80
+ Start Time: ...
---------------------------------------------------------------------------
- Server: Apache/2.4.52 (Ubuntu)
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS
+ 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
...
+ 6557 requests: 0 error(s) and 7 item(s) reported on remote host
+ End Time: ...
---------------------------------------------------------------------------
- 1 host(s) tested
Видя этот вывод, вы подтверждаете, что ваш обновленный сканер Nikto работоспособен.
Резюме
Поздравляем с завершением этой лабораторной работы!
Вы успешно научились управлять и обновлять ваш веб-сканер Nikto. Вы отработали проверку текущих версий компонентов, выполнение команды nikto -update для получения последних плагинов и баз данных, проверку успешности обновления путем повторной проверки версий и выполнение тестового сканирования для обеспечения корректной работы всего.
Поддержание ваших инструментов безопасности в актуальном состоянии является фундаментальной практикой в кибербезопасности, поскольку это гарантирует, что вы оснащены для обнаружения недавно выявленных угроз и уязвимостей.


