hacktricks/pentesting-web/domain-subdomain-takeover.md

10 KiB

Przejęcie domeny/subdomeny

{% hint style="success" %} 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)

Wsparcie dla HackTricks
{% endhint %}


Użyj Trickest, aby łatwo budować i automatyzować przepływy pracy zasilane przez najbardziej zaawansowane narzędzia społecznościowe na świecie.
Uzyskaj dostęp już dziś:

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=domain-subdomain-takeover" %}

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ść nad nią, możesz spróbować zarejestrować ją (jeśli jest wystarczająco tania) i poinformować firmę. Jeśli ta domena otrzymuje jakieś wrażliwe informacje, takie jak ciasteczko sesji 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ęć:

Skanowanie pod kątem przejmowalnych subdomen za pomocą BBOT:

Sprawdzanie przejęcia subdomen jest włączone w domyślną enumerację subdomen BBOT. Podpisy są pobierane bezpośrednio z https://github.com/EdOverflow/can-i-take-over-xyz.

bbot -t evilcorp.com -f subdomain-enum

Przejęcie 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 na te same informacje. 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że, jeśli zamiast wskazywać na adres IP, administrator systemu wskaże na usługę zewnętrzną za pomocą CNAME, jak na przykład subdomena githuba (sohomdatta1.github.io). Atakujący może stworzyć swoją własną stronę zewnętrzną (w tym przypadku na GitHubie) i powiedzieć, że something.testing.com wskazuje tam. Ponieważ CNAME wildcard zgadza się, atakujący będzie mógł generować dowolne subdomeny dla domeny ofiary wskazujące na jego strony.

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

Wykorzystywanie przejęcia subdomeny

Przejęcie subdomeny to w zasadzie spoofing DNS dla konkretnej domeny w internecie, co pozwala atakującym ustawiać rekordy A dla domeny, prowadząc przeglądarki do wyświetlania treści z serwera atakującego. Ta przejrzystość w przeglądarkach sprawia, że domeny są podatne na phishing. Atakujący mogą stosować typosquatting lub domeny doppelganger w tym celu. Szczególnie narażone są domeny, w których URL w e-mailu phishingowym wydaje się 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 obejmuje również bezpieczeństwo ciasteczek, regulowane przez polityki takie jak polityka tego samego pochodzenia. 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 sesji po prostu kierując użytkowników do skompromitowanej subdomeny, zagrażając danym i prywatności użytkowników.

E-maile i przejęcie subdomeny

Kolejny aspekt przejęcia subdomeny dotyczy usług e-mailowych. 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 kierować częścią 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.

Podatność 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 stworzyć stronę pod zaufaną domeną, co dodatkowo ułatwia phishing lub dystrybucję złośliwego oprogramowania.

Strategie łagodzenia

Strategie łagodzenia obejmują:

  1. Usunięcie podatnych 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 podatnoś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.

Referencje


Użyj Trickest, aby łatwo budować i automatyzować przepływy pracy zasilane przez najbardziej zaawansowane narzędzia społecznościowe na świecie.
Uzyskaj dostęp już dziś:

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=domain-subdomain-takeover" %}

{% hint style="success" %} 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)

Wsparcie HackTricks
{% endhint %}