Nikto kali linux ����������

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Инструкция по использованию сканера веб-серверов Nikto

Что такое Nikto

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

На официальном сайте изменения замерли на 2.1.5 версии аж в 2012 году. Тем не менее, под руководством автора проект живёт на GitHub’е, пользователи регулярно добавляют в базу данных и плагины изменения для сканирования новых уязвимостей, новых версий и т.д.

Nikto не создавался быть незаметным. Он будет тестировать веб-сервер за самое быстрое возможное время, очевидно, что его активность попадёт в логи веб-сервера и в поле зрение IPS/IDS (систем обнаружения/предотвращения вторжений). Тем не менее, имеется поддержка для анти-IDS методов из LibWhisker – на случай, если вы захотите их попробовать (или протестировать вашу систему IDS).

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

Особенности и возможности Nikto

Вот некоторые из основных особенностей Nikto:

  • Поддержка SSL (Unix с OpenSSL или может быть Windows с Perl/NetSSL в ActiveState)
  • Полная поддержка HTTP прокси
  • Проверка на устаревшие компоненты сервера
  • Сохранение отчёта в виде простого текста, XML, HTML, NBE или CSV
  • Движок шаблонов для простой настройки отчётов
  • Сканирование нескольких портов на сервере или несколько серверов полученных из файла ввода (включая вывод nmap)
  • Техники кодирования LibWhisker IDS
  • Идентификация установленного программного обеспечения по заголовкам, иконкам (favicon) и файлам
  • Аутентификация на хосте с Basic и NTLM
  • Угадывание поддоменов
  • Перечисление имён пользователей Apache и cgiwrap
  • Техники мутации для «рыбалки» за контентом веб-серверов
  • Подстройка сканирования, для включения или исключения целых классов проверок на уязвимости
  • Предположение учётных данных для области авторизации (включая множество стандартных комбинаций логинов/паролей)
  • Угадывание авторизации работает с любой директорией, а не только с корневой
  • Улучшенное подавление ложных срабатываний посредством нескольких методов: заголовки, содержимое страницы и вычисления хеша содержимого
  • Сообщение о «необычных» увиденных заголовках
  • Интерактивный статус, можно поставить на паузу и изменить настройки вербальности
  • Сохранение полных запросов/ответов для тестов, давших положительные результаты
  • Повторное воспроизведение положительных запросов
  • Максимальное время выполнения на одну цель
  • Автоматическая постановка на паузу в определённое время
  • Проверки на распространённые «парковочные» сайты
  • Вход в Metasploit

Установка Nikto

Хотя Nikto и предустановлен в Kali Linux, на момент написания пакет не обновлялся уже 2 года.

При этом на GitHub’е жизнь вокруг проекта есть, причём довольно активная.

Поэтому не смотря на установленную версию, мы загрузим Nikto с GitHub’а и будем использовать его для сканирований:

Простые проверки с Nikto

Самое простое сканирование Nikto требует только указания хоста в качестве цели, поскольку 80 порт подразумевается, если не указан. Хостом может быть как IP, так и имя хоста машины, указывается используя опцию -h (-host). Следующая команда просканирует 192.168.0.1 на TCP порту 80:

Читайте также:  Raw ��������� ��� mac os

Для проверки на другом порте, укажите с опцией -p (-port) номер порта. Следующая команда просканирует 192.168.0.1 на TCP порту 443:

Хосты, порты и протоколы также можно указывать используя синтаксис полного URL:

Не необходимости указывать 443 порт для SSL, т.к. Nikto начнёт с обычного HTTP и если это не получится, перейдёт к HTTPS. Если вы уверены, что это сервер с SSL, указание -s (-ssl) ускорит тест.

Сканирование нескольких портов в Nikto

Nikto может сканировать несколько портов за одну сессию сканирования. Для тестирования более чем одного порта на том же хосте, укажите список портов в опции -p (-port). Порты можно указать в виде диапазона (т.е. 80-90), в качестве разделённого запятой списка (т.е. 80,88,90). Следующая команда просканирует хост на портах 80, 88 и 443:

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

Nikto поддерживает сканирование нескольких хостов за одну сессию. Их можно указать в текстовом файле имён хостов или IP. Вместо передачи имени хоста или IP для опции -h (-host), можно передать имя файла. Файл хостов должен иметь формат один хост на одну строку с номером(номерами) портов на конце каждой строки. Порты могут быть отделены от хоста и других портов двоеточием или запятой. Если порт не указан, подразумевается 80 порт.

Это пример правильного файла хостов:

Файлом хостов также может быть вывод nmap в формате «greppable» (т.е. вывод с опцией -oG).

Файл можно передать в Nikto через стандартный вывод/ввод используя в качестве имени файла ««. Например:

Использование прокси

Nikto может использовать прокси при указании его в файле настройки (nikto.conf), либо в опции командной строки.

Для использования файла nikto.conf установите переменные PROXY* и затем выполните Nikto с опцией -useproxy. Все соединения будут переданы через HTTP прокси, указанный в файле конфигурации.

Для установки прокси в командной строке, используйте опцию -useproxy с настройками прокси в качестве аргумента, например:

Интерактивные функции

Nikto содержит несколько опций, которые могут быть изменены во время активного сканирования.

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

  • Пробел – Сообщить текущий статус сканирования
  • v – Включить/включить вербальный режим
  • d – Включить/выключить режим отладки
  • e – Включить/включить сообщения об ошибках
  • p – Включить/включить сообщение о прогрессе
  • r – Включить/включить отображения перенаправления
  • c – Включить/включить отображение кукиз
  • o – Включить/включить показ OK
  • a – Включить/включить отображение аутентификации
  • q – Выйти
  • N – Следующий хост
  • P – Пауза

Анонимные сканирования с Nikto

Для анонимных сканирований можно воспользоваться услугами сети Tor. Но поскольку Nikto не поддерживает работу с SOCKS, то нам дополнительно нужно настроить ещё и Privoxy.

В Kali Linux установка Privoxy делается так:

Примечание: настройка в Arch Linux / BlackArch осуществляется аналогичным образом, но за исключением команды по установке пакетов. Вместо вышеприведённой нужно использоваться

В файл /etc/privoxy/config добавляем строки:

Запускаем и добавляем в автозагрузку службы:

Теперь для того, чтобы сканирование происходило через Tor, добавляйте к каждой команде -useproxy http://localhost:8118/. Например:

Бесплатный онлайн сервис сканирования с Nikto

Для тех, кто не хочет разбираться с запуском Nikto, предлагается бесплатный онлайн сканер, который использует все возможности Nikto.

Сканер действительно абсолютно бесплатен и для доступа даже не требует регистрации, но длительные сканирования, особенно при загруженности сервера, могут быть сброшены до своего завершения.

Источник

Scan Web Servers For Vulnerabilities Using Nikto Kali Linux

Scan Web Servers For Vulnerabilities Using Nikto Kali Linux

Scan Web Servers with Nikto

Welcome back today we will be talking a little about web vulnerabilities and how we can scan for vulnerabilities in web servers using Nikto.

Читайте также:  Windows 10 домашняя insider preview для одного языка пробная версия

Before attacking a website its vital to do reconnaissance on the target website this helps us gather & log various information about the website or target web application. This then helps us to understand what configuration the target web server is using. Doing a little re-con allows pen-testers to save a lot of time by targeting the configuration of the webserver and web application the attacker can quickly find exploits to comprise the webserver.

It’s quite pointless going into a pen-test and just trying any attack vectors as quite often it won’t work and often take up a lot of time following the correct procedures will save you hours of time.

Nikto is an Open Source (GPL) web server scanner which performs comprehensive tests against web servers for multiple items, including over 6700 potentially dangerous files/programs, checks for outdated versions of over 1250 servers, and version specific problems on over 270 servers. It also checks for server configuration items such as the presence of multiple index files, HTTP server options, and will attempt to identify installed web servers and software. Scan items and plug-ins are frequently updated and can be automatically updated. Nikto is not designed as a stealthy tool. It will test a web server in the quickest time possible and is obvious in log files or to an IPS/IDS. However, there is support for LibWhisker’s anti-IDS methods in case you want to give it a try (or test your IDS system). Let’s assume you’re running a small website you want to keep your users safe

Downloading Nikto server scanner

Nikto is a tool that comes pre-installed within Kali Linux and other Linux Operating Systems designed for pen-testers.

If your using another version of Linux you can download Nikto by following the link below.

Or alternatively, install Nikto from a command terminal using command.

Requirements

  • Linux Operating System (We will be using Kali Linux 2017.2 in this tutorial).
  • Nikto Vulnerability Scanner

First of all, open up a new command terminal and use command nikto -h to load help options or nikto -H for full help options this will help us understand a little about how Nikto functions.

Once you understand the options a little and your happy to continue choose what options you want Nikto to use while scanning for web vulnerabilities.

Example

Let’s assume we have a target website in mind, for example, www.targetwebpage.xyz we could target this host
to reveal potentially damaging information about the webserver and its configuration. Using the command below will allow Nikto to scan for vulnerability within the
target server first I will do a scan of my own network this network is not running a Website.

You can find Nikto by typing nikto in the Kali Linux menu.

Let’s start scanning for vulnerabilities.

In your command terminal to launch Nikto against the target website using default settings, we could use the following command.

Replace the target site with the webserver.

nikto = binary -h = host www.targetwebpage.xyz = target

In this tutorial, I will use a web server that was set up for testing purposes. (Read the disclaimer before attempting to target any web servers).

As you can see from the screenshot below Nikto has successfully scanned the target for vulnerabilities.

The screenshot shows Nikto performing a vulnerability scan on the target web server we set up for testing purposes. Screenshot shows we have found some interesting information about the host that could be used to exploit the target server however in this case they are false negatives set by the web host to fend off hackers don’t assume this is always the case all the time but this site is a great example of how web hosts can try and fool attackers .

Читайте также:  Firefox intel mac os

Each vulnerability found will be labeled with the exploit code. We can then look up this code in various exploit databases such as Exploit-DB & Security Focus.

Sometimes Nikto scans can revel false positives this is because Nikto does not execute each of the possible vulnerabilities but in turn, scans to see if the server will
respond without any errors to any known exploitable URLs.

Nikto contains a collection of various plug-ins to list all plug-ins available to Nikto use command.

Nikto + Tor

install Proxychains will allow applications to run through the Tor network. Using Tor will help to add a little bit anonymity however when users say using Tor keeps a connection hidden is very untrue this is because when data is sent back and forth between intermediates and your ISP routers it always ends up at an end destination known as an endpoint. So let’s imagine that these endpoints were set up as honey traps with misconfigured Tor routers and endpoints or let’s say law enforcement owned one of these endpoints it could essentially leak vital data that could result in Tor users being exposed. Tor is good as taking lots of hops between intermediates while sending traffic on the Tor network this can make it harder to trace back to the user I’m not saying this to scare you but rather to settle this urban myth about Tor being safe some website also deny Tor connections and will connect up using your real IP. Want Tor to really work? you need to change some of your habits, as some things won’t work exactly as you are used to.

Now that we know a little about Tor we can continue.

Install Proxchains

in a new terminal start Tor using the following command.

Now we can use netstat to find what port Tor is running on.

Now we need to edit /etc/proxychains.conf and add the next line.

Scroll to the bottom of proxychains.conf you will see a line for socks 4 tor defaults at the start of the line you will see that the line is commented remove the comment from the start of the line and save proxychains.conf

Start Nikto using Tor SOCKS 4 Proxy this will allow Nikto to use Tor while finding web vulnerabilities this will help keep your anonymity I will explain a little more about using Tor later in this article.

Open up a new terminal leaving Tor running in a separate terminal use the following command to start Nikto. Replace with the target web servers domain or IP address.

Using Nikto with VPN

Using a VPN with Nikto was never easier to connect to a VPN server using OpenVPN.

You can download free VPN servers for free from VPNBook if you don’t have a dedicated private VPN. Please don’t Torrent or file share on these VPN servers this will help retain a good connection for users of this service.

Spoofing user agent

Sometimes we may want to add a custom HTTP header to these requests. I will be using Tor and setting a Google Crawler as a user agent for additional obscurity. Google’s crawlers will often visit websites and are one of the least suspicious entities in the website’s error logs.

Источник

Оцените статью