Nikto. Веб-сканер. Как использовать?
Nikto — это утилита для оценки веб-серверов. Он ищет небезопасные файлы, конфиги, то есть уязвимости на веб-сервере.
Nikto сделан на LibWhisker2 (by RFP) и может работать на любой платформе, в которой есть окружение Perl. Он поддерживает SSL, прокси, аутентификацию на хосте, кодировку полезной нагрузки и другое.
Nikto не создавался быть незаметным. Он будет тестировать веб-сервер за самое быстрое возможное время, очевидно, что его активность попадёт в логи веб-сервера и в поле зрение IPS/IDS (систем обнаружения/предотвращения вторжений). Тем не менее, имеется поддержка для анти-IDS методов из LibWhisker – на случай, если вы захотите их попробовать (или протестировать вашу систему IDS).
Не каждая проверка относится к проблеме безопасности, хотя большинство относятся. Некоторые пункты являются проверками типа «только для информации», которые ищут вещи, может быть не имеющие брешей безопасности, но веб-мастер или инженер по безопасности могут не знать, что это присутствует на сервере. Обычно в выводимой информации эти элементы помечены соответствующим образом. Есть также некоторые проверки на неизвестные элементы, которые были замечены в файлах журналов.
Установка:
Nikto уже имеется в ИБ дистрибутивах (Kali Linux, Parrot OS, BlackArch и т.д.)
nikto -H (Полная справка)
Но у кого нет ИБ дистрибутива, мы будем качать с гитхаба.
Качаем с гитхаба:
git clone https://github.com/sullo/nikto.git
Заходим в папку утилиты:
cd
nikto/program/
Запускаем:
./nikto.pl -H
Использование:
Для начала мы можем просканировать определенный хост.
nikto -h http://mysite.com (192.168.1.255)
Рассказываю: -h (-host) - наша цель, http://mysite.com (192.168.1.255 локальный ip-адрес) — Название хоста
Сканирование с определенным портом:
nikto -h http://mysite.com (192.168.1.255) -p 443 или nikto -h http://mysite.com:443/
Сканирование с несколькими портами:
nikto -h http://mysite.com (192.168.1.255) -p 443,80,88
Сканирование с SSL протоколом:
nikto -h http://mysite.com (192.168.1.255) -p 443 -ssl
Nikto начнёт с обычного HTTP и если это не получится, перейдёт к HTTPS. Если вы уверены, что это сервер с SSL, то это ускорит сканирование.
Сканирование с использованием прокси:
Что бы использовался прокси нужно зайти в nikto.conf
nano /etc/nikto.conf (для ИБ дистрибутива). nano home/root/nikto/program/nikto.conf
Установите переменные PROXY*. Если вы сделали всё правильно:
nikto -h http://mysite.com -p 443 -useproxy
Можно установить прокси через командную строку:
nikto -h http://mysite.com -useproxy http://myproxy.com:8080
Анонимное сканирование:
Для анонимных сканирований можно воспользоваться услугами сети Tor. Но поскольку Nikto не поддерживает работу с SOCKS, то нам дополнительно нужно настроить ещё и Privoxy
В ИБ дистрибутивах можно сделать так:
sudo apt install tor privoxy
Для Arch Linux:
sudo pacman -S tor privoxy
Далее заходим в /etc/privoxy/config
И добавляем эти строки:
forward-socks4 / localhost:9050
forward-socks4a / localhost:9050
forward-socks5t / localhost:9050
Запускаем и добавляем службы:
sudo systemctl start tor
sudo systemctl enable tor
sudo systemctl start privoxy
sudo systemctl enable privoxy
Чтобы сканирование происходило через Tor:
nikto -h http://mysite.com -useproxy http://localhost:8118/
Другие функции:
Во время активного сканирования, нажатия любой нижеприведённой клавиши включит или отключит указанную функцию или выполнить указанное действие.
- Пробел — Сообщить текущий статус сканирования.
- v — Включить/включить вербальный режим.
- d — Включить/выключить режим отладки.
- e — Включить/включить сообщения об ошибках.
- p — Включить/включить сообщение о прогрессе.
- r — Включить/включить отображения перенаправления.
- c — Включить/включить отображение кукиз.
- o — Включить/включить показ OK.
- a — Включить/включить отображение аутентификации.
- q — Выйти.
- N — Следующий хост.
- p - Пауза.