Инструкция по WhatWeb: как узнать движок сайта в Kali Linux

Как с помощью WhatWeb узнать версию движка сайта

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

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

Например, есть некий форум, на нём даже нет надписи Powered by (скорее всего, это запрещено лицензией, но некоторые веб-мастера готовы идти и на нарушение лицензии — лишь бы скрыть движок и его версию). Чтобы узнать информацию о нём я набираю:

whatweb http://www1.hut.ru/forum/

Где whatweb — имя программы,

а http://www1.hut.ru/forum/ — адрес интересующего нас сайта.

01

Информации много, в том числе и требуемая нам:

PoweredBy[phpBB]
phpBB[2]

Т.е. форум работает на движке phpBB второй версии.

Кроме этого, мы узнаём версию PHP, веб-сервера, IP адрес и страну расположения, используемые веб-технологии и даже информацию о логине в Google AdSense. Согласитесь, начало хорошее.

Возьмём другой пример:

whatweb codeby.net

02

Опять, информации много и она достоверна.

В справке программы WhatWeb упоминается про агрессивный режим — для определения точной версии WordPress, запускается он так:

whatweb -a 3 codeby.net

Можно проверять по нескольку сайтов за один раз:

whatweb codeby.net zalinux.ru mi-al.ru

03

Не смотря на свою кажущуюся простоту, справка WhatWeb довольно обширна.

Программу можно запускать не только в отношении сайта, но и в отношении подсетей (синтаксис указания диапазонов сетей такой же как и у Nmap):

whatweb 185.26.122.0/24

Опции программы WhatWeb

Рассмотрим самые интересные опции.

—input-file=ФАЙЛ, -i Идентифицировать URL, которые найдены в ФАЙЛе, например -i /dev/stdin

Думаю, вы уже догадались что эта опция в таком виде позволяет передавать в WhatWeb адреса сайтов по трубе:

echo 'codeby.net' | whatweb -i /dev/stdin

Это мегополезно при написании скриптов.

—aggression, -a=УРОВЕНЬ

УРОВЕНЬ задаётся числами 1, 3 или 4.

1 — сканировать незаметно, 3 — сканировать агрессивно, 4 — сканировать тяжело, будут отправлены запросы от всех плагинов.

—user-agent, -U=АГЕНТ По умолчанию пользовательский агент — WhatWeb/0.4.8-dev. Этой опцией его можно заменить

—header, -H Добавить заголовок HTTP. например "Foo:Bar". Если задан здесь, то заголовок по умолчанию будет заменён. Если задать пустую величину, например, "User-Agent:", то заголовок будет удалён.

—follow-redirect=КОГДА Контролирует когда следовать редиректом. КОГДА может иметь значения `never', `http-only', `meta-only', `same-site', `same-domain' или `always'. По умолчанию: always

—max-redirects=ЧИСЛО Максимальное ЧИСЛО редиректов. По умолчанию: 10

В WhatWeb поддерживается базовая авторизация:

—user, -u=<user:password>

Добавьте сессионные кукиз —header, например, —header "Cookie: SESSID=1a2b3c;"

Можно использовать прокси с WhatWeb:

—proxy <hostname[:port]> Задать хост и порт прокси. Порт по умолчанию: 8080

—proxy-user <username:password> Задать пользователя и пароль прокси

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

Как узнать точную версию движка

Узнав используемый тип движка, можно скачать его исходные коды (доступны для всех бесплатных) и поискать там разнообразные файлы README.TXT, чейнджлоги и т. п. Практически никто не беспокоится о том, чтобы удалить эти файлы. Поэтому теперь, когда вы знаете, что нужно искать, можно попробовать их найти на целевом сайте.

Как скрыть движок сайта и его версию

Скрыть вид используемого движка очень непросто. Зачастую не нужно быть специалистом и не нужно иметь никаких программ, чтобы по первому взгляду на сайт предположить используемый движок, иногда достаточно увидеть адрес одной страницы, чтобы предположить, какой движок сайт использует. Вот типичный пример: на "морде" сайта вырезаны все упоминания об используемом движке, но взглянув на исходный код HTML-страницы, догадайтесь с трёх раз, какой движок используется:

15

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

Продуктивнее не пытаться спрятать эту информацию, а вовремя обновлять программное обеспечение и плагины.

Что касается точной версии, то её можно скрыть. Удаляйте не используемые файлы (README.TXT, чейнджлоги и т. п.). Например, для WordPress удаляйте эти файлы не только из корневой директории, но и из директорий плагинов, тем и т.д.

4 комментария

  1. Хорошие статьи. Очень доступно и интересно.

    Спасибо за проделанную работу. 

  2. На Cyborg Hawk при применении выдаёт сначала RedirectLocation[URL сайта], после чего выдаёт ошибку ERROR: undefined method ‘verify_mode’ for nil:NilClass. Кто-нибудь знает, как исправить данную ошибку?

Добавить комментарий для Pavel Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *