Subjack

6 марта, 2026, 15:50

Subjack — это инструмент для тестирования на проникновение, написанный на языке Go, предназначенный для автоматизированного обнаружения уязвимостей, связанных с захватом поддоменов (Subdomain Takeover). Он сканирует список поддоменов и определяет, какие из них указывают на внешние сервисы (например, облачные хостинги, CMS, системы управления репозиториями), которые более не существуют или могут быть зарегистрированы злоумышленником.

Возможности и принципы работы Subjack:

  • Обнаружение «мертвых» записей: Инструмент анализирует CNAME-записи поддоменов. Если CNAME указывает на внешний сервис (например, поддомен.example.com указывает на приложение.herokuapp.com), Subjack проверяет, существует ли этот внешний ресурс в данный момент.
  • Выявление уязвимых сервисов: Subjack использует встроенную базу сигнатур (файл fingerprints.json), которая содержит шаблоны для определения непривязанных или неактивных сервисов. Если сервис возвращает характерную ошибку, Subjack помечает поддомен как уязвимый.
  • Массовое сканирование: Благодаря поддержке многопоточности (-t), инструмент способен обрабатывать тысячи поддоменов за короткое время, что делает его идеальным для баг-баунти хантеров и пентестеров.
  • Гибкость сканирования:
    • Проверка всех URL (-a): По умолчанию Subjack отправляет запросы только к тем поддоменам, у которых есть CNAME-запись. Флаг -a позволяет принудительно проверять все поддомены из списка, что может помочь найти скрытые уязвимости даже при отсутствии явной CNAME-записи.
    • Обнаружение «мертвых» записей (-m): Позволяет флагом -m отмечать поддомены, у которых CNAME существует, но целевой ресурс неактивен (NXDOMAIN), даже если сервис не попал под сигнатуру для захвата.
    • Поддержка HTTPS (-ssl): Возможность форсировать использование HTTPS для более точной проверки, так как многие современные сервисы требуют безопасного соединения.
  • Верификация результатов: Subjack генерирует отчет, который требует обязательной ручной проверки, чтобы отсеять ложные срабатывания (false positives).

Уязвимость Subdomain Takeover возникает, когда администратор создает CNAME-запись для поддомена, указывающую на внешний сервис (например, блог на WordPress.com или страницу на GitHub), а затем удаляет аккаунт или проект на этом сервисе, забыв убрать DNS-запись. Злоумышленник может зарегистрировать этот сервис на себя и, по сути, получить полный контроль над поддоменом жертвы, что позволяет размещать фишинговый контент, воровать куки сессий или обходить политики безопасности (например, SOP — Same-Origin Policy). Subjack — это ключевой инструмент для автоматизации поиска таких ошибок конфигурации.

Упоминания