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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
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:
- https://github.com/EdOverflow/can-i-take-over-xyz
- https://github.com/blacklanternsecurity/bbot
- https://github.com/punk-security/dnsReaper
- https://github.com/haccer/subjack
- https://github.com/anshumanbh/tko-sub
- https://github.com/ArifulProtik/sub-domain-takeover
- https://github.com/SaadAhmedx/Subdomain-Takeover
- https://github.com/Ice3man543/SubOver
- https://github.com/antichown/subdomain-takeover
- https://github.com/musana/mx-takeover
- https://github.com/PentestPad/subzy
- https://github.com/Stratus-Security/Subdominator
- https://github.com/NImaism/takeit
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.
Cookie Security and Browser Transparency
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:
- Uklanjanje ranjivih DNS zapisa - Ovo je efikasno ako subdomen više nije potreban.
- Pribavljanje imena domena - Registracija resursa kod odgovarajućeg provajdera u oblaku ili ponovna kupovina istekao domen.
- 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
- https://0xpatrik.com/subdomain-takeover/
- https://www.stratussecurity.com/post/subdomain-takeover-guide
- https://www.hackerone.com/blog/guide-subdomain-takeovers-20
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
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.