В этом выпуске новая подборка софта для пентеста и анализа безопасности. Научимся с комфортом находить поддомены, потрясем баги WordPress, Drupal и Magento, поищем уязвимые эндпойнты в API, а на закуску пошаримся в чужих сливах. Вперед!

 

Охотимся на скрытые поддомены

Не надо рассказывать, зачем может понадобиться искать поддомены. Во время рекона могут обнаружиться dev-серверы, забытые инстансы, сервисы для внутреннего использования и многое другое. Важно, что, кроме технических способов поиска, есть и «архивные»: поддомены с легкостью могут засветиться в каких-нибудь базах, да и просто иметь благозвучные имена в духе billing.target.com и help.target.com. Этим и воспользуемся.

Aquatone — это удобный Ruby-гем для поиска поддоменов из открытых источников. Он содержит в себе целых четыре полезных утилиты:

  • aquatone-discover;
  • aquatone-scan;
  • aquatone-gather;
  • aquatone-takeover.
 

Ищем информацию о доменах

Aquatone-discover проверяет базы Wayback Machine, Netcraft, HackerTarget и многих других на наличие записей о поддоменах нашей цели. Кроме открытых баз, она может обращаться к базам сервисов вроде Shodan, но нужно предварительно указать API-ключ. И вишенка на торте — те самые словарные домены.

Ищем поддомены по всем базам и пытаемся резолвить по словарю
Ищем поддомены по всем базам и пытаемся резолвить по словарю
 

Сканируем живые сервисы на обнаруженных поддоменах

Второй этап — проверить полученные живые домены на предмет открытых портов. В этом нам поможет aquatone-scan: считай его простой альтернативой Nmap. Он проверит собранные поддомены и выведет список обнаруженных открытых портов. Через ключи --ports и --threads ты сможешь указать порты для скана (или один из шаблонов) и количество потоков.

Список открытых портов, обнаруженных aquatone-scan на исследуемых поддоменах
Список открытых портов, обнаруженных aquatone-scan на исследуемых поддоменах
 

Собираем ответы сервера и скриншоты

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

Результат работы утилиты будет сохранен в четыре директории с говорящими названиями:

  • headers;
  • html;
  • screenshots;
  • report.
 

Проверяем возможность захвата домена

Ну и в конце посмотрим на забытые домены, которые можно перехватить. Такая ситуация возможна, когда один из поддоменов указывает на хостинг, на котором когда-то располагался легитимный сервис компании, но затем был удален, а записи в DNS остались. В этом случае поможет aquatone-takeover.

Отчет о работе aquatone-takeover
Отчет о работе aquatone-takeover
 

Исследуем WordPress на уязвимости

Существует множество сканеров безопасности для WordPress. Интерес ресерчеров к этой платформе объясним: по разным оценкам, в мире до сих пор до четверти всех сайтов работают на WordPress. Из блог-платформы он давно превратился в полноценный (пусть и костыльный) фреймворк для создания полноценных сайтов. На WordPress делают порталы, магазины и даже социальные сети. И конечно же, было бы странно, если бы не существовало множество сканеров безопасности для WordPress. Самый известный из них — wpscan, написанный на Ruby. Однако есть и другие.

WPSeku — это удобный скрипт на Python 3, который позволяет тебе просканить основные дыры и утечки чувствительной информации в «Вордпрессе». Из особенностей выделю:

  • анализ заголовков;
  • дисклоз реальных путей на сервере;
  • поиск уязвимых версий движка, плагинов и тем;
  • сбор информации о версиях софта и обнаружение карт сайта (sitemap);
  • перечисление пользователей (в том числе и админов, если они не скрыты).

Из дополнительных опций можно выделить брут логинов/паролей по словарю и анализ исходного кода WP-сайтов.

Работает и устанавливается просто:

## Окружение на третьем питоне
➜ virtualenv --no-site-packages ~/venv/wpseku

## Ставим зависимости
(wpseku) ➜ pip install -r requirements.txt

## Запускаем полный скан
(wpseku) ➜ python wpseku.py --url http://target.com:8080/ --verbose
    ----------------------------------------
[ + ] Target: http://target.com/
[ + ] Server: nginx (Debian)
[ + ] Uncommon header "X-Nginx-Cache" found, with contents: HIT
[ i ] Checking Full Path Disclosure...
    [ + ] Full Path Disclosure: /var/www/html/wp-includes/rss-functions.php
[ i ] Checking wp-config backup file...
    [ + ] wp-config.php available at: http://target.com/wp-config.php
[ i ] Checking common files...
    [ + ] robots.txt file was found at: http://target.com/robots.txt
    [ + ] sitemap.xml file was found at: http://target.com/sitemap.xml
    [ + ] sitemap.xml.gz file was found at: http://target.com/sitemap.xml.gz
    [ + ] readme.html file was found at: http://target.com/readme.html
    [ i ] Checking directory listing...
    [ i ] Checking wp-loging protection...
    [ i ] Checking robots paths...
    [ + ] Robots was found at: http://target.com/robots.txt
    ----------------------------------------
    User-agent: *
    Disallow: /wp-admin/
    Allow: /wp-admin/admin-ajax.php

    Sitemap: http://target.com/sitemap.xml

[ i ] Passive enumeration themes...
    [ + ] Name: woohoo

[ i ] Enumerating users...
| ID | Username | Login |
|:---|:---------|:------|
| 0  | admin    | admin |
| 1  | user     | user  |
...

Перебор учетных записей выполняется так же.

Брутфорс логина и пароля через WPSeku
Брутфорс логина и пароля через WPSeku

Если при пентесте тебе часто попадаются сайты на WordPress, попробуй WPSeku. Возможно, в твоем арсенале найдется место и для него.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии