Domain/Subdomain takeover

Reading time: 6 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks

Domain takeover

Ako otkrijete neki domen (domain.tld) koji se koristi od strane neke usluge unutar opsega ali je kompanija izgubila vlasništvo nad njim, možete pokušati da ga registrujete (ako je dovoljno jeftin) i obavestite kompaniju. Ako ovaj domen prima neku osetljivu informaciju poput sesijskog kolačića putem GET parametra ili u Referer headeru, to je sigurno ranjivost.

Subdomain takeover

Subdomen kompanije pokazuje na uslugu treće strane sa imenom koje nije registrovano. Ako možete napraviti nalog u ovoj usluzi treće strane i registrujete ime koje se koristi, možete izvršiti preuzimanje subdomena.

Postoji nekoliko alata sa rečnicima za proveru mogućih preuzimanja:

Subdomain Takeover Generation via DNS Wildcard

Kada se koristi DNS wildcard u domenu, svaki traženi subdomen tog domena koji nema drugačiju adresu eksplicitno će biti rešavan na iste informacije. Ovo može biti A IP adresa, CNAME...

Na primer, ako je *.testing.com wildcardovan na 1.1.1.1. Tada će not-existent.testing.com pokazivati na 1.1.1.1.

Međutim, ako umesto da pokazuje na IP adresu, sysadmin usmeri na uslugu treće strane putem CNAME, kao što je Github subdomen na primer (sohomdatta1.github.io). Napadač može napraviti svoju stranicu treće strane (u Gihubu u ovom slučaju) i reći da something.testing.com pokazuje tamo. Zato, CNAME wildcard će omogućiti napadaču da generiše proizvoljne subdomene za domen žrtve koji pokazuju na njegove stranice.

Možete pronaći primer ove ranjivosti u CTF izveštaju: https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api

Exploiting a subdomain takeover

Preuzimanje subdomena je u suštini DNS spoofing za određeni domen širom interneta, omogućavajući napadačima da postave A zapise za domen, što dovodi do toga da pregledači prikazuju sadržaj sa napadačevog servera. Ova transparentnost u pregledačima čini domene podložnim phishingu. Napadači mogu koristiti typosquatting ili Doppelganger domains u tu svrhu. Posebno su ranjivi domeni gde URL u phishing emailu izgleda legitimno, obmanjujući korisnike i izbegavajući spam filtere zbog inherentnog poverenja domena.

Proverite ovaj post za dalje detalje

SSL Certificates

SSL sertifikati, ako ih generišu napadači putem usluga poput Let's Encrypt, dodaju legitimitet ovim lažnim domenima, čineći phishing napade uverljivijim.

Transparentnost pregledača se takođe proteže na sigurnost kolačića, kojom upravljaju politike poput Same-origin policy. Kolačići, koji se često koriste za upravljanje sesijama i čuvanje tokena za prijavu, mogu biti iskorišćeni putem preuzimanja subdomena. Napadači mogu prikupiti sesijske kolačiće jednostavno usmeravajući korisnike na kompromitovani subdomen, ugrožavajući podatke i privatnost korisnika.

CORS Bypass

Može biti moguće da svaki subdomen ima dozvolu za pristup CORS resursima iz glavnog domena ili drugih subdomena. Ovo bi napadač mogao iskoristiti da pristupi osetljivim informacijama zloupotrebljavajući CORS zahteve.

CSRF - Same-Site Cookies bypass

Može biti moguće da subdomen ima dozvolu da šalje kolačiće na domen ili druge subdomene što je sprečeno atributom Same-Site kolačića. Međutim, imajte na umu da će anti-CSRF tokeni i dalje sprečiti ovaj napad ako su pravilno implementirani.

OAuth tokens redirect

Može biti moguće da se kompromitovani subdomen može koristiti u redirect_uri URL-u OAuth toka. Ovo bi napadač mogao iskoristiti da ukrade OAuth token.

CSP Bypass

Može biti moguće da se kompromitovani subdomen (ili svaki subdomen) može koristiti, na primer, za script-src CSP. Ovo bi napadač mogao iskoristiti da ubaci zlonamerne skripte i zloupotrebi potencijalne XSS ranjivosti.

Emails and Subdomain Takeover

Još jedan aspekt preuzimanja subdomena uključuje email usluge. Napadači mogu manipulisati MX zapisima da primaju ili šalju emailove sa legitimnog subdomena, povećavajući efikasnost phishing napada.

Higher Order Risks

Dalji rizici uključuju NS record takeover. Ako napadač dobije kontrolu nad jednim NS zapisom domena, može potencijalno usmeriti deo saobraćaja na server pod svojom kontrolom. Ovaj rizik se povećava ako napadač postavi visoki TTL (Time to Live) za DNS zapise, produžavajući trajanje napada.

CNAME Record Vulnerability

Napadači bi mogli iskoristiti neizdane CNAME zapise koji pokazuju na spoljne usluge koje više nisu korišćene ili su ukinute. Ovo im omogućava da kreiraju stranicu pod poverenim domenom, dodatno olakšavajući phishing ili distribuciju malvera.

Mitigation Strategies

Strategije ublažavanja uključuju:

  1. Uklanjanje ranjivih DNS zapisa - Ovo je efikasno ako subdomen više nije potreban.
  2. Pribavljanje imena domena - Registracija resursa kod odgovarajućeg provajdera u oblaku ili ponovna kupovina istekao domen.
  3. Redovno praćenje ranjivosti - Alati poput aquatone mogu pomoći u identifikaciji podložnih domena. Organizacije bi takođe trebale revidirati svoje procese upravljanja infrastrukturom, osiguravajući da kreiranje DNS zapisa bude poslednji korak u kreiranju resursa i prvi korak u uništavanju resursa.

Za provajdere u oblaku, verifikacija vlasništva domena je ključna za sprečavanje preuzimanja subdomena. Neki, poput GitLab, su prepoznali ovaj problem i implementirali mehanizme verifikacije domena.

References

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks