Это веб сканер с открытым исходным кодом (GPL), который выполняет комплексные тесты против нескольких компонентов, включая более 6700 потенциально опасных файлов / программ, проверку устаревших версий более 1250 серверов и проблемы с конкретными версиями на более чем 270 серверах. Он также проверяет элементы конфигурации сервера, такие как наличие нескольких файлов индекса, параметры HTTP-сервера, и пытается определить установленные веб-серверы и программное обеспечение. Объекты сканирования и плагины часто обновляются и могут автоматически обновляться.
Nikto разработан не как скрытый инструмент. Он проверит веб-сервер в кратчайшие сроки и будет видимым в логах IPS / IDS. Тем не менее, существует поддержка методов Anti-IDS от LibWhisker, если вы хотите попробовать (или проверить свою систему IDS).
Особенности:
- поддержка SSL (Unix с OpenSSL или, возможно, Windows с Perl / NetSSL от ActiveState)
- полная поддержка HTTP-прокси
- проверки устаревших компонентов сервера
- возможность сохранять отчеты в виде простого текста, XML, HTML, NBE или CSV
- шаблонный движок для легкой настройки отчетов
- сканирование нескольких портов на сервере или нескольких серверов через входной файл (включая вывод nmap)
- методы кодирования IDS LibWhisker
- легко обновляется через командную строку
- определяет установленное программное обеспечение через заголовки, иконки и файлы
- аутентификация хоста с помощью Basic и NTLM
- поиск субдоменов
- перебор имен пользователей Apache и cgiwrap
- настройка сканирования для включения или исключения целых классов проверок уязвимостей
- перебор учетных данных для областей авторизации
- перебор возможных директорий
- улучшенная защита от ложных срабатываний с помощью нескольких методов: заголовки,
содержимое страницы и хеширование содержимого
- интерактивное состояние, пауза и изменения настроек подробностей
- бекап полного запроса / ответа на положительные тесты
- повтор сохраненных положительных запросов
- максимальное время выполнения для каждой цели
- автоматическая пауза в указанное время
Опции:
-ask+ Спрашивать ли о получении обновлений/отправке данных
об обнаруженных новых веб-серверах и службах
yes Спрашивать о каждом (по умолчанию)
no Не спрашивать, не отправлять
auto Не спрашивать, просто отправлять
-Cgidirs+ Сканировать эти CGI директории: "none", "all" или значения вроде
"/cgi/ /cgi-a/"
-config+ Использовать этот конфигурационный файл
-Display+ Включить/отключить отображение вывода:
1 Показать редиректы
2 Показать полученные кукиз
3 Показать все ответы 200/OK
4 Показать URL, которые требуют аутентификацию
D Отладочный вывод
E Отобразить все HTTP ошибки
P Печатать прогресс в STDOUT (стандартный вывод)
S Собрать из вывода IP и имена хостов
V Вербальный вывод
-dbcheck Проверить базу данных и другие ключевые файлы на ошибки синтаксиса
-evasion+ Техника кодирования:
1 Случайная URI кодировка (не-UTF8)
2 Ссылка директории на саму себя (/./)
3 Преждевременное завершение URL
4 Добавить в начало длинную случайную строку
5 Фальшивый параметр
6 TAB разделитель в запросе
7 Изменение регистра в URL
8 Использовать Windows разделитель директорий (\)
A Использовать возврат каретки (0x0d) в качестве разделителя
в запросе
B Двоичное значение 0x0b разделителя в запросе
-Format+ Сохранить файл (-o) в формате:
csv Значения, разделённые запятыми
htm HTML формат
nbe Nessus NBE формат
sql Универсальный SQL
txt Простой текст
xml XML формат
(если не указан, формат будет взят из расширения файла,
переданного опцией -output)
-Help Расширенная справка
-host+ Целевой хост
-404code Игнорировать эти HTTP коды как негативный ответ
(всегда). Форматом является "302,301".
-404string Игнорировать эти строки в содержимом теле ответа
как негативный ответ (всегда). Может быть
регулярным выражением.
-id+ Использовать аутентификацию на хосте, формат id:pass
или id:pass:realm
-key+ Файл ключа клиентского сертификата
-list-plugins Список доступных плагинов, тестирование не выполняется
-maxtime+ Максимальное время тестирования для одного хоста
(напр., 1h, 60m, 3600s)
-mutate+ Предположить дополнительные имена файлов:
1 Проверить все файлы по всем корневым директориям
2 Предположить имена файлов с паролями
3 Перечислить имена пользователя через Apache (запросы вида /~user)
4 Перечислить имена пользователя через cgiwrap (запросы типа /cgi-bin/cgiwrap/~user)
5 Попытаться брут-форсить имена субдоменов,
предположить, что имя хоста является родительским доменом
6 Попытаться угадать имена директорий из
предоставленного файла словаря
-mutate-options Указать информацию для перестановок
-nointeractive Отключить интерактивные функции
-nolookup Отключить DNS преобразования
-nossl Отключить использование SSL
-no404 Отключить попытки nikto угадать страницу 404
-Option Переписать опцию в nikto.conf, можно указывать несколько раз
-output+ Записать вывод в этот файл ('.' для автоматического имени)
-Pause+ Пауза между тестами (секунды, целые или с плавающей точкой)
-Plugins+ Список плагинов, которые нужно запускать (по умолчанию: ALL)
-port+ Порт для использования (по умолчанию 80)
-RSAcert+ Клиентский файл сертификата
-root+ В начало всех запросов добавить корневую величину, формат /directory
-Save Сохранить положительные ответы в эту директорию ('.' для автоматического имени)
-ssl Принудительный ssl режим на порту
-Tuning+ Тюнинг сканирования:
1 Интересные файлы / Увиденные в логах
2 Неправильно настроенные / Дефолтные файлы
3 Раскрытие информации
4 Инъекция (XSS/Script/HTML)
5 Удалённое извлечение файлов — Внутри корня веб
6 Отказ в обслуживании
7 Удалённое извлечение файлов — По всему серверу
8 Выполнение команд / Удалённый шелл
9 SQL-инъекция
0 Выгрузка файлов
a Обход аутентификации
b Идентификация программного обеспечения
c Удалённое внедрение кода
d Веб-служба
e Административная консоль
x Обратное значение опций настройки (т. е. включить всё, кроме указанного)
-timeout+ Таймаут для запросов (по умолчанию 10 секунд)
-Userdbs Загрузить только пользовательскую, а не стандартную базу данных
all Отключить стандартную БД и загрузить только пользовательскую БД
tests Отключить только db_tests и загрузить udb_tests
-useragent Переписать дефолтный useragent
-until Работать на протяжении этого времени
-update Обновить базы данных и плагины с CIRT.net
-useproxy Использовать прокси, установленное в nikto.conf или аргументом http://server:port
-Version Напечатать версии плагинов и базы данных
-vhost+ Виртуальный хост (для Host header)
+ значит требуется значение