Главная / База знаний / Инструменты и интеграции / Как найти поддомены сайта: журналы сертификатов, DNS и их ограничения

Как найти поддомены сайта: журналы сертификатов, DNS и их ограничения

Инструменты и интеграции 7 мин чтения Обновлено 13.10.2026
Ищите домен в журналах Certificate Transparency (crt.sh или Cert Spotter): каждый публичный HTTPS-сертификат записывается туда вместе с именами, для которых выпущен. Затем проверьте каждое имя в DNS. Полного списка снаружи не даёт ни один способ — он есть только в самой DNS-зоне.

Чтобы найти поддомены сайта, не обращаясь к его серверам, ищите по журналам Certificate Transparency (CT). Каждый публичный HTTPS-сертификат записывается в эти открытые журналы вместе с именами, для которых выпущен, поэтому запрос к crt.sh или Cert Spotter по example.com вернёт имена вроде mail., staging. или old-shop.example.com. Затем проверьте каждое имя в DNS: какие ещё существуют и куда ведут. Наш бесплатный поиск поддоменов делает оба шага. Важная оговорка: ни один способ снаружи не даёт гарантированно полного списка — он есть только в DNS-зоне домена, которую видит владелец.

Способы поиска поддоменов: сравнение

СпособТипЧто находитЧто пропускает
Журналы Certificate Transparency (crt.sh, Cert Spotter)ПассивныйВсе имена, на которые когда-либо выпускали публичный сертификат, включая старыеИмена только под wildcard-сертификатом, имена без HTTPS, внутренние
Пассивный DNS и агрегаторы (например, subfinder)ПассивныйИмена, которые видели резолверы, краулеры и разные открытые источникиОхват зависит от источников, многим нужны API-ключи
Поисковики (site:example.com -www)ПассивныйПубличные хосты с проиндексированными страницамиВсё, что не в индексе
Перебор по словарюАктивныйТиповые имена: dev, vpn, stagingНеобычные имена; шлёт много запросов — только для своих доменов
Передача зоны (AXFR)АктивныйВсю зону, если сервер настроен неверноНа правильно настроенном сервере почти всегда отказ
Панель DNS-провайдераДоступ владельцаПолный список записейТолько для ваших доменов

Способ 1: журналы Certificate Transparency

Удостоверяющие центры публикуют выпущенные сертификаты в открытые журналы CT, куда можно только дописывать, а браузеры вроде Chrome и Safari доверяют публичным сертификатам, только если те попали в журналы. В сертификате перечислены имена, для которых он действует, поэтому журналы фактически хранят историю всех имён домена, где кто-то включал HTTPS.

  1. Откройте crt.sh и введите %.example.com (% — подстановочный знак, так вы получите все поддомены).
  2. Смотрите колонку Matching Identities. Журналы хранят записи вечно, поэтому многие имена — история.
  3. Для чистого списка возьмите JSON и уберите дубли:
curl -s 'https://crt.sh/?q=%25.example.com&output=json' \
  | jq -r '.[].name_value' \
  | tr 'A-Z' 'a-z' | sed 's/^\*\.//' | sort -u

%25 — это закодированный в URL знак %. Поле name_value может содержать несколько имён через перенос строки; jq -r выведет их отдельными строками. crt.sh — бесплатный общественный сервис и под нагрузкой часто отвечает ошибкой 502 или не отвечает вовсе: пока мы писали эту статью 13 октября 2026 года, так было раз за разом. В этом случае повторите позже или используйте Cert Spotter:

curl -s 'https://api.certspotter.com/v1/issuances?domain=example.com&include_subdomains=true&expand=dns_names' \
  | jq -r '.[].dns_names[]' | sort -u

По документации API SSLMate, Cert Spotter отдаёт только неистёкшие сертификаты, а без ключа разрешает ограниченное число запросов в час для личного использования или пробы. Итого: crt.sh — это история, Cert Spotter — текущее состояние.

Способ 2: проверить, какие поддомены живы в DNS

Имя в журнале сертификатов доказывает лишь то, что сертификат когда-то выпускали. Что существует сейчас, покажет DNS:

# разрешается ли имя и куда?
dig +short staging.example.com

# это псевдоним (CNAME)? на какой хост?
dig +short CNAME staging.example.com

# полный ответ: смотрите «status:» — NOERROR или NXDOMAIN
dig staging.example.com

# проверка wildcard DNS: случайное имя НЕ должно разрешаться
dig +short pp-test-8f3k2.example.com
  • NXDOMAIN — имени больше нет, остался только старый сертификат. Это история, а не проблема.
  • NOERROR с адресом — поддомен жив. Убедитесь, что он вам нужен и обновляется.
  • NOERROR без записи A/AAAA — имя есть, но без адреса (например, только MX или TXT). Обычно нормально.
  • CNAME ведёт на несуществующее имя — висящая запись. Подробнее в разделе о захвате поддомена.

Если случайное имя из последней команды разрешилось, у домена включён wildcard DNS: отвечает любое имя, и «разрешается» ничего не говорит о конкретном поддомене.

Почему полного списка поддоменов снаружи не бывает

  • Wildcard-сертификаты. Если сервисы работают под *.example.com, в журналах будет только звёздочка, без конкретных имён.
  • Имена без публичного HTTPS. Хосты только на HTTP, почтовые имена и внутренние сервисы с сертификатами частного центра в журналы CT не попадают.
  • В DNS нет запроса «покажи всё». Резолвер отвечает на вопросы об именах, которые вы уже знаете. Единственный стандартный способ выгрузить зону — передача зоны, а посторонним серверы в ней отказывают.
  • Старые имена остаются в журналах. Список всегда смешивает живые и давно удалённые имена — поэтому и нужна проверка DNS.

Активные методы: перебор и передача зоны

Активные методы отправляют запросы в инфраструктуру цели. Это обычная практика тестирования безопасности — на своих системах или там, где тестировать явно разрешили.

  • Перебор по словарю проверяет в DNS тысячи вероятных имён (dev, api, vpn, staging…). OWASP Amass сочетает сбор открытых данных с активной разведкой; subfinder работает только с пассивными источниками.
  • Передача зоны (AXFR) — механизм, которым вторичные DNS-серверы копируют зону (RFC 5936). Проверьте свой домен так:
dig NS example.com +short
dig AXFR example.com @ns1.example.com

Правильно настроенный сервер ответит «Transfer failed» или откажет. Если ваш сервер отдаёт всю зону любому желающему, разрешите AXFR только своим вторичным серверам.

Этика и разрешение
Чтение открытых журналов CT — пассивный метод: эти данные публикуют намеренно. Перебор имён и запросы передачи зоны к чужим серверам — другое дело: это может нарушать условия хостинга или рамки программы bug bounty, а в зависимости от страны — создавать юридические риски. Запускайте активные методы только для своих доменов или с письменного разрешения и в согласованных рамках.

Висящий CNAME и захват поддомена

Типичная история: под акцию сделали promo.example.com — CNAME на example-promo.herokuapp.com. Потом приложение удалили, а запись в DNS осталась. Если платформа позволяет любому создать приложение (бакет, страницу) с тем же именем, злоумышленник займёт его и будет показывать на вашем поддомене свой контент — с вашим доменом в адресной строке. Это называется subdomain takeover, захват поддомена.

Сам по себе висящий CNAME — ещё не доказанная уязвимость: некоторые платформы не дают занять освободившееся имя, а подтвердить риск можно только на стороне самой платформы. Но исправить дёшево: удалите CNAME или заново создайте ресурс у провайдера, если поддомен ещё нужен.

Что делать с найденными поддоменами

  1. Выгрузите список и отметьте все имена, о которых вы не знали.
  2. Удалите висящие CNAME и записи старых тестовых стендов и законченных акций.
  3. Админки, staging и внутренние сервисы закройте авторизацией или доступом по IP и не оставляйте на устаревших версиях CMS.
  4. Проверьте важные живые поддомены: сертификат — проверкой SSL, записи — проверкой DNS, признаки вредоносного кода и устаревшего ПО — сканером безопасности сайта.
  5. Повторяйте поиск время от времени: каждый новый сертификат добавляет имена в журналы.

Как найти поддомены в PromoPilot

Введите домен в поиск поддоменов. Имена берутся из crt.sh (вся история сертификатов); если crt.sh не ответил — из Cert Spotter (только действующие сертификаты), и инструмент об этом скажет. Список имён кэшируется на 24 часа. Дальше инструмент:

  • нормализует имена (нижний регистр, без *., только сам домен и его поддомены);
  • проверяет в DNS до 300 имён — сначала с самыми свежими сертификатами — через публичный DNS-over-HTTPS Cloudflare (запасной — Google): записи A, затем AAAA для имён без A;
  • показывает статус каждого имени (есть в DNS, нет в DNS, без A/AAAA, висящий CNAME), цепочку CNAME и дату окончания самого свежего сертификата;
  • проверяет wildcard DNS случайным именем и помечает такие строки, а также предупреждает о найденных wildcard-сертификатах;
  • называет сервис за висящим CNAME, если он из списка платформ, где захват возможен (Amazon S3, Azure, Heroku, GitHub Pages, Netlify, Shopify и другие);
  • позволяет отфильтровать таблицу и скачать её в CSV.

Лимиты: 15 поисков в сутки без аккаунта, 45 — с бесплатным аккаунтом, в Pro суточного лимита нет; не больше 6 поисков в минуту.

Чего инструмент не делает

  • Никакого перебора по словарю, сканирования портов и HTTP-запросов к найденным хостам. Поэтому риск захвата он может отметить, но не подтвердить.
  • Видит только имена с публичными сертификатами. Имена под wildcard-сертификатом или без HTTPS в списке не появятся.
  • Для доменов с огромным числом сертификатов список ограничен 5000 уникальных имён, а DNS за один запуск проверяется для 300 из них.

Что почитать дальше

Частые вопросы

Законно ли искать чужие поддомены?
Поиск по открытым журналам Certificate Transparency читает данные, которые публикуют намеренно, и не обращается к серверам цели. Активные методы — перебор имён или запрос передачи зоны — другое дело: используйте их только для своих доменов или с письменного разрешения, потому что правила различаются по странам, условиям хостинга и программ bug bounty.
Почему crt.sh показывает поддомены, которых уже нет?
Журналы Certificate Transparency хранят все сертификаты навсегда, включая истёкшие. Имя остаётся в журналах и после удаления поддомена, поэтому проверяйте каждое имя в DNS.
Почему каких-то моих поддоменов нет в результатах?
Возможно, они работают только под wildcard-сертификатом, без HTTPS или с сертификатом частного центра. Ни в одном из этих случаев конкретное имя не попадает в публичные журналы.
Что такое висящий CNAME?
Это DNS-псевдоним, который указывает на несуществующее имя — обычно удалённое приложение, бакет или страницу на платформе. На некоторых платформах это имя может занять кто угодно и показывать контент на вашем поддомене, поэтому такие записи нужно удалять.
Можно ли скрыть поддомены от журналов сертификатов?
Частично. Wildcard-сертификат скрывает конкретные имена, а внутренние сервисы могут использовать частный удостоверяющий центр. Но имена в DNS можно обнаружить и другими способами, поэтому контроль доступа важнее, чем сокрытие.
Сколько поддоменов проверяет инструмент PromoPilot?
Он показывает до 5000 уникальных имён из журналов сертификатов и за один запуск проверяет в DNS до 300 из них — сначала имена с самыми свежими сертификатами.
Была ли статья полезна?
Попробуйте на своём проекте Всё, что описано в статье, доступно в кабинете — бонус при регистрации уже на балансе.
Открыть кабинет