Введение
Nikto — популярный сканер веб-серверов с открытым исходным кодом, который выполняет комплексное тестирование веб-серверов на наличие множества элементов, включая более 6700 потенциально опасных файлов/программ, проверяет устаревшие версии более чем 1250 серверов и проблемы, специфичные для версий, на более чем 270 серверах.
Прежде чем проводить какие-либо сканирования, крайне важно понимать доступные параметры и как их правильно использовать. Меню справки командной строки — это самый прямой способ узнать о возможностях Nikto.
В этой лаборатории вы изучите различные параметры командной строки, связанные со справкой, доступные в Nikto. Вы узнаете, как получить доступ к базовой и подробной справке, вывести список всех доступных плагинов для тестирования и проверить версию инструмента. Освоение этих простых команд обеспечит прочную основу для эффективного использования Nikto в более сложных сценариях.
Доступ к базовому меню справки с помощью -h
На этом шаге вы узнаете, как получить доступ к базовому меню справки. Как и многие инструменты командной строки, Nikto предоставляет опцию -h (или --help) для отображения сводки наиболее распространенных параметров командной строки. Это первое место, куда следует обратиться, когда вам нужно быстро напомнить, как использовать инструмент.
Выполните следующую команду в терминале, чтобы отобразить базовое меню справки:
nikto -h
Вы увидите сокращенный список параметров. Этот вывод предназначен для быстрого ознакомления при повседневном использовании.
- Nikto v2.5.0
---------------------------------------------------------------------------
-config+ Использовать этот файл конфигурации
-Display+ Включить/выключить вывод отображения
-evasion+ Метод кодирования
-Format+ Формат файла сохранения (-o)
-host+ Целевой хост
-Help Расширенная справочная информация
-id+ Аутентификация хоста для использования, формат: id:pass или id:pass:realm
-list-plugins Список всех доступных плагинов
-nointeractive Отключает интерактивные функции
-nossl Отключает использование SSL
-no404 Отключает проверку 404
... (вывод усечен) ...
+ требует значения
Это дает вам краткий обзор того, что делает каждый параметр. Обратите внимание, что некоторые параметры отмечены знаком +, что указывает на то, что они требуют значения.
Просмотр расширенного меню справки с помощью -H
На этом шаге вы просмотрите расширенное меню справки. Хотя опция -h полезна для быстрого напоминания, иногда требуется более подробная информация обо всех доступных параметрах, включая менее распространенные. Для этой цели Nikto предоставляет опцию -H (или --Help).
Выполните следующую команду, чтобы увидеть полный вывод справки:
nikto -H
Вывод этой команды гораздо более полный, чем у базового меню справки. Он предоставляет полный список всех параметров, часто с более подробными объяснениями и примерами.
- Nikto v2.5.0
---------------------------------------------------------------------------
-ask+ (yes/no) Указать, следует ли запрашивать отправку обновленной
информации на CIRT.net.
-config+ (config.txt) Указать файл конфигурации для использования вместо
файла по умолчанию.
-dbcheck Проверить базы данных сканирования на наличие синтаксических ошибок.
-Display+ (1234D) Управлять выводом, который показывает Nikto. Используйте
порядковый номер или букву для указания типа. Можно использовать несколько.
1 - Показывать перенаправления
2 - Показывать полученные cookie
3 - Показывать все ответы 200/OK
4 - Показывать URL, требующие аутентификации
D - Отладочный вывод
E - Отображать все HTTP-ошибки
P - Выводить прогресс в STDOUT
S - Очищать вывод от IP-адресов и имен хостов
V - Подробный вывод
... (вывод усечен) ...
Уделите минуту, чтобы просмотреть этот вывод. Вы обнаружите множество мощных функций, которые не были перечислены в базовом меню справки.
Список всех доступных плагинов с помощью -list-plugins
На этом шаге вы узнаете, как вывести список всех доступных плагинов Nikto. Сканирующая мощь Nikto обеспечивается его плагинами, которые представляют собой отдельные скрипты, выполняющие конкретные тесты. Понимание того, какие плагины доступны, может помочь вам настроить ваши сканирования.
Чтобы увидеть полный список всех установленных плагинов, используйте опцию -list-plugins.
Выполните команду ниже:
nikto -list-plugins
Это выведет длинный список всех плагинов, которые Nikto может использовать во время сканирования. Каждый плагин отвечает за проверку конкретной уязвимости или неправильной конфигурации.
- Nikto v2.5.0
---------------------------------------------------------------------------
Загружено 289 плагинов из /var/lib/nikto/plugins
Plugin:
- aolserver
http://cirt.net/plugins.shtml#aolserver
Проверяет элементы, специфичные для AOLserver
Plugin:
- apache
http://cirt.net/plugins.shtml#apache
Проверяет элементы, специфичные для Apache
Plugin:
- apache_expect_xss
http://cirt.net/plugins.shtml#apache_expect_xss
Проверяет заголовок Apache Expect XSS.
... (вывод усечен) ...
Этот список показывает имя плагина, ссылку на дополнительную информацию и краткое описание его назначения.
Проверка синтаксиса для конкретного параметра
На этом шаге вы научитесь находить синтаксис для конкретного параметра с помощью меню справки. Расширенная справка (-H) является вашим справочным руководством. Когда вы хотите узнать, как использовать определенную функцию, вы можете выполнить поиск в выводе этой справки.
Предположим, вы хотите использовать параметр -Tuning для управления типами выполняемых тестов, но не уверены, какие значения являются допустимыми. Вы можете объединить команду nikto -H с grep, чтобы быстро найти нужную информацию.
Выполните следующую команду, чтобы найти сведения о параметре -Tuning:
nikto -H | grep 'Tuning'
Символ конвейера | передает вывод команды nikto -H команде grep, которая затем фильтрует вывод, показывая только строки, содержащие слово "Tuning".
-Tuning+ (1234567890ab) Параметры тюнинга управляют тестами, которые Nikto
будет использовать против цели. Используйте порядковый
номер или букву для указания типа.
Можно использовать несколько.
1 - Интересные файлы / Виден в логах
2 - Неправильная конфигурация / Файл по умолчанию
3 - Раскрытие информации
4 - Внедрение (XSS/Script/HTML)
5 - Получение удаленных файлов - внутри корневой директории веб-сервера
6 - Отказ в обслуживании
7 - Получение удаленных файлов - по всему серверу
8 - Выполнение команд / Удаленная оболочка
9 - SQL-инъекция
0 - Загрузка файлов
a - Обход аутентификации
b - Идентификация программного обеспечения
x - Обратный тюнинг (т.е. включить
все, кроме указанных)
Этот вывод четко объясняет, что делает параметр -Tuning, и перечисляет все допустимые значения, которые вы можете с ним использовать.
Проверка установленной версии Nikto
На этом заключительном шаге вы узнаете, как проверить установленную версию Nikto. Знание версии важно по нескольким причинам: оно помогает определить, есть ли у вас последние функции и проверки безопасности, и является необходимой информацией при сообщении об ошибке или обращении за помощью.
Nikto имеет специальную опцию -Version (обратите внимание на заглавную 'V') для отображения информации о версии инструмента и его ключевых компонентах.
Выполните следующую команду в вашем терминале:
nikto -Version
Команда выведет подробную информацию о версии.
---------------------------------------------------------------------------
- Nikto v2.5.0
- LibWhisker v2.5
- Perl v5.34.0
- Поддержка SSL: Net::SSLeay 1.92
- Параметры компиляции SSL: OPENSSL_VER=0x30000020, OPENSSL_INC=/usr/include, OPENSSL_LIB=/usr/lib/x86_64-linux-gnu
- База данных Nikto: 20231125
- База данных CIRT: 20221101
---------------------------------------------------------------------------
Этот вывод показывает версию самого Nikto, а также версии его базовых компонентов, таких как Perl и OpenSSL, и статус обновления его баз данных.
Резюме
В этой лабораторной работе вы успешно изучили основные параметры командной строки для веб-сканера Nikto.
Вы научились:
- Использовать
nikto -hдля получения краткого обзора распространенных параметров. - Использовать
nikto -Hдля просмотра полного и подробного списка всех доступных параметров. - Использовать
nikto -list-pluginsдля просмотра всех плагинов тестирования, которые Nikto может использовать. - Находить информацию о конкретном параметре, передавая вывод справки команде
grep. - Проверять установленную версию Nikto и его компонентов с помощью
nikto -Version.
Теперь вы обладаете фундаментальными знаниями, необходимыми для навигации по параметрам Nikto и понимания его возможностей. Это позволит вам уверенно создавать более сложные команды сканирования в будущем.


