Головна / База знань / Інструменти та інтеграції / Як знайти піддомени сайту: журнали сертифікатів, 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 із них — спершу імена з найсвіжішими сертифікатами.
Чи була стаття корисною?
Спробуйте на своєму проєкті Все, що описано в статті, доступно в кабінеті — бонус при реєстрації вже на балансі.
Відкрити кабінет