Domain/Subdomain takeover

Tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks

Domain takeover

As jy ’n domain (domain.tld) ontdek wat deur ’n diens binne die scope gebruik word, maar die maatskappy het die eienaarskap daarvan verloor, kan jy probeer om dit te registreer (as dit goedkoop genoeg is) en die maatskappy in kennis stel. As hierdie domain gevoelige inligting soos ’n session cookie via ’n GET parameter of in die Referer header ontvang, is dit beslis ’n kwetsbaarheid.

Subdomain takeover

’n Subdomain van die maatskappy wys na ’n third-party service met ’n naam wat nie geregistreer is nie. As jy ’n account in daardie third party service kan skep en die naam wat in gebruik is kan registreer, kan jy die subdomain takeover uitvoer.

Daar is verskeie tools met woordeboeke om moontlike takeovers te kontroleer:

Subdomain Takeover Generation via DNS Wildcard

Wanneer DNS wildcard in ’n domain gebruik word, sal enige aangevraagde subdomain van daardie domain wat nie ’n ander adres eksplisiet het nie, na dieselfde inligting opgelos word. Dit kan ’n A ip address, ’n CNAME, ens. wees.

Byvoorbeeld, as *.testing.com na 1.1.1.1 gewildcard is. Dan sal not-existent.testing.com na 1.1.1.1 wys.

Indien die sysadmin dit egter nie na ’n IP adres wys nie, maar na ’n third party service via CNAME, soos ’n GitHub subdomain byvoorbeeld (sohomdatta1.github.io). ’n Aanvaller kan sy eie third party page skep (op GitHub in hierdie geval) en sê dat something.testing.com daarheen wys. Omdat die CNAME wildcard sal saamstem, kan die aanvaller arbitrêre subdomains vir die slagoffer se domain genereer wat na sy bladsye wys.

Jy kan ’n voorbeeld van hierdie kwesbaarheid in die CTF write-up vind: https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api

Exploiting a subdomain takeover

Subdomain takeover is effens DNS spoofing vir ’n spesifieke domain oor die internet, wat aanvallers toelaat om A records vir ’n domain te stel, wat blaaiers laat inhoud van die aanvaller se server vertoon. Hierdie transparansie in blaaiers maak domains vatbaar vir phishing. Aanvallers kan typosquatting of Doppelganger domains gebruik vir hierdie doel. Veral kwesbaar is domains waar die URL in ’n phishing-e-pos eg lyk, gebruikers mislei en spamfilters omseil danksy die domain se inherente vertroue.

Check this post for further details

SSL Certificates

SSL certificates, indien deur aanvallers gegenereer via dienste soos Let’s Encrypt, voeg by die legitimiteit van hierdie valse domains en maak phishing-aanvalle meer oortuigend.

Blaaiertransparansie strek ook na cookie-sekuriteit, gereël deur beleide soos die Same-origin policy. Cookies, gereeld gebruik om sessies te bestuur en login-tokens te stoor, kan deur subdomain takeover uitgebuit word. Aanvallers kan session cookies versamel bloot deur gebruikers na ’n gekompromitteerde subdomain te lei, wat gebruikersdata en privaatheid in gevaar stel.

CORS Bypass

Dit kan moontlik wees dat elke subdomain toegelaat word om CORS resources vanaf die hoofdomain of ander subdomains te benader. Dit kan deur ’n aanvaller uitgebuit word om sensitiewe inligting te bekom deur CORS-versoeke te misbruik.

CSRF - Same-Site Cookies bypass

Dit kan moontlik wees dat die subdomain toegelaat word om cookies na die domain of ander subdomains te stuur wat deur die Same-Site attribuut van die cookies verhoed is. Let egter daarop dat anti-CSRF tokens steeds hierdie aanval sal keer indien hulle behoorlik geïmplementeer is.

OAuth tokens redirect

Dit kan moontlik wees dat die gekompromitteerde subdomain toegelaat word om in die redirect_uri URL van ’n OAuth flow gebruik te word. Dit kan deur ’n aanvaller uitgebuit word om die OAuth token te steel.

CSP Bypass

Dit kan moontlik wees dat die gekompromitteerde subdomain (of elke subdomain) byvoorbeeld toegelaat word vir die script-src van die CSP. Dit kan deur ’n aanvaller benut word om kwaadwillige scripts in te spuit en potensiële XSS-kwesbaarhede te misbruik.

Emails and Subdomain Takeover

Nog ’n aspek van subdomain takeover betrek e-posdienste. Aanvallers kan MX records manipuleer om e-posse van ’n legitieme subdomain te ontvang of te stuur, wat die doeltreffendheid van phishing-aanvalle verhoog.

Higher Order Risks

Verder sluit risiko’s in NS record takeover. As ’n aanvaller beheer oor een NS record van ’n domain kry, kan hulle potensieel ’n gedeelte van die verkeer na ’n bediener onder hulle beheer lei. Hierdie risiko word versterk as die aanvaller ’n hoë TTL (Time to Live) vir DNS records stel, wat die duur van die aanval verleng.

CNAME Record Vulnerability

Aanvallers kan ongeëiste CNAME records uitbuit wat na eksterne dienste wys wat nie meer gebruik word of gedekommissioneer is nie. Dit stel hulle in staat om ’n bladsy onder die vertroude domain te skep, wat phishing of malware-verspreiding verder vergemaklik.

Mitigation Strategies

Mitigasiestappe sluit in:

  1. Verwydering van kwesbare DNS records - dit is effektief as die subdomain nie meer benodig word nie.
  2. Claimg van die domain name - registreer die hulpbron by die betrokke cloud provider of herkoop ’n vervalde domain.
  3. Gereelde monitering vir kwesbaarhede - tools soos aquatone kan help om vatbare domains te identifiseer. Organisasies moet ook hul infrastruktuurbestuursprosesse hersien, en verseker dat DNS record skepping die laaste stap in hulpbron skepping is en die eerste stap in hulpbron verwydering.

Vir cloud providers is die verifiëring van domain eienaarskap noodsaaklik om subdomain takeovers te voorkom. Sommige, soos GitLab, het hierdie kwessie erken en domain verification meganismes geïmplementeer.

Detection techniques

  • Find dangling DNS records: soek na CNAME/A/AAAA/ALIAS/ANAME records wat na nie-bestaande hulpbronne wys (verwyderde buckets, apps, pages, load balancers).
  • Check provider error signatures: pas HTTP responses, TLS certs, of DNS errors aan by bekende takeover-patrone (sien can-i-take-over-xyz).
  • Look for orphaned cloud assets: verifieer S3/CloudFront, Azure Websites, GCP App Engine/Storage, GitHub Pages, Heroku, Fastly, Netlify, Vercel, Zendesk, Shopify, Atlassian, en soortgelyke dienste.
  • Passive DNS and historical records: ou CNAMEs openbaar dikwels voorheen gebruikte third-party dienste wat steeds vatbaar kan wees.
  • Wildcard pitfalls: bevestig wildcard DNS vs. eksplisiete records om vals-positiewe te vermy en takeover-amplifikasie te verstaan.

APIs and data sources

References

Tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks