Subdomain takeover — wiszący CNAME
Co to jest
W DNS Twojej domeny znajduje się rekord typu CNAME, który wskazuje na porzuconą usługę chmurową. Typowy scenariusz:
- Lata temu ktoś utworzył
blog.example.czz rekordem CNAME naexample-blog.herokuapp.com. - Aplikacja na Heroku dawno usunięta, ale CNAME w DNS nikt nie skasował.
- Atakujący rejestruje się w Heroku, tworzy aplikację o nazwie
example-blogi przejmuje Twoją subdomenę.
Dlaczego to problem
Atakujący serwuje teraz treści pod Twoją nazwą domenową — a użytkownicy i wyszukiwarki ufają mu jak Tobie. Konkretnie może:
- Hostować phishing pod
blog.example.cz(użytkownicy widzą Twój HTTPS, Twoją subdomenę). - Wystawić sobie certyfikat Let’s Encrypt — zielona kłódka, żadnego ostrzeżenia.
- Odczytać cookies Twojej domeny głównej, jeśli są ustawione na
.example.czbezHostOnly. - Wysyłać e-maile z linkami do Twojej subdomeny (omijanie filtrów antyspamowych).
To nie jest teoria. Heroku, AWS S3, GitHub Pages, Azure CDN, Shopify i inne usługi wszystkie umożliwiają „register-and-take-over”, dopóki danej usługi nie zabezpieczy się pinningiem (wiele tego nie robi).
Jak to naprawić
Krok 1 — sprawdzić, czy problem jest realny
Z raportu znasz konkretną subdomenę. Otwórz ją w przeglądarce:
- Jeśli widzisz oficjalną stronę błędu usługi („No such app” od Heroku, „404 not found” od GitHub Pages,„NoSuchBucket” od AWS S3) — to prawdopodobnie realne przejęcie.
- Jeśli widzisz własne treści — subdomena jest aktywna i problem prawdopodobnie nie istnieje (false positive ze skanera).
Krok 2 — podjąć decyzję
- Subdomena nie jest już potrzebna. Usuń CNAME ze swojego DNS.
- Subdomena ma istnieć ponownie. Utwórz nową aplikację / bucket / witrynę Pages o tej samej nazwie, na którą wskazuje CNAME — przed atakującym.
Krok 3 — regularna higiena
Subdomain takeover bierze się z tego, że zapomina się o czyszczeniu DNS. Wprowadź:
- Regularny audyt wszystkich rekordów CNAME — co kwartał wyeksportuj strefę i ręcznie zweryfikuj każdy obcy target. Dla małych domen wystarczy
dig +short ANY example.cz. - Automatyczny skaner przejęć: subfinder + nuclei (
nuclei -t http/takeovers/).
Uwaga na odziedziczone stare subdomeny marketingowe
landing.example.cz z kampanii sprzed pięciu lat, hostowana na zlikwidowanym Unbounce. old-blog.example.cz z migracji na Medium. To są klasyczne cele.