Przejęcie domeny/subdomeny

Reading time: 6 minutes

tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks

Przejęcie domeny

Jeśli odkryjesz jakąś domenę (domain.tld), która jest używana przez jakąś usługę w zakresie, ale firma straciła własność tej domeny, możesz spróbować ją zarejestrować (jeśli jest wystarczająco tania) i poinformować firmę. Jeśli ta domena otrzymuje jakieś wrażliwe informacje, takie jak ciasteczko sesyjne przez GET parametr lub w nagłówku Referer, to na pewno jest to vulnerabilność.

Przejęcie subdomeny

Subdomena firmy wskazuje na usługę zewnętrzną z niezarejestrowaną nazwą. Jeśli możesz utworzyć konto w tej usłudze zewnętrznej i zarejestrować używaną nazwę, możesz przeprowadzić przejęcie subdomeny.

Istnieje kilka narzędzi z słownikami do sprawdzania możliwych przejęć:

Generowanie przejęcia subdomeny za pomocą wildcard DNS

Gdy w domenie używany jest wildcard DNS, każda żądana subdomena tej domeny, która nie ma innego adresu, zostanie rozwiązana do tych samych informacji. Może to być adres IP A, CNAME...

Na przykład, jeśli *.testing.com jest wildcardowane do 1.1.1.1. Wtedy not-existent.testing.com będzie wskazywać na 1.1.1.1.

Jednak jeśli zamiast wskazywać na adres IP, administrator systemu wskaże to na usługę zewnętrzną przez CNAME, jak na przykład subdomena Githuba (sohomdatta1.github.io). Atakujący może utworzyć swoją własną stronę zewnętrzną (w Gihub w tym przypadku) i powiedzieć, że something.testing.com wskazuje tam. Ponieważ CNAME wildcard zgodzi się, atakujący będzie mógł generować dowolne subdomeny dla domeny ofiary wskazujące na jego strony.

Możesz znaleźć przykład tej vulnerabilności w opisie CTF: https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api

Wykorzystywanie przejęcia subdomeny

Przejęcie subdomeny to zasadniczo spoofing DNS dla konkretnej domeny w internecie, pozwalający atakującym ustawiać rekordy A dla domeny, co prowadzi do wyświetlania treści z serwera atakującego w przeglądarkach. Ta przejrzystość w przeglądarkach sprawia, że domeny są podatne na phishing. Atakujący mogą stosować typosquatting lub Doppelganger domains w tym celu. Szczególnie podatne są domeny, w których URL w phishingowym e-mailu wydaje się być legalny, oszukując użytkowników i omijając filtry spamowe z powodu wrodzonego zaufania do domeny.

Sprawdź ten post po więcej szczegółów

Certyfikaty SSL

Certyfikaty SSL, jeśli są generowane przez atakujących za pomocą usług takich jak Let's Encrypt, zwiększają wiarygodność tych fałszywych domen, czyniąc ataki phishingowe bardziej przekonującymi.

Bezpieczeństwo ciasteczek i przejrzystość przeglądarki

Przejrzystość przeglądarki dotyczy również bezpieczeństwa ciasteczek, regulowanego przez polityki takie jak Same-origin policy. Ciasteczka, często używane do zarządzania sesjami i przechowywania tokenów logowania, mogą być wykorzystywane przez przejęcie subdomeny. Atakujący mogą zbierać ciasteczka sesyjne po prostu kierując użytkowników do skompromitowanej subdomeny, narażając dane użytkowników i prywatność.

Ominięcie CORS

Może być możliwe, że każda subdomena ma dostęp do zasobów CORS z głównej domeny lub innych subdomen. Może to być wykorzystane przez atakującego do dostępu do wrażliwych informacji poprzez nadużycie żądań CORS.

CSRF - Ominięcie ciasteczek Same-Site

Może być możliwe, że subdomena ma prawo wysyłać ciasteczka do domeny lub innych subdomen, co zostało zablokowane przez atrybut Same-Site ciasteczek. Należy jednak zauważyć, że tokeny anty-CSRF nadal zapobiegną temu atakowi, jeśli są prawidłowo wdrożone.

Przekierowanie tokenów OAuth

Może być możliwe, że skompromitowana subdomena może być używana w URL redirect_uri w przepływie OAuth. Może to być wykorzystane przez atakującego do kradzieży tokena OAuth.

Ominięcie CSP

Może być możliwe, że skompromitowana subdomena (lub każda subdomena) może być używana na przykład w script-src CSP. Może to być wykorzystane przez atakującego do wstrzykiwania złośliwych skryptów i nadużywania potencjalnych luk XSS.

E-maile i przejęcie subdomeny

Innym aspektem przejęcia subdomeny są usługi e-mailowe. Atakujący mogą manipulować rekordami MX, aby odbierać lub wysyłać e-maile z legalnej subdomeny, zwiększając skuteczność ataków phishingowych.

Wyższe ryzyko

Dalsze ryzyka obejmują przejęcie rekordu NS. Jeśli atakujący zdobędzie kontrolę nad jednym rekordem NS domeny, mogą potencjalnie skierować część ruchu do serwera pod swoją kontrolą. To ryzyko wzrasta, jeśli atakujący ustawi wysoki TTL (Time to Live) dla rekordów DNS, wydłużając czas trwania ataku.

Wrażliwość rekordu CNAME

Atakujący mogą wykorzystać nieprzypisane rekordy CNAME wskazujące na zewnętrzne usługi, które nie są już używane lub zostały wycofane. Pozwala to im na stworzenie strony pod zaufaną domeną, co dodatkowo ułatwia phishing lub dystrybucję złośliwego oprogramowania.

Strategie łagodzenia

Strategie łagodzenia obejmują:

  1. Usunięcie wrażliwych rekordów DNS - To jest skuteczne, jeśli subdomena nie jest już potrzebna.
  2. Przypisanie nazwy domeny - Zarejestrowanie zasobu u odpowiedniego dostawcy chmurowego lub ponowne zakupienie wygasłej domeny.
  3. Regularne monitorowanie wrażliwości - Narzędzia takie jak aquatone mogą pomóc w identyfikacji podatnych domen. Organizacje powinny również zrewidować swoje procesy zarządzania infrastrukturą, zapewniając, że tworzenie rekordów DNS jest ostatnim krokiem w tworzeniu zasobów i pierwszym krokiem w ich usuwaniu.

Dla dostawców chmurowych weryfikacja własności domeny jest kluczowa, aby zapobiec przejęciom subdomen. Niektórzy, jak GitLab, dostrzegli ten problem i wdrożyli mechanizmy weryfikacji domen.

Odniesienia

tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks