Создание HTML-отчета с помощью Nikto

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

Введение

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

Хотя запуск сканирования полезен, возможность сохранять результаты в четком, читаемом и удобном для обмена формате имеет решающее значение для специалистов по безопасности. Nikto может экспортировать результаты сканирования в различные форматы, причем HTML является одним из наиболее удобных для анализа.

В этой лабораторной работе вы научитесь запускать сканирование Nikto против целевого веб-сервера и генерировать хорошо структурированный HTML-отчет.

Указание формата HTML с помощью -Format html

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

Опция -Format используется для указания Nikto, какой формат отчета использовать. Для генерации HTML-отчета вы должны указать html в качестве аргумента для этой опции.

Давайте начнем с изучения меню справки Nikto, чтобы увидеть доступные форматы.

nikto -Help | grep Format

Вы должны увидеть вывод, перечисляющий доступные форматы, включая html.

-Format       Scan report format (csv, htm, msf+, nbe, sql, txt, xml)

Синтаксис для указания формата HTML — просто -Format html. Мы объединим это с другими флагами на следующих шагах, чтобы построить нашу полную команду.

Использование флага -o для выходного HTML-файла

На этом этапе вы узнаете, как указать файл, в который Nikto должен сохранить отчет. Простое указание формата HTML выведет необработанный HTML-код в ваш терминал, что не очень полезно. Вам нужно направить этот вывод в файл.

Для этой цели используется флаг -o (или --output). Вы предоставляете желаемое имя файла в качестве аргумента этому флагу.

Давайте объединим это с флагом формата из предыдущего шага. Мы назовем наш файл отчета nikto_report.html и сохраним его в текущем каталоге (~/project). Нам также нужно указать цель для сканирования с помощью флага -h (или --host). Для этой лабораторной работы нашей целью является локальный веб-сервер, работающий по адресу http://127.0.0.1:8000.

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

nikto -h http://127.0.0.1:8000 -Format html -o nikto_report.html

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

Выполнение сканирования для создания отчета

Теперь пришло время собрать все воедино и запустить сканирование. Мы будем использовать команду, которую мы составили на предыдущих шагах, чтобы просканировать наш локальный веб-сервер и сохранить результаты в HTML-файл.

Выполните следующую команду в вашем терминале. Сканирование может занять несколько минут.

nikto -h http://127.0.0.1:8000 -Format html -o nikto_report.html

Во время сканирования Nikto будет отображать свой прогресс в терминале. Вывод будет выглядеть примерно так:

- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          127.0.0.1
+ Target Hostname:    127.0.0.1
+ Target Port:        8000
+ Start Time:         2023-10-27 10:30:00
---------------------------------------------------------------------------
+ Server:             SimpleHTTP/0.6 Python/3.10.12
+ 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
+ No CGI directories found (use '-C all' to force check all possible dirs)
+ "robots.txt" not found.
+ OSVDB-3233: /: HTTP TRACE method is active, suggesting the host is vulnerable to XST
+ 7528 requests: 0 error(s) and 5 item(s) reported on remote host
+ End Time:           2023-10-27 10:30:15
+ (15 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested

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

ls -l nikto_report.html

Вы должны увидеть файл nikto_report.html в списке вывода.

-rw-r--r-- 1 labex labex 21435 Oct 27 10:30 nikto_report.html

Открытие сгенерированного HTML-файла в веб-браузере

На этом этапе вы откроете сгенерированный файл nikto_report.html для просмотра его содержимого. Поскольку это HTML-файл, лучший способ его просмотра — в веб-браузере.

Среда LabEx включает веб-браузер Firefox. Вы можете открыть отчет непосредственно из терминала, выполнив команду firefox, за которой следует имя файла.

Выполните следующую команду. Это запустит Firefox и откроет ваш отчет.

firefox nikto_report.html

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

Навигация по различным разделам HTML-отчета

На этом заключительном этапе вы изучите отчет, который только что открыли в Firefox. HTML-отчет, сгенерированный Nikto, структурирован таким образом, чтобы быть понятным и информативным.

Уделите несколько минут изучению различных частей отчета:

  • Scan Details (Детали сканирования): В верхней части вы найдете сводку сканирования, включая IP-адрес цели, имя хоста, порт и время выполнения сканирования.
  • Vulnerabilities Table (Таблица уязвимостей): Основная часть отчета — это таблица, перечисляющая все найденные проблемы. Каждая строка представляет собой потенциальную проблему.
  • Key Columns (Ключевые столбцы): Обратите внимание на столбец URI, который показывает затронутый путь, и столбец Description (Описание), который объясняет находку. Многие находки содержат ссылку (часто идентификатор OSVDB), по которой можно щелкнуть, чтобы получить более подробную информацию о конкретной уязвимости.

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

Резюме

В этой лабораторной работе вы научились использовать Nikto для создания подробного отчета об уязвимостях веб-сервера в формате HTML.

Вы отработали использование опции -Format html для указания типа отчета и флага -o для сохранения вывода в файл с именем nikto_report.html. Наконец, вы открыли и изучили сгенерированный отчет в веб-браузере, научившись интерпретировать сводку сканирования и подробные результаты.

Этот навык необходим для эффективного документирования и сообщения о результатах оценки безопасности.