Введение
Nikto — это сканер веб-уязвимостей с открытым исходным кодом на основе Perl, который может обнаруживать все потенциальные угрозы на вашем веб-сервере, включая небезопасные файлы и программы, устаревшие серверы и программы, неверные конфигурации сервера и программного обеспечения и многое другое.
Nikto может работать практически на любой операционной системе с установленным интерпретатором Perl. Поддержка SSL, прокси, аутентификация хоста, шифрование атак, обход IDS и т. д.
В этом руководстве показано, как установить и использовать Nikto в Ubuntu 18.04.
Если вы хотите установить Nikto на удаленный сервер, продолжайте читать, в противном случае, если вы хотите установить Nikto на свой локальный компьютер, пропустите первый абзац «Подключение к серверу» и прочитайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:
ssh root@IP_DEL_SERVER
Далее вам нужно будет ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:
ssh nome_utente@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Предпосылки
Чтобы следовать этому руководству, вам понадобятся:
- Сервер Ubuntu 18.04, настроенный в соответствии с Руководством по начальной настройке сервера для Ubuntu 18.04, включая пользователя без полномочий root с привилегиями sudo и брандмауэр, настроенный с помощью ufw.
Установить Никто
Установка Nikto довольно проста, так как пакет доступен в стандартных репозиториях Ubuntu 18.04. Затем выполните приведенные ниже команды, чтобы установить Nikto.
Обновите список доступных пакетов:
sudo apt update
Обновить доступные пакеты:
sudo apt upgrade -y
Установите Никто:
sudo apt-get install nikto -y
После завершения установки Nikto готов к использованию.
Основное использование Nikto
Основной синтаксис командной строки Nikto выглядит следующим образом:
nikto [options...]
При запуске без каких-либо параметров командной строки отображается базовое описание с различными доступными параметрами:
nikto
Вы должны получить выходное сообщение, подобное следующему:
- Nikto v2.1.5
---------------------------------------------------------------------------
+ ERROR: No host specified
-config+ Use this config file
-Display+ Turn on/off display outputs
-dbcheck check database and other key files for syntax errors
-Format+ save file (-o) format
-Help Extended help information
-host+ target host
-id+ Host authentication to use, format is id:pass or id:pass:realm
-list-plugins List all available plugins
-output+ Write output to this file
-nossl Disables using SSL
-no404 Disables 404 checks
-Plugins+ List of plugins to run (default: ALL)
-port+ Port to use (default 80)
-root+ Prepend root value to all requests, format is /directory
-ssl Force ssl mode on port
-Tuning+ Scan tuning
-timeout+ Timeout for requests (default 10 seconds)
-update Update databases and plugins from CIRT.net
-Version Print plugin and database versions
-vhost+ Virtual host (for Host header)
+ requires a value
Note: This is the short help output. Use -H for full help text.
Запустить веб-сканирование Nikto
Для базовой команды Nikto требуется только хост. Целевой хост можно указать с помощью опции -h или -host, например, для сканирования веб-сервера с IP-адресом 192.168.99.99 запустите Nikto следующим образом:
nikto -host 192.168.99.99
Nikto сканирует порт 80 по умолчанию. Однако, если веб-сервер работает на другом порту, порт необходимо указать с помощью параметра -p или -port. Следовательно:
nikto -h 192.168.99.99 -p 8080
Вы можете указать несколько портов, разделив их запятой.
nikto -h 192.168.99.99 -p 8080,8888
Вы также можете указать диапазон портов в формате порт1-порт, например:
nikto -h 192.168.99.99 -p 8080-8888
Вместо использования IP-адреса для указания хоста назначения вы также можете использовать URL-адреса, например:
nikto -h test.esempio.com
nikto -h https://test.esempio.com
Вы также можете указать порт при использовании URL:
nikto -h test.esempio.com -p 8080
nikto -h https://test.esempio.com -p 8443
Или же:
nikto -h test.esempio.com:8080
nikto -h test.esempio.com:8443/
В той мере, в какой вы можете указать целевые хосты с помощью параметра -p, вы также можете указать файл, содержащий список целевых хостов построчно. Например, файл должен содержать цели в следующем формате:
192.168.99.99:8888
192.168.99.99
https://test.esempio.com:443/
Предположим, файл называется target-host. Чтобы одновременно сканировать эти хосты, выполните следующую команду:
nikto -h target-host
Вы также можете сканировать хосты с помощью Nmap и передавать результат в nikto. Например, чтобы найти открытый порт 80 в сети, введите:
nmap -p80 192.168.99.99/24 -oG - | nikto -h -
Если вы хотите использовать прокси-сервер, вы можете использовать опцию -useproxy. Вы можете указать параметры прокси-сервера непосредственно в файле конфигурации Nikto /etc/nikto/config.txt или из командной строки.
Откройте файл конфигурации Nikto в вашем любимом текстовом редакторе, здесь мы будем использовать nano:
sudo nano /etc/nikto/config.txt
Добавьте или измените следующие параметры, введя свои данные:
PROXYHOST=192.168.88.88
PROXYPORT=3128
PROXYUSER=nome_utente
PROXYPASS=password
Когда закончите, сохраните и закройте файл, нажав CTRL + X, затем Y, чтобы сохранить изменения, а затем ENTER, если вы используете nano.
После определения деталей прокси в файле конфигурации запустите nikto с параметром -userproxy ;
nikto -h 192.168.99.99 -useproxy
Чтобы указать детали прокси-соединения в командной строке без изменения файла конфигурации, задайте команду следующим образом:
nikto -h 192.168.99.99 -useproxy http://nome_utente:[email protected]:3128/
Или же:
nikto -h 192.168.99.99 -useproxy http://@192.168.70.23:3128/
Nikto может экспортировать результаты сканирования в различные форматы; CSV, HTML, XML, NBE, текст. Чтобы сохранить результаты в определенном формате вывода, необходимо указать параметр -o /-output и параметр -Format для определения формата вывода. См. примеры ниже, чтобы сохранить результаты сканирования в формате html.
nikto -h 192.168.99.99 -o test.html -F html
Nikto также можно оптимизировать для выполнения определенных сканирований. Ниже приведено описание параметров оптимизации, которые можно использовать для достижения этой функциональности.
1 - Interesting File /Seen in logs
2 - Misconfiguration /Default File
3 - Information Disclosure
4 - Injection (XSS/Script/HTML)
5 - Remote File Retrieval - Inside Web Root
6 - Denial of Service
7 - Remote File Retrieval - Server Wide
8 - Command Execution /Remote Shell
9 - SQL Injection
0 - File Upload
a - Authentication Bypass
b - Software Identification
c - Remote Source Inclusion
x - Reverse Tuning Options (ie, include all except specified)
Например, чтобы протестировать SQL Injection и удаленное восстановление файлов, введите следующую команду:
nikto -h 192.168.99.99 -Tuning 79 -o test.html -F html
Вывод
В этом руководстве вы установили и настроили Nikto на Ubuntu 18.04. Для получения дополнительной информации об использовании Nikto:
nikto -H