Odkrywanie subdomen jest jednym z kluczowych elementów rekonesansu w bezpieczeństwie informatycznym i testach penetracyjnych, pozwalając na pełne zmapowanie infrastruktury sieciowej badanego celu. Proces ten obejmuje zarówno metody pasywne, które wykorzystują publiczne źródła danych, jak i aktywne techniki bezpośrednio odpy­tujące infrastrukturę docelową. Poniższe kompendium przedstawia praktyczne metody, narzędzia i dobre praktyki — od prostych zapytań DNS po analizę logów przejrzystości certyfikatów oraz szybkie brute force.

Fundament techniczny – subdomeny i system DNS

Aby skutecznie znajdować subdomeny, warto zacząć od podstaw. Subdomena to adres internetowy zawierający nazwę domeny głównej po swojej prawej stronie. Przykładowo, mając domenę przykład.pl, możesz utworzyć blog.przykład.pl, który będzie działał niezależnie od witryny głównej, wspierając różne działy, wersje językowe czy środowiska.

Z technicznego punktu widzenia subdomeny obsługuje Domain Name System (DNS) – swoista „książka telefoniczna” Internetu. Po wpisaniu adresu URL, DNS tłumaczy nazwę na adres IP, angażując resolver, serwery główne, serwery TLD i autorytatywne. Zrozumienie tej ścieżki rezolucji jest kluczowe, bo niemal wszystkie techniki enumeracji subdomen bazują na DNS lub danych pochodnych.

Najważniejsze typy rekordów DNS i ich zastosowanie:

  • rekord A – mapuje nazwę hosta na adres IPv4;
  • rekord AAAA – mapuje nazwę hosta na adres IPv6;
  • rekord CNAME – definiuje alias jednej nazwy na inną;
  • rekord MX – wskazuje serwery pocztowe dla domeny;
  • rekord TXT – przechowuje dane do odczytu maszynowego (np. polityki SPF, klucze, metadane).

Analiza tych rekordów często ujawnia cenne informacje o infrastrukturze organizacji i stanowi punkt wyjścia do dalszych działań.

Metody pasywne odkrywania subdomen

Pasywne odkrywanie subdomen opiera się na publicznych źródłach zewnętrznych (CT logs, pasywny DNS, archiwa internetowe), bez generowania bezpośredniego ruchu do infrastruktury celu. To podejście nie generuje podejrzanego ruchu widocznego dla systemów monitoringu po stronie badanego podmiotu.

Logowanie przejrzystości certyfikatów jako źródło subdomen

Jednym z najskuteczniejszych źródeł pasywnych są logi Certificate Transparency (CT). Urzędy certyfikacji muszą logować każdy wydany certyfikat SSL/TLS do publicznych rejestrów w krótkim czasie od jego wystawienia, co czyni logi CT bardzo aktualnym źródłem danych.

W certyfikatach często znajduje się wiele nazw w polu Subject Alternative Names (SAN), przez co pojedynczy certyfikat może ujawnić dziesiątki subdomen. Logi CT zawierają także historię wygasłych certyfikatów, pozwalając znaleźć subdomeny nieużywane, ale wciąż istniejące.

Do szybkich zapytań świetnie nadaje się crt.sh (np. wzorzec %.example.com), a automatyzację i formatowanie wyników ułatwia CTFR.

Bazy danych pasywnego DNS i usługi OSINT

Silnym filarem enumeracji są bazy pasywnego DNS i katalogi OSINT. Oto przykładowe serwisy przydatne w praktyce:

  • SecurityTrails,
  • Censys,
  • Shodan,
  • BinaryEdge,
  • VirusTotal,
  • WhoisXML API.

SecurityTrails śledzi ponad 2,6 miliarda nazw hostów i utrzymuje ponad 10 bilionów historycznych wpisów DNS, udostępniając je przez interfejs webowy i API. Censys umożliwia wyszukiwanie subdomen oraz powiązanych danych o usługach i certyfikatach, a Shodan specjalizuje się w wyszukiwaniu urządzeń/usług i ekspozycji w Internecie.

Narzędzie Subfinder (ProjectDiscovery) potrafi jednocześnie łączyć wiele źródeł pasywnych, zapewniając szybkie i szerokie pokrycie bez aktywnego odpytywania celu.

Narzędzia agregujące wiele źródeł danych

Amass (OWASP) łączy metody pasywne i aktywne w jednym narzędziu, obsługuje liczne integracje API i pozwala uzyskać bardzo szeroki obraz powierzchni domeny.

Findomain (Rust) słynie z szybkości i niskiego zużycia zasobów. Obsługuje wiele źródeł pasywnych, a w wersji płatnej oferuje monitoring subdomen i rozwiązywanie rekordów.

Metody aktywne odkrywania subdomen

Aktywne techniki wchodzą w interakcję z infrastrukturą celu i często ujawniają nazwy niewidoczne w publicznych bazach, ale mogą zostać wykryte przez systemy monitoringu. W większości przypadków metody aktywne należy stosować wyłącznie za wyraźną zgodą właściciela domeny.

DNS brute force i ataki słownikowe

DNS brute force polega na systematycznym testowaniu list potencjalnych nazw wobec domeny celu. To nadal jedna z najskuteczniejszych metod odsłaniania „ukrytych” subdomen, których nie znajdziemy w pasywnych bazach.

Dzisiejsze narzędzia, jak puredns i massdns, drastycznie przyspieszają proces dzięki równoległej rezolucji i filtrom jakości. Puredns zbudowany na massdns realizuje kilka kroków automatycznie:

  • masowa rezolucja z użyciem szybkich publicznych resolverów,
  • wykrywanie i filtrowanie rekordów typu wildcard,
  • walidacja wyników przy użyciu zaufanych resolverów.

Podstawowe polecenie brute force z puredns wygląda następująco: puredns bruteforce all.txt domain.com. Plik all.txt zawiera listę kandydatów nazw subdomen.

Transfer strefy DNS (AXFR)

AXFR służy do replikacji stref między serwerami DNS. Błędna konfiguracja może pozwolić na pobranie pełnej strefy przez nieuprawnione osoby, ujawniając wszystkie rekordy, w tym subdomeny.

Aby sprawdzić podatność, najpierw ustal serwery NS: dig +short ns example.com, a następnie spróbuj transferu: dig axfr example.com @ns1.example.com. Jeśli serwer zezwoli, zwróci pełną zawartość strefy.

Narzędzia wiersza poleceń do enumeracji subdomen

Nslookup i dig – podstawowe narzędzia wiersza poleceń

Nslookup jest dostępny niemal wszędzie i pozwala szybko pobrać rekordy: nslookup -type=A example.com (rekordy A) lub nslookup -type=MX example.com (serwery poczty). Dig daje większą kontrolę i szczegółowe odpowiedzi.

Do masowej enumeracji lepiej sprawdzają się narzędzia wyspecjalizowane, które automatyzują testy i agregują wyniki.

DNSRecon – wielofunkcyjne narzędzie DNS

DNSRecon (Python) obsługuje sprawdzanie rekordów NS, brute force, wyszukiwanie odwrotne, testy AXFR i inne techniki.

Przykładowa enumeracja: ./dnsrecon.py -d example.com. Brute force: ./dnsrecon.py -d example.com -D wordlist.txt -t brt. Narzędzie szczególnie przydatne dla pentesterów do pogłębionej analizy infrastruktury DNS.

Sublist3r – szybkie narzędzie do enumeracji subdomen

Sublist3r wykorzystuje OSINT (Google, Yahoo, Bing, Baidu, Ask, Netcraft, VirusTotal, ThreatCrowd, DNSdumpster, ReverseDNS) do szybkiego odkrywania subdomen.

Podstawowe użycie: python3 sublist3r.py -d example.com. Dostępne są też tryby brute force (-b) i skan portów (-p), a także import jako moduł do własnych skryptów.

Usługi online i platformy do badania subdomen

DNSdumpster – bezpłatne narzędzie do badania DNS

DNSdumpster szybko ujawnia hosty i subdomeny powiązane z domeną oraz prezentuje wyniki w czytelnej formie. Intuicyjny interfejs webowy nie wymaga zaplecza technicznego.

SecurityTrails – platforma inteligencji zagrożeń

SecurityTrails udostępnia bieżące i historyczne dane: ponad 10 bilionów rekordów DNS, ponad 4 miliardy wpisów WHOIS i informacje o ponad 2,6 miliarda hostów. Dostępne są interfejs webowy i API.

Shodan – wyszukiwarka urządzeń i usług internetowych

Shodan pomaga wykrywać subdomeny przez dane o certyfikatach i DNS oraz pokazuje otwarte porty i działające usługi. Posiada CLI i API do automatyzacji. Przykład: shodan domain cnn.com.

Censys – platforma do badania sieci

Censys regularnie skanuje IPv4 i gromadzi dane o usługach, hostach i certyfikatach. Dostęp przez interfejs webowy i klucze API umożliwia zaawansowane kwerendy.

Dla szybkiego porównania interfejsów i zakresów danych poszczególnych usług przedstawiamy krótkie zestawienie:

Usługa Główny obszar danych Interfejsy
DNSdumpster Domeny, subdomeny, rekordy DNS Web
SecurityTrails DNS, WHOIS, hosty, historia Web, API
Shodan Urządzenia/usługi, certyfikaty, porty Web, CLI, API
Censys IPv4, certyfikaty SSL/TLS, usługi Web, API

Techniki zaawansowane i integracja narzędzi

Wyszukiwanie w archiwach internetowych

Common Crawl i Internet Archive gromadzą miliardy historycznych URL-i, które można przeszukiwać pod kątem subdomen. Narzędzia gau i waybackurls automatyzują pobieranie i ekstrakcję hostów.

Narzędzie gau (Get All URLs) odpyta następujące źródła, aby zbudować możliwie pełną listę adresów dla domeny:

  • Wayback Machine,
  • Common Crawl,
  • URLScan,
  • VirusTotal.

Przykładowy potok z ekstrakcją hostów: gau --threads 5 --subs example.com | unfurl -u domains | sort -u -o output.txt.

Project Sonar od Rapid7

Project Sonar wykonuje globalne, nieinwazyjne skany IPv4 i udostępnia zarchiwizowane wyniki społeczności. Dane te pomagają mapować subdomeny i infrastrukturę. Przykładowe zapytania można wiązać z dalszą analizą (np. w Metasploit).

Integracja wielu narzędzi w potok automatyzacji

Skuteczne zespoły łączą metody pasywne i aktywne w zautomatyzowany ciąg działań. Przykładowy, sprawdzony potok wygląda następująco:

  1. pasywna enumeracja (np. Amass, Subfinder, Findomain),
  2. analiza logów Certificate Transparency (np. crt.sh),
  3. rozszerzenie o bazy pasywnego DNS (np. SecurityTrails, Censys),
  4. aktywne techniki (np. puredns / massdns) oraz walidacja HTTP/HTTPS.

Findomain potrafi orkiestrwać Amass i Subfinder oraz agregować wyniki jednym poleceniem: findomain -t example.org --external-subdomains.

Praktyczne implementacje i dobre praktyki

Planowanie procesu enumeracji

W testach penetracyjnych (z wyraźną zgodą) zalecana jest kombinacja metod pasywnych i aktywnych. W czystym OSINT preferujemy podejście pasywne, aby nie generować ruchu do celu.

Rekomendowana kolejność działań jest następująca:

  1. zacznij od pasywnych źródeł (np. Subfinder, Amass, Findomain),
  2. zbadaj logi CT (np. crt.sh),
  3. sprawdź bazy pasywnego DNS (np. SecurityTrails, Censys),
  4. jeśli masz zgodę, przejdź do aktywnych metod (np. puredns).

Zarządzanie listami słownikowymi

Skuteczność brute force zależy od jakości listy. Popularne, duże listy (np. 34 miliony pozycji od Trickest czy zestawienia z GitHuba) warto uzupełnić o słowniki kontekstowe. Przykłady dla e‑commerce:

  • shop,
  • cart,
  • payment.

Przykłady dla firm IT i środowisk developerskich:

  • api,
  • dev,
  • test,
  • staging.

Łącz różne listy, by zwiększyć pokrycie — pamiętaj jednak, że wydłuży to czas skanowania.

Filtrowanie wyników i walidacja

Po zebraniu dużych zbiorów nazw zastosuj filtrację, aby ograniczyć fałszywe trafienia i duplikaty:

  • wykrywaj i filtruj wildcard (np. w puredns),
  • weryfikuj rozwiązywanie DNS oraz obecność publicznego adresu IP (np. findomain -r),
  • sprawdzaj dostępność HTTP/HTTPS i kody odpowiedzi (np. 200, 301, 403).

Rozważania bezpieczeństwa i kwestie prawne

Aspekty etyczne i prawne

Enumeracja subdomen zwykle korzysta z publicznych informacji, ale masowe zapytania DNS bez zgody mogą zostać uznane za nieautoryzowany test. Działaj odpowiedzialnie i w zgodzie z prawem.

Enumerację subdomen wykonuj tylko w następujących sytuacjach:

  • masz wyraźną pisemną zgodę właściciela domeny,
  • uczestniczysz w programie bug bounty dopuszczającym takie testy,
  • prowadzisz badania akademickie w zgodzie z wytycznymi etycznymi.

Ograniczanie zagrożeń związanych z ujawnianiem subdomen

Z perspektywy obrony warto wdrożyć następujące praktyki minimalizujące ekspozycję:

  • stosuj certyfikaty wildcard (*.example.com) zamiast wypisywania wielu SAN,
  • monitoruj logi CT w celu szybkiego wykrycia nieautoryzowanych certyfikatów,
  • wdróż DNSSEC, aby utrudnić manipulacje rekordami,
  • utrzymuj aktualny inwentarz subdomen, ich twarde zabezpieczenia i monitoring.

Analiza konkurencji i przypadki użycia

Badanie infrastruktury konkurencji

Enumeracja subdomen pozwala zrozumieć strategię technologiczną konkurentów, ich usługi i możliwe słabości. Przykładowo, staging.konkurent.pl może zdradzać środowisko testowe o mniej restrykcyjnej konfiguracji.

W praktyce pomocne bywają operatory wyszukiwarek, np. site:*.konkurent.pl w Google oraz ip:123.45.67.89 w Bing, aby odnaleźć projekty hostowane na tym samym serwerze.

Odkrywanie zapomnianych lub dziedziczonych subdomen

Wraz ze zmianami w infrastrukturze często pozostają zapomniane subdomeny (np. test.example.com, dev.example.com, staging.example.com). Analiza logów CT z historią certyfikatów pomaga je odzyskać do inwentaryzacji i zabezpieczenia.

Zaawansowane techniki badawcze

Analiza SEO i ruch internetowy

Website Profiler i SE Ranking potrafią wskazać najpopularniejsze subdomeny na podstawie ruchu organicznego, liczby słów kluczowych i pozycji. SE Ranking Subdomain Finder umożliwia filtrowanie i eksport danych do dalszych analiz.

Monitorowanie zmian w infrastrukturze

Jeśli chcesz śledzić pojawianie się nowych subdomen, skorzystaj z monitoringu. Findomain oferuje tryb -m/--monitoring do cyklicznego skanowania i powiadomień.

Alerty wyślesz przez webhooki, API lub bezpośrednio do PostgreSQL, aby błyskawicznie wykrywać nowe zasoby — zarówno planowane, jak i nieautoryzowane.