En angripare kan ta över en subdomän på ert varumärke utan att bryta sig in någonstans. De behöver inte lösenord, de behöver inte exploit. De behöver bara hitta en dangling CNAME och registrera tjänsten den pekar på. Sedan äger de kampanj.exempel.se och kan servera vad de vill därifrån.

Den här guiden förklarar hur subdomain takeover fungerar, varför det är så vanligt, och hur ni upptäcker och åtgärdar det.

Vad är subdomain takeover?

Subdomain takeover inträffar när:

  1. Ni pekar en subdomän (via CNAME eller A-record) mot en extern tjänst
  2. Ni avslutar er användning av tjänsten men glömmer att ta bort DNS-recordet
  3. Tjänsten frigör namnet
  4. En angripare registrerar samma namn hos tjänsten och får därmed kontroll över er subdomän

Exempel på en typisk situation. Ni sätter upp docs.exempel.se som pekar på exempel-docs.readthedocs.io. Ett år senare byter ni dokumentationsplattform och raderar kontot hos Readthedocs. DNS-recordet står kvar. Någon annan registrerar exempel-docs.readthedocs.io på Readthedocs. Nu löser docs.exempel.se mot deras innehåll, med ert TLS-cert (om det är Let’s Encrypt och förnyas automatiskt) och er domänreputation.

Varför det är så vanligt

Tre faktorer samverkar:

DNS-records städas sällan. När en tjänst avvecklas fokuserar man på att migrera data och användare. DNS-recordet står kvar i åratal. I större organisationer är det ofta oklart vem som äger vilket record.

Cloud-tjänster frigör namn snabbt. En GitHub Pages-sajt, en Heroku-app, en S3-bucket — när kontot stängs är namnet ledigt inom timmar eller dagar. Ingen karantän.

Certificate Transparency gör upptäckt trivialt. Alla utfärdade TLS-cert loggas publikt i CT-logs. En angripare kan söka på er domän och få en komplett lista över alla subdomäner ni någonsin utfärdat cert för — inklusive de ni glömt bort.

Tjänster som historiskt varit sårbara

Olika tjänster har olika risknivåer. Några av de mest förekommande:

TjänstRiskTypisk CNAME-mönster
AWS S3Högbucket.s3.amazonaws.com
GitHub PagesHöguser.github.io
HerokuHögapp.herokuapp.com
Azure (flera tjänster)Högapp.azurewebsites.net, cloudapp.net
NetlifyMedelsite.netlify.app
FirebaseMedelproject.firebaseapp.com
ShopifyMedelstore.myshopify.com
ZendeskMedelcompany.zendesk.com
ReadthedocsHögproject.readthedocs.io
Cloudflare PagesLåg-Medelproject.pages.dev

Listan förändras löpande. Vissa leverantörer har lagt till verifieringssteg som gör takeover svårare. Andra tjänster har introducerats och blivit nya angreppsvektorer.

Hur angripare hittar sårbara subdomäner

Processen är i princip automatiserbar:

  1. Samla subdomäner via Certificate Transparency-loggar (crt.sh, Censys), passiv DNS och subdomän-brute force
  2. Resolva varje subdomän och följ CNAME-kedjan
  3. Identifiera mål-tjänsten baserat på CNAME-mönstret (*.s3.amazonaws.com, *.github.io etc.)
  4. Fråga tjänsten om namnet är tillgängligt för registrering
  5. Verifiera takeover-möjligheten genom att matcha responsmönster (t.ex. GitHub Pages returnerar “404 — Site not found” på takeover-bara subdomäner)
  6. Registrera tjänsten under det frigjorda namnet

Hela kedjan kan köras mot tusentals domäner på några minuter med open source-verktyg.

Vad en angripare kan göra efter takeover

  • Phishing. Skicka e-post från er egen domän med legitima länkar till en subdomän ni “äger”, servera en inloggningssida som ser ut som er.
  • Cookie-stöld. Om era cookies har Domain=.exempel.se, kan subdomänens innehåll läsa sessioner från huvuddomänen.
  • CORS-bypass. Om ert API trust:ar *.exempel.se, kan angriparen göra autenticerade API-anrop från den kapade subdomänen.
  • SEO-missbruk. Publicera skräpsidor eller SEO-parasitiskt innehåll på er domän.
  • Varumärkesskada. Servera kränkande innehåll, malware eller politiska budskap från er domän.

Ni märker ofta inget förrän en kund rapporterar eller Google flaggar domänen.

Så upptäcker ni takeover-risk

Kör en EASM-scan

Pentesting.se enumererar alla era subdomäner (inklusive de ni glömt) och kontrollerar varje CNAME mot kända takeover-signaturer. Dangling records med hög risk larmas direkt. Se EASM-guiden för uppsättning.

Manuell kontroll via CT-loggar

Sök er domän på crt.sh:

https://crt.sh/?q=%25.exempel.se

Exportera listan. För varje subdomän: kör dig CNAME subdomän.exempel.se och kontrollera var CNAME pekar. Om målet inte svarar eller returnerar en standard-fel-sida från en känd tjänst: potentiell takeover-risk.

Verktyg

Dessa är användbara för engångsscanningar. För kontinuerlig övervakning använd en EASM-plattform.

Så förebygger ni takeover

DNS-hygien

Etablera rutinen: när en extern tjänst avvecklas, ta bort DNS-recordet innan kontot stängs. Ordningen spelar roll. Tar ni bort kontot först öppnas fönstret för takeover direkt.

Asset inventory

För en central lista över era subdomäner och vilken tjänst varje CNAME pekar på. Gärna som kod (Terraform, OctoDNS) så DNS-ändringar går via pull request och granskas.

Undvik wildcard-cookies

Sätt cookies till den specifika hosten (Domain=app.exempel.se) istället för hela domänen (Domain=.exempel.se). Begränsar skadan om en subdomän tas över.

Begränsa CORS

API:er som accepterar *.exempel.se som trusted origin är sårbara. Vitlista specifika hostnamn istället.

Skanna löpande

Nya subdomäner skapas hela tiden. En engångsgranskning räcker inte. Sätt upp pentesting.se eller motsvarande för dagliga eller veckovisa scans.

Vanliga frågor

Kan subdomain takeover drabba HTTP-only-subdomäner?

Ja. Även utan HTTPS-cert kan angriparen servera HTTP-innehåll, genomföra phishing och skada varumärket. Har subdomänen dessutom satt upp Let’s Encrypt kan angriparen ofta få ut giltigt cert automatiskt.

Vad kostar det att övervaka detta?

Kontinuerlig övervakning via EASM kostar typiskt en bråkdel av vad ett enda incident kan kosta i responsarbete. Se pentesting.se för aktuella priser.

Hjälper HSTS mot takeover?

Nej. HSTS tvingar bara HTTPS. Det hjälper inte om angriparen kan få ut ett giltigt cert för den kapade subdomänen, vilket ofta är fallet.

Min registrar har lock-funktion — räcker det?

Registrar-lock skyddar domänen mot obehörig överföring. Det hjälper inte mot takeover av en subdomän vars DNS pekar på en extern tjänst.

Räcker det att ta bort CNAME-recordet när jag avvecklar en tjänst?

Ja, det är huvuddelen av lösningen. Se till att DNS-recordet tas bort innan kontot hos tjänsten stängs, inte efter.

Läs mer

Nästa steg

  1. Kör en CT-logsökning på er huvuddomän nu (crt.sh)
  2. Jämför med er DNS-zon. Finns subdomäner i CT-loggen som inte längre ska existera?
  3. Aktivera kontinuerlig övervakning via pentesting.se
  4. Kontakta Adminor-support om ni vill ha hjälp att gå igenom er DNS-zon