Strona główna / Baza wiedzy / Narzędzia i integracje / Jak znaleźć subdomeny domeny: logi certyfikatów, DNS i ich ograniczenia

Jak znaleźć subdomeny domeny: logi certyfikatów, DNS i ich ograniczenia

Narzędzia i integracje 7 min czytania Zaktualizowano 13.10.2026
Przeszukaj logi Certificate Transparency (crt.sh lub Cert Spotter): każdy publiczny certyfikat HTTPS trafia tam razem z nazwami, dla których go wystawiono. Potem sprawdź każdą nazwę w DNS. Żadna metoda z zewnątrz nie da pełnej listy — ma ją tylko sama strefa DNS.

Aby znaleźć subdomeny domeny bez łączenia się z jej serwerami, przeszukaj logi Certificate Transparency (CT). Każdy publiczny certyfikat HTTPS trafia do tych otwartych rejestrów razem z nazwami, dla których został wystawiony, więc zapytanie do crt.sh lub Cert Spotter o example.com zwróci nazwy w rodzaju mail., staging. czy old-shop.example.com. Następnie sprawdź każdą nazwę w DNS: które nadal istnieją i dokąd prowadzą. Nasza darmowa wyszukiwarka subdomen wykonuje oba kroki. Ważne zastrzeżenie: żadna metoda z zewnątrz nie daje gwarantowanie pełnej listy — ma ją tylko strefa DNS domeny, widoczna dla właściciela.

Metody wyszukiwania subdomen w porównaniu

MetodaRodzajCo znajdujeCzego nie widzi
Logi Certificate Transparency (crt.sh, Cert Spotter)PasywnaKażdą nazwę, dla której kiedykolwiek wystawiono publiczny certyfikat, także dawneNazw objętych tylko certyfikatem wildcard, nazw bez HTTPS, nazw wewnętrznych
Pasywny DNS i agregatory (np. subfinder)PasywnaNazwy widziane przez resolvery, crawlery i różne otwarte źródłaZasięg zależy od źródeł, wiele wymaga kluczy API
Wyszukiwarki (site:example.com -www)PasywnaPubliczne hosty z zaindeksowanymi stronamiWszystkiego, czego nie ma w indeksie
Słownikowe zgadywanie (brute force)AktywnaTypowe nazwy: dev, vpn, stagingNietypowych nazw; wysyła mnóstwo zapytań — tylko dla własnych domen
Transfer strefy (AXFR)AktywnaCałą strefę, jeśli serwer jest źle skonfigurowanyNa poprawnie skonfigurowanym serwerze prawie zawsze odmowa
Panel dostawcy DNSDostęp właścicielaPełną listę rekordówTylko dla domen, którymi zarządzasz

Metoda 1: logi Certificate Transparency

Urzędy certyfikacji publikują wystawione certyfikaty w otwartych logach CT, do których można tylko dopisywać, a przeglądarki takie jak Chrome i Safari ufają publicznym certyfikatom wyłącznie wtedy, gdy zostały zalogowane. Certyfikat wymienia nazwy, dla których jest ważny, więc logi to w praktyce historia wszystkich nazw w domenie, na których ktoś włączył HTTPS.

  1. Otwórz crt.sh i wpisz %.example.com (% to symbol wieloznaczny, dzięki niemu dostaniesz wszystkie subdomeny).
  2. Patrz na kolumnę Matching Identities. Logi przechowują wpisy na zawsze, więc wiele nazw to historia.
  3. Aby dostać czystą listę, pobierz JSON i usuń duplikaty:
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 to zakodowany w URL znak %. Pole name_value może zawierać kilka nazw rozdzielonych znakiem nowej linii; jq -r wypisze je w osobnych wierszach. crt.sh to darmowa usługa społecznościowa i pod obciążeniem często zwraca błąd 502 albo nie odpowiada wcale — gdy pisaliśmy ten tekst 13 października 2026 roku, zdarzało się to raz za razem. Wtedy spróbuj później albo użyj 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

Według dokumentacji API SSLMate Cert Spotter zwraca tylko niewygasłe certyfikaty, a bez klucza pozwala na ograniczoną liczbę zapytań na godzinę do użytku osobistego lub testowego. Krótko: crt.sh to historia, Cert Spotter to stan bieżący.

Metoda 2: sprawdź, które subdomeny działają w DNS

Nazwa w logu certyfikatów dowodzi tylko tego, że kiedyś wystawiono dla niej certyfikat. To, co istnieje dziś, pokaże DNS:

# czy nazwa się rozwiązuje i na co?
dig +short staging.example.com

# czy to alias (CNAME)? na jaki host?
dig +short CNAME staging.example.com

# pełna odpowiedź: patrz na „status:” — NOERROR lub NXDOMAIN
dig staging.example.com

# test wildcard DNS: losowa nazwa NIE powinna się rozwiązywać
dig +short pp-test-8f3k2.example.com
  • NXDOMAIN — nazwy już nie ma, został tylko stary certyfikat. To historia, nie problem.
  • NOERROR z adresem — subdomena działa. Upewnij się, że jest potrzebna i aktualizowana.
  • NOERROR bez rekordu A/AAAA — nazwa istnieje, ale nie ma adresu (np. tylko MX lub TXT). Zwykle w porządku.
  • CNAME prowadzi do nieistniejącej nazwy — wiszący rekord. Więcej w sekcji o przejęciu subdomeny.

Jeśli losowa nazwa z ostatniego polecenia się rozwiązała, domena ma włączony wildcard DNS: odpowiada każda nazwa, więc „rozwiązuje się” nic nie mówi o konkretnej subdomenie.

Dlaczego z zewnątrz nie da się poznać wszystkich subdomen

  • Certyfikaty wildcard. Jeśli usługi działają pod *.example.com, w logach jest tylko gwiazdka, bez konkretnych nazw.
  • Nazwy bez publicznego HTTPS. Hosty działające tylko po HTTP, nazwy pocztowe i usługi wewnętrzne z certyfikatami prywatnego urzędu nie trafiają do logów CT.
  • DNS nie ma zapytania „pokaż wszystko”. Resolver odpowiada na pytania o nazwy, które już znasz. Jedyny standardowy sposób na zrzut strefy to transfer strefy, a obcym serwery go odmawiają.
  • Stare nazwy zostają w logach. Lista zawsze miesza nazwy aktywne i dawno usunięte — dlatego potrzebne jest sprawdzenie w DNS.

Metody aktywne: zgadywanie nazw i transfer strefy

Metody aktywne wysyłają zapytania do infrastruktury celu. To standard w testach bezpieczeństwa — na własnych systemach lub tam, gdzie wyraźnie pozwolono testować.

  • Zgadywanie ze słownika sprawdza w DNS tysiące prawdopodobnych nazw (dev, api, vpn, staging…). OWASP Amass łączy zbieranie otwartych danych z aktywnym rozpoznaniem; subfinder korzysta wyłącznie ze źródeł pasywnych.
  • Transfer strefy (AXFR) to mechanizm, którym zapasowe serwery DNS kopiują strefę (RFC 5936). Sprawdź własną domenę tak:
dig NS example.com +short
dig AXFR example.com @ns1.example.com

Poprawnie skonfigurowany serwer odpowie „Transfer failed” albo odmówi. Jeśli twój serwer oddaje całą strefę każdemu, ogranicz AXFR do własnych serwerów zapasowych.

Etyka i zgoda
Czytanie otwartych logów CT to metoda pasywna: te dane publikuje się celowo. Zgadywanie nazw i żądania transferu strefy wobec cudzych serwerów to coś innego: mogą naruszać regulamin hostingu albo zakres programu bug bounty, a zależnie od kraju rodzić ryzyko prawne. Metody aktywne uruchamiaj tylko dla własnych domen lub z pisemną zgodą i w uzgodnionym zakresie.

Wiszący CNAME i przejęcie subdomeny

Typowa historia: na potrzeby kampanii założono promo.example.com jako CNAME na example-promo.herokuapp.com. Później aplikację usunięto, a rekord w DNS został. Jeśli platforma pozwala każdemu utworzyć aplikację (bucket, stronę) o tej samej nazwie, atakujący może ją zająć i wyświetlać na twojej subdomenie własne treści — z twoją domeną w pasku adresu. To subdomain takeover, czyli przejęcie subdomeny.

Sam wiszący CNAME nie jest jeszcze dowodem podatności: niektóre platformy nie pozwalają zająć zwolnionej nazwy, a potwierdzić ryzyko można tylko po stronie samej platformy. Naprawa jest jednak tania: usuń CNAME albo odtwórz zasób u dostawcy, jeśli subdomena wciąż jest potrzebna.

Co zrobić ze znalezionymi subdomenami

  1. Wyeksportuj listę i zaznacz wszystkie nazwy, o których nie wiedziałeś.
  2. Usuń wiszące CNAME oraz rekordy starych środowisk testowych i zakończonych kampanii.
  3. Panele administracyjne, staging i narzędzia wewnętrzne zabezpiecz logowaniem albo listą dozwolonych IP i nie zostawiaj ich na przestarzałych wersjach CMS.
  4. Sprawdź ważne aktywne subdomeny: certyfikat sprawdzeniem SSL, rekordy sprawdzeniem DNS, a ślady złośliwego kodu i nieaktualnego oprogramowania skanerem bezpieczeństwa strony.
  5. Powtarzaj wyszukiwanie co jakiś czas: każdy nowy certyfikat dodaje nazwy do logów.

Jak znaleźć subdomeny w PromoPilot

Wpisz domenę w wyszukiwarkę subdomen. Nazwy pochodzą z crt.sh (cała historia certyfikatów); jeśli crt.sh nie odpowie — z Cert Spotter (tylko ważne certyfikaty), o czym narzędzie poinformuje. Lista nazw jest przechowywana w pamięci podręcznej przez 24 godziny. Następnie narzędzie:

  • normalizuje nazwy (małe litery, bez *., tylko sama domena i jej subdomeny);
  • sprawdza w DNS do 300 nazw — najpierw te z najnowszymi certyfikatami — przez publiczny DNS-over-HTTPS Cloudflare (zapasowo Google): rekordy A, a dla nazw bez A — AAAA;
  • pokazuje status każdej nazwy (jest w DNS, nie ma w DNS, bez A/AAAA, wiszący CNAME), łańcuch CNAME i datę wygaśnięcia najnowszego certyfikatu;
  • testuje wildcard DNS losową nazwą i oznacza takie wiersze, a także ostrzega o znalezionych certyfikatach wildcard;
  • podaje usługę za wiszącym CNAME, jeśli jest na liście platform, gdzie przejęcie jest możliwe (Amazon S3, Azure, Heroku, GitHub Pages, Netlify, Shopify i inne);
  • pozwala filtrować tabelę i pobrać ją jako CSV.

Limity: 15 wyszukiwań dziennie bez konta, 45 z darmowym kontem, w Pro bez limitu dziennego; nie więcej niż 6 wyszukiwań na minutę.

Czego narzędzie nie robi

  • Żadnego zgadywania nazw ze słownika, skanowania portów ani zapytań HTTP do znalezionych hostów. Dlatego ryzyko przejęcia może oznaczyć, ale nie potwierdzić.
  • Widzi tylko nazwy z publicznymi certyfikatami. Nazwy schowane pod certyfikatem wildcard lub bez HTTPS się nie pojawią.
  • Dla domen z ogromną liczbą certyfikatów lista jest ograniczona do 5000 unikalnych nazw, a DNS w jednym przebiegu sprawdzany jest dla 300 z nich.

Warto przeczytać

Częste pytania

Czy wyszukiwanie cudzych subdomen jest legalne?
Przeszukiwanie otwartych logów Certificate Transparency odczytuje dane publikowane celowo i nie dotyka serwerów celu. Metody aktywne, takie jak zgadywanie nazw czy żądanie transferu strefy, to coś innego: stosuj je tylko do własnych domen lub z pisemną zgodą, bo zasady różnią się w zależności od kraju, regulaminu hostingu i programów bug bounty.
Dlaczego crt.sh pokazuje subdomeny, których już nie ma?
Logi Certificate Transparency przechowują wszystkie certyfikaty na zawsze, także wygasłe. Nazwa zostaje w logach po usunięciu subdomeny, dlatego sprawdzaj każdą nazwę w DNS.
Dlaczego części moich subdomen nie ma w wynikach?
Mogą działać tylko pod certyfikatem wildcard, bez HTTPS albo z certyfikatem prywatnego urzędu certyfikacji. W żadnym z tych przypadków konkretna nazwa nie trafia do publicznych logów.
Co to jest wiszący CNAME?
To alias DNS wskazujący na nazwę, która nie istnieje — zwykle usuniętą aplikację, bucket lub stronę na platformie. Na niektórych platformach każdy może zająć tę nazwę i wyświetlać treści na twojej subdomenie, dlatego takie rekordy trzeba usuwać.
Czy można ukryć subdomeny przed logami certyfikatów?
Częściowo. Certyfikat wildcard ukrywa konkretne nazwy, a usługi wewnętrzne mogą korzystać z prywatnego urzędu certyfikacji. Nazwy w DNS da się jednak odkryć innymi sposobami, więc kontrola dostępu jest ważniejsza niż ukrywanie.
Ile subdomen sprawdza narzędzie PromoPilot?
Pokazuje do 5000 unikalnych nazw z logów certyfikatów i w jednym przebiegu sprawdza w DNS do 300 z nich, zaczynając od nazw z najnowszymi certyfikatami.
Czy artykuł był pomocny?
Wypróbuj na swoim projekcie Wszystko, co opisano w artykule, jest dostępne w panelu — bonus przy rejestracji już na saldzie.
Open dashboard