Настройка поведения сканирования с помощью файла nikto.conf

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

Введение

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

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

В этой лаборатории вы научитесь находить, читать и изменять файл nikto.conf. Вы измените строку USERAGENT по умолчанию, запустите сканирование, чтобы наблюдать новое поведение, а затем восстановите исходную конфигурацию.

Поиск основного конфигурационного файла nikto.conf

На этом шаге вы найдете основной конфигурационный файл Nikto, nikto.conf. Этот файл содержит все настройки по умолчанию, которые Nikto использует при работе. В системах на базе Debian, таких как используемая вами среда Ubuntu, этот файл обычно находится в каталоге /etc/.

Мы можем использовать команду find для поиска файла по всей файловой системе. Это полезный метод, когда вы не уверены в точном местоположении конфигурационного файла.

Выполните следующую команду в терминале, чтобы найти nikto.conf. Мы перенаправим стандартный поток ошибок (2) в /dev/null, чтобы скрыть любые сообщения "Permission denied" для более чистого вывода.

sudo find / -name nikto.conf 2> /dev/null

В качестве вывода вы должны увидеть путь к конфигурационному файлу:

/etc/nikto.conf

Теперь, когда вы знаете его местоположение, вы можете перейти к проверке его содержимого.

Открытие файла и просмотр настроек по умолчанию, таких как RFIURL

На этом шаге вы откроете файл nikto.conf с помощью текстового редактора и изучите некоторые его настройки по умолчанию. Мы будем использовать редактор nano, который является простым текстовым редактором командной строки. Поскольку файл находится в /etc/ и принадлежит пользователю root, для его открытия необходимо использовать sudo.

Откройте файл с помощью nano:

sudo nano /etc/nikto.conf

Находясь в nano, вы можете перемещаться с помощью клавиш со стрелками. Файл содержит множество комментариев (строки, начинающиеся с #), объясняющих назначение каждой переменной.

Найдем конкретную переменную RFIURL. Эта переменная определяет внешний файл, который Nikto использует для тестов на удаленное включение файлов (RFI). Нажмите Ctrl + W, чтобы открыть строку поиска, введите RFIURL и нажмите Enter. Вы увидите строку, похожую на эту:

## The URL to a remote file to use for RFI tests.
RFIURL=http://cirt.net/rfi.txt

Далее найдем переменную USERAGENT, которую мы изменим на следующем шаге. Снова нажмите Ctrl + W, введите USERAGENT и нажмите Enter. Вы найдете строку User-Agent по умолчанию, которую Nikto использует для идентификации себя перед веб-сервером.

## The User-Agent to send to the web server
USERAGENT=Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 (Nikto/2.5.0)

После просмотра этих настроек вы можете выйти из nano без сохранения изменений, нажав Ctrl + X.

Изменение статической переменной, такой как USERAGENT по умолчанию

Теперь вы измените статическую переменную в конфигурационном файле. Мы изменим значение USERAGENT по умолчанию на пользовательское. Изменение User-Agent может быть полезно для имитации конкретного браузера, обхода простого обнаружения или маркировки трафика сканирования для целей логирования.

Сначала снова откройте файл с помощью nano:

sudo nano /etc/nikto.conf

Используйте Ctrl + W, чтобы снова найти USERAGENT. Найдя строку, хорошей практикой будет сохранить исходное значение для справки. Добавьте # в начало исходной строки USERAGENT, чтобы закомментировать ее. Затем, в новой строке непосредственно под ней, добавьте свой пользовательский User-Agent.

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

## The User-Agent to send to the web server
#USERAGENT=Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 (Nikto/2.5.0)
USERAGENT=MyCustomScanner/1.0

Теперь сохраните изменения и выйдите из редактора. Нажмите Ctrl + O, чтобы записать изменения, нажмите Enter, чтобы подтвердить имя файла, а затем нажмите Ctrl + X, чтобы выйти из nano. Ваша конфигурация теперь обновлена.

Запуск сканирования для наблюдения за новым поведением по умолчанию

На этом шаге вы запустите сканирование Nikto против локального веб-сервера, чтобы увидеть ваш новый USERAGENT в действии. Скрипт настройки для этой лаборатории уже установил и запустил веб-сервер Apache, который работает на 127.0.0.1 (localhost).

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

Запустите базовое сканирование против локального сервера с опцией -h (host):

nikto -h http://127.0.0.1

Наблюдайте за начальным выводом Nikto. Он перечислит информацию о цели и некоторые из используемых для сканирования опций. Вы должны увидеть ваш пользовательский User-Agent, отраженный в выводе.

- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          127.0.0.1
+ Target Hostname:    127.0.0.1
+ Target Port:        80
+ Start Time:         2023-10-27 10:30:00 (GMT0)
---------------------------------------------------------------------------
- Server: Apache/2.4.52 (Ubuntu)
+ User-Agent: MyCustomScanner/1.0
- The anti-clickjacking X-Frame-Options header is not present.
... (результаты сканирования будут продолжены) ...

Как вы можете видеть в строке + User-Agent: MyCustomScanner/1.0, Nikto теперь использует значение по умолчанию, которое вы установили в nikto.conf. Вы можете остановить сканирование в любое время, нажав Ctrl + C.

Откат изменений к исходной конфигурации

Наконец, хорошей практикой является восстановление исходного состояния конфигурации, особенно в общей среде. На этом шаге вы откатите изменения, внесенные в nikto.conf.

Во время настройки лаборатории резервная копия исходного конфигурационного файла была автоматически создана по адресу /etc/nikto.conf.bak. Вы можете восстановить эту резервную копию, используя команду mv (move), чтобы перезаписать ваш измененный файл оригинальным.

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

sudo mv /etc/nikto.conf.bak /etc/nikto.conf

Эта команда перемещает /etc/nikto.conf.bak в /etc/nikto.conf, фактически заменяя отредактированный вами файл.

Чтобы убедиться, что файл был восстановлен, вы можете использовать команду grep, чтобы снова проверить строку USERAGENT.

grep USERAGENT /etc/nikto.conf

Вывод теперь должен показать исходную, незакомментированную строку User-Agent, подтверждая, что ваши изменения были успешно отменены.

USERAGENT=Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 (Nikto/2.5.0)

Итоги

В этой лаборатории вы успешно настроили поведение Nikto, отредактировав его основной конфигурационный файл nikto.conf. Это фундаментальный навык для адаптации инструментов безопасности к конкретным требованиям тестирования на проникновение или аудита безопасности.

Вы научились:

  • Находить файл nikto.conf в системе Linux.
  • Читать и понимать назначение конфигурационных переменных.
  • Изменять статическую переменную, в частности USERAGENT.
  • Проверять изменение конфигурации, запуская сканирование и наблюдая за выводом.
  • Восстанавливать исходную конфигурацию из резервной копии файла.

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