WhatWeb

Описание WhatWeb

WhatWeb идентифицирует веб-сайты. Цель этой программы ответить на вопрос «Чем является этот веб-сайт?». WhatWeb распознает веб-технологии, в том числе систему управления контентом (CMS), платформы для ведения блогов, пакеты статистики/аналитики, библиоотеки JavaScript, веб-сервера и встроенные устройства. WhatWeb имеет более 1700 плагинов, каждый из которых для распознавания чего-то одного. WhatWeb также идентифицирует номера версий, email адреса, ID аккаунтов, модули веб-платформ, SQL ошибки и прочее.

WhatWeb может быть незаметным и быстрым тщательным и медленным. Чтобы контролировать компромисс между скоростью и достоверностью, WhatWeb поддерживает уровни агрессивности. Когда вы посещаете веб-сайт в вашем браузере, передаваемые данные включают много подсказок о технологиях, которые лежат в основе работы веб-сайта. Иногда единичный визит веб-страницы содержит достаточно информации для идентификации веб-сайта, но когда этого недостаточно, WhatWeb может продолжить опрос веб-сайта. Уровень агрессивности по умолчанию называется «незаметный», он является самым быстрым и требует только один HTTP запрос к веб-сайту. Это подходит для сканирования публичных веб-сайтов. Более агрессивные режимы были созданы для использования в тестах на проникновение.

Большинство плагинов WhatWeb являются основательными и учитывают в своей работе широкий диапазон данных. К примеру большинство веб-сайтов на WordPress можно идентифицировать по HTML мета тегу вроде такого '<meta name="generator" content="WordPress 2.6.5">', но небольшое количество веб-сайтов на WordPress удаляет этот идентификационный тэг, что не мешает WhatWeb. Плагин WordPress в WhatWeb имеет более 15 тестов, которые включают проверку иконки сайта, стандартные файлы установки, страницы входа и проверку "/wp-content/" внутри относительных ссылок.

Особенности

  • Более1700 плагинов
  • Управляемый компромисс между скоростью/незаметностью и достоверностью
  • Тонкая настройка производительности. Управление количеством одновременно сканируемых веб-сайтов
  • Разные форматы логов: краткий (удобен для обработки grep), вербальный (удобный для чтения человеком), XML, JSON, MagicTree, RubyObject, MongoDB, ElasticSearch, SQL
  • Поддержка прокси включая TOR
  • Настраиваемые HTTP заголовки
  • Базовая HTTP аутентификация
  • Правильная обработка редиректа веб-страницы
  • IP диапазоны в стиле Nmap
  • Нечёткое совпадение
  • Уверенность в достоверности результата
  • Пользовательские плагины, заданные в командной строке

Домашняя страница: https://github.com/urbanadventurer/WhatWeb

Автор: Andrew Horton (urbanadventurer) и Brendan Coles (bcoles)

Лицензия: GPLv2

Справка по WhatWeb

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

whatweb [опции] <один или несколько URL>

Опции WhatWeb:

ВЫБОР ЦЕЛИ:
  <ЦЕЛИ>			Введите URL, имя хоста(ов), IP адрес(а), 
  				имя файла(ов) или диапазоны IP в формате nmap.
  --input-file=ФАЙЛ, -i		Считать цели из файла. Вы можете передать
				имена хостов или URL напрямую с -i /dev/stdin.

МОДИФИКАЦИИ ЦЕЛЕЙ:
  --url-prefix			Добавить префикс к целевому URL.
  --url-suffix			Добавить суффикс к целевому URL.
  --url-pattern			Вставить цели в URL.
				например example.com/%insert%/robots.txt

АГРЕССИЯ:
Уровень агрессии контролирует баланс между скоростью/незаметностью и 
достоверностью.
  --aggression, -a=УРОВЕНЬ	Установить уровень агрессии. По умолчанию: 1.
  1. Незаметный			Сделать один HTTP запрос на каждую цель и также
  				следовать перенаправлениям.
  3. Агрессивный			Если плагин уровня 1 совпадает, будут сделаны
  				дополнительные запросы.
  4. Тяжёлый			Делает множество HTTP запросов на каждую цель.
  				Пробуются URL из всех плагинов.

HTTP ОПЦИИ:
  --user-agent, -U=АГЕНТ	Установить ПОЛЬЗОВАТЕЛЬСКИЙ АГЕНТ вместо WhatWeb/0.4.9.
  --header, -H			Добавить HTTP заголовок. Напр. "Foo:Bar". Указание 
				стандартного заголовка заменит его. Указание 
				пустого значения, напр.. "User-Agent:" сотрёт его.
  --follow-redirect=КОГДА	Контролирует, когда следовать перенаправлениям. КОГДА может быть
				`never', `http-only', `meta-only', `same-site',
				`same-domain' или `always'. По умолчанию: always.
  --max-redirects=ЧИСЛО		Максимальное количество редиректов. По умолчанию: 10.

АУТЕНТИФИКАЦИЯ:
  --user, -u=<пользователь:пароль>	Базовая аутентификация HTTP.
  --cookie, -c=КУКИЗ		Использовать кукиз, напр. 'имя=значение; имя2=значение2'.

ПРОКСИ:
  --proxy			<имя хоста[:порт]> Установить имя хоста и порт прокси.
				По умолчанию: 8080.
  --proxy-user			<имя пользователя:пароль> Установить пользователя прокси и пароль.

ПЛАГИНЫ:
  --list-plugins, -l		Список плагинов.
  --info-plugins, -I=[ПОИСК]	Выводит список всех плагинов с подробной информацией.
				Опционально ищет по ключевым словам, которых можно
				указать несколько через запятую.
  --search-plugins=СТРОКА	Поиск плагинов по ключевому слову.
  --plugins, -p=СПИСОК		Выбор плагинов. СПИСОК это разделённый запятой набор
				отобранных плагинов. По умолчанию это all (все).
				Каждый элемент может быть директорией, файлом или именем
				плагина и может опционально иметь модификатор +/-.
				Пример: +/tmp/moo.rb,+/tmp/foo.rb
				title,md5,+./plugins-disabled/
				./plugins-disabled,-md5
				-p + это сокращение для -p +plugins-disabled.

  --grep, -g=СТРОКА		Поиск СТРОКИ в HTTP ответах. Выдаёт отчёт 
				плагином под названием Grep.
  --custom-plugin=ОПРЕДЕЛЕНИЕ	Задаёт пользовательский плагин, названный Custom-Plugin,
				Пример: ":text=>'powered by abc'"
				":version=>/powered[ ]?by ab[0-9]/"
				":ghdb=>'intitle:abc \"powered by abc\"'"
				":md5=>'8666257030b94d3bdb46e05945f60b42'"
				"{:text=>'powered by abc'}"
  --dorks=ПЛАГИН		Выводит список Google дорков для выбранного плагина.

ВЫВОД:
  --verbose, -v			Вербальный вывод, включает описания плагинов. 
				Используйте дважды для отладки.
  --colour,--color=КОГДА		управляет использованием цвета. КОГДА может быть 
				`never', `always' или `auto'.
  --quiet, -q			Не показывать краткий журнал в STDOUT.
  --no-errors			Подавлять сообщения об ошибках.

ЛОГИ:
  --log-brief=ФАЙЛ		Краткий лог, однострочный вывод.
  --log-verbose=ФАЙЛ		Вербальный вывод лога.
  --log-errors=ФАЙЛ		Журнал ошибок.
  --log-xml=ФАЙЛ		Лог в формате XML.
  --log-json=ФАЙЛ		Лог в формате JSON.
  --log-sql=ФАЙЛ		Журнал выражений SQL INSERT.
  --log-sql-create=ФАЙЛ		Создать таблицы базы данных SQL.
  --log-json-verbose=ФАЙЛ	Вербальный лог в формате JSON.
  --log-magictree=ФАЙЛ		Лог в формате MagicTree XML.
  --log-object=ФАЙЛ		Лог в формате Ruby object inspection.
  --log-mongo-database		Имя базы данных MongoDB.
  --log-mongo-collection	Имя коллекции MongoDB.
				По умолчанию: whatweb.
  --log-mongo-host		Имя хоста или IP адрес MongoDB.
				По умолчанию: 0.0.0.0.
  --log-mongo-username		Имя пользователя MongoDB. По умолчанию: nil.
  --log-mongo-password		Пароль MongoDB. По умолчанию: nil.
  --log-elastic-index		Имя индекса для хранения результатов. По умолчанию: whatweb 
  --log-elastic-host		Хост:порт elastic http интерфейса. По умолчанию: 127.0.0.1:9200
  
ПРОИЗВОДИТЕЛЬНОСТЬ И СТАБИЛЬНОСТЬ:
  --max-threads, -t		Количество одновременных потоков. По умолчанию: 25.
  --open-timeout		Время в секундах. По умолчанию: 15.
  --read-timeout		Время в секундах. По умолчанию: 30.
  --wait=СЕКУНДЫ		Ждать СЕКУНД между подключениями.
				Это полезно, когда используется единичный поток.

СПРАВКА И ПРОЧЕЕ:
  --short-help			Краткая справка.
  --help, -h			Полная справка по использованию.
  --debug			Выводить ошибки в плагинах.
  --version			Показать информацию о версии.

Руководство по WhatWeb

Страница man присутствует, но практически полностью повторяет справку.

Примеры запуска WhatWeb

Просканировать сайт example.com:

whatweb example.com

Просканировать reddit.com slashdot.org с вербальным описанием плагинов (-v):

whatweb -v reddit.com slashdot.org

Агрессивное сканирование (-a 3) сайта wired.com для определения точной версии WordPress:

whatweb -a 3 www.wired.com

Быстро просканировать локальную сеть (192.168.0.0/24) и подавлять ошибки (--no-errors):

whatweb --no-errors 192.168.0.0/24

Просканировать локальную сеть (192.168.0.0/24) на https веб-сайты (--url-prefix https://) и подавлять ошибки (--no-errors):

whatweb --no-errors --url-prefix https:// 192.168.0.0/24

Просканировать на crossdomain политики в Alexa Top 1000:

whatweb -i plugin-development/alexa-top-100.txt --url-suffix /crossdomain.xml -p crossdomain_xml

Установка WhatWeb

Программа предустановлена в Kali Linux.

Установка в BlackArch

Программа предустановлена в BlackArch.

Установка в Ubuntu и Linux Mint

sudo apt install whatweb ruby-json ruby-rchardet

Информация об установке в другие операционные системы будет добавлена позже.

Скриншоты WhatWeb

Инструкции по WhatWeb

Близкие программы:

  • DIRB (100%)
  • DirBuster (100%)
  • Recon-ng (100%)
  • testssl.sh (100%)
  • hsecscan (100%)
  • HTTrack (RANDOM - 28.7%)
  • Рекомендуемые статьи:

    Comments are Closed