Nikto

03 сентября 2018 в Information Gathering

Описание пакета Nikto

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

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

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

Особенности:

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

Nikto Help

root@kali:~# nikto -Help
      
      Опции:
          -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)
           + значит требуется значение

Пример использования Nikto

root@kali:~# nikto -Display 1234EP -o report.html -Format htm -Tuning 123bde -host 192.168.0.102
      - Nikto v2.1.6
      ---------------------------------------------------------------------------
      + Target IP:          192.168.0.102
      + Target Hostname:    192.168.0.102
      + Target Port:        80
      + Start Time:         2018-03-23 10:49:04 (GMT0)
      ---------------------------------------------------------------------------
      + Server: Apache/2.2.22 (Ubuntu)
      + Server leaks inodes via ETags, header found with file /, inode: 287, size: 11832, mtime: Fri Feb  2 15:27:56 2018
      + The anti-clickjacking X-Frame-Options header is not present.
      + The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS
      + The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type
      + No CGI Directories found (use '-C all' to force check all possible dirs)
      + "robots.txt" contains 1 entry which should be manually viewed.
      + Uncommon header 'tcn' found, with contents: list
      + Apache mod_negotiation is enabled with MultiViews, which allows attackers to easily brute force file names. See http://www.wisec.it/sectou.php?id=4698ebdc59d15. The following alternatives for 'index' were found: index.html
      + Apache/2.2.22 appears to be outdated (current is at least Apache/2.4.12). Apache 2.0.65 (final release) and 2.2.29 are also current.
      + Allowed HTTP Methods: GET, HEAD, POST, OPTIONS 
      + 371 requests: 0 error(s) and 9 item(s) reported on remote host
      + End Time:           2018-03-23 10:50:44 (GMT0) (100 seconds)
      ---------------------------------------------------------------------------
      + 1 host(s) tested
      root@kali:~# 
      root@kali:~# firefox report.html