Nikto существует с 2001 года и по сей день остаётся одним из первых инструментов, которые я запускаю при тестировании веб-приложений. Не потому что он модный — а потому что он надёжно находит то, что легко пропустить: устаревшие версии ПО, небезопасные HTTP-заголовки, опасные файлы и директории.

Что проверяет Nikto

База данных Nikto содержит тысячи проверок:

  • Версии веб-серверов (Apache, Nginx, IIS) и известные для них CVE
  • Небезопасные HTTP-заголовки (отсутствие X-Frame-Options, Content-Security-Policy)
  • Опасные файлы: phpinfo.php, test.php, /admin, /backup, /.git
  • Default credentials для популярных приложений
  • SSL/TLS конфигурацию
  • Методы HTTP (PUT, DELETE, TRACE)

Базовое использование

nikto -h http://target.com

Или с указанием порта:

nikto -h target.com -p 8080

HTTPS:

nikto -h https://target.com -ssl

Работа с аутентификацией

HTTP Basic Auth:

nikto -h http://target.com -id admin:password

Через cookies (для сессионной аутентификации):

nikto -h http://target.com -cookies "session=abc123; token=xyz"

Настройка сканирования

Nikto разделяет проверки на tuning-категории. Можно выбрать нужные:

  • 1 — интересные файлы
  • 2 — неправильные настройки
  • 3 — информационное раскрытие
  • 4 — инъекции (XSS, SQL)
  • 9 — SQL-инъекции
  • x — все проверки
nikto -h http://target.com -Tuning 123

Обход обнаружения

Nikto достаточно шумный инструмент. Для некоторого снижения заметности:

nikto -h http://target.com -evasion 1

Методы уклонения: случайные URL-encodings, добавление директорий, смешение регистра. Против серьёзных WAF это не поможет, но от простых фильтров спасёт.

Сохранение отчёта

nikto -h http://target.com -o report.html -Format html

Форматы: csv, html, msf+, nbe, txt, xml.

Параллельное сканирование нескольких хостов

nikto -h hosts.txt -o results.csv -Format csv

В файле hosts.txt — по одному хосту на строку.

Место Nikto в рабочем процессе

Я запускаю Nikto в самом начале — параллельно с ручным исследованием. Пока Nikto шумит и собирает быстрые результаты, я изучаю функциональность приложения. К концу Nikto обычно уже выдал список "низко висящих фруктов" — файлов и конфигураций, требующих проверки вручную. Особенно ценны находки типа phpinfo.php, открытые .git и .svn директории, backup-файлы с расширениями .bak, .old, .zip.