День добрый, сегодня, я хочу вам рассказать о перехвате поддоменов, какие утилиты я для выбрал для работы с этим и с помощью чего можно понять можно ли перехватить домен. (Спойлер: лучше руками).
Кому интересно, добро пожаловать под кат.
Утилиты:
Для себя я выбрал три утилиты, две из которых собирают данные из открытых источников, одна перебирает поддомены.
1. Amass
Утилита, которая может брутить, но ее брут меня не устроил, проверку в боевых условиях она не прошла.
Пример команды которую я использую для нахождения:
amass -active -o ./%OUTPUT_FILE% -d %DOMAIN% -v
Удобный расширенный вывод, включая статистику по ip адресам.
2. SubFinder
Смысл утилиты такой же как и у amass, но другие источники данных и более высокая скорость работы.
Пример команды:
subfinder -d %DOMAIN% > %OUTPUT_NAME%.txt
Утилита которую я использую для перебора поддоменов, иногда генерирует массу false-positive результатов, часто доходит до 100к+. После нее перегоняю результаты самописным валидатором доменов и отсеиваю ненужное.
Пример команды:
python subDomainsBrute.py -o ./%OUTPUT_FILE% %DOMAIN%
После сбора поддоменов и уникализации списка, надо получить CNAME записи и, если CNAME запись и ответ сервера совпадают, то попытаться перехватить поддомен, в этом нам поможет утилита — SubOver.
Утилита для детекта возможности перехвата поддомена, для использования я всегда использую параметр -a
Так же вне зависимости от CNAME я вручную проверяю возможные адреса на перехват, для примера, поддомены у которых запись CNAME указывает на адреса *.herokuapp.com, *.cloudfront.com и тд.
Полный список сервисов в которых можно перехватить поддомен и ответы сервера для детекта возможности перехвата вы можете найти по данной ссылке.
Автор: Бог сервера