Subdomain Takeover, или как найти заброшенные поддомены

День добрый, сегодня, я хочу вам рассказать о перехвате поддоменов, какие утилиты я для выбрал для работы с этим и с помощью чего можно понять можно ли перехватить домен. (Спойлер: лучше руками).

Кому интересно, добро пожаловать под кат.

Утилиты:

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

1. Amass

Утилита, которая может брутить, но ее брут меня не устроил, проверку в боевых условиях она не прошла.

Пример команды которую я использую для нахождения:

amass -active -o ./%OUTPUT_FILE% -d %DOMAIN% -v

Удобный расширенный вывод, включая статистику по ip адресам.

2. SubFinder

Смысл утилиты такой же как и у amass, но другие источники данных и более высокая скорость работы.

Пример команды:

subfinder -d %DOMAIN% > %OUTPUT_NAME%.txt

3. subDomainsBrute

Утилита которую я использую для перебора поддоменов, иногда генерирует массу false-positive результатов, часто доходит до 100к+. После нее перегоняю результаты самописным валидатором доменов и отсеиваю ненужное.

Пример команды:

python subDomainsBrute.py -o ./%OUTPUT_FILE% %DOMAIN%

После сбора поддоменов и уникализации списка, надо получить CNAME записи и, если CNAME запись и ответ сервера совпадают, то попытаться перехватить поддомен, в этом нам поможет утилита — SubOver.

Утилита для детекта возможности перехвата поддомена, для использования я всегда использую параметр -a

Так же вне зависимости от CNAME я вручную проверяю возможные адреса на перехват, для примера, поддомены у которых запись CNAME указывает на адреса *.herokuapp.com, *.cloudfront.com и тд.

Полный список сервисов в которых можно перехватить поддомен и ответы сервера для детекта возможности перехвата вы можете найти по данной ссылке.
Метки:
информационная безопасность, bug bounty

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.