I mars 2024 overtok en sikkerhetsforsker login.company.com til et Fortune 500-selskap. Ikke gjennom en avansert zero-day eller omfattende phishing-kampanje, men ved å registrere en gratis Heroku-app. Subdomenet pekte fortsatt til en Heroku-instans selskapet hadde nedlagt to år tidligere.
Dette er subdomain takeover: en sårbarhet som oppstår når DNS-recordene dine fortsetter å peke på eksterne tjenester som ikke lenger eksisterer. Angriperen registrerer ressursen på nytt, og plutselig kontrollerer de et legitimt subdomene under din merkevare.
Og problemet er utbredt. I vår overvåkning av 14 norske bedrifter mangler 9 CAA-records som kunne begrenset hvem som utsteder sertifikater for domenene deres, mens 4 har deaktivert DNSSEC helt. La oss se hvordan dette angrepet fungerer, og viktigst: hvordan du beskytter deg.
Hvordan subdomain takeover fungerer
Mekanismen er enkel. Bedriften din oppretter blog.firmanavn.no og konfigurerer en CNAME-record som peker til firmanavn.herokuapp.com. Etter seks måneder migrerer dere bloggen til WordPress og sletter Heroku-appen. Men DNS-recorden? Den ligger fortsatt der og peker inn i tomrommet.
Nå kan hvem som helst registrere firmanavn.herokuapp.com på nytt. Heroku gir dem kontrollen. De deployer phishing-innhold eller skadelig kode. Besøkende ser blog.firmanavn.no i adressefeltet og stoler på innholdet. Ditt SSL-sertifikat validerer tilkoblingen.
Lignende scenarioer gjelder AWS S3-buckets, Azure-instanser, GitHub Pages, Shopify-butikker, Zendesk-sider og dusinvis av andre plattformer. Hver gang du sletter en ekstern ressurs uten å oppdatere DNS, etterlater du døren åpen.
Reelle case-studier
I 2020 overtok forskere subdomener tilhørende Microsoft, Snapchat og eBay gjennom forlatte Azure-instanser. Microsoft betalte ut 40 000 dollar i bug bounty for funnet. I 2021 demonstrerte sikkerhetsselskapet Detectify at 1 av 20 Fortune 500-selskaper hadde minst ett sårbart subdomene.
Et norsk case fra 2023 involverte et offentlig etats testmiljø. Subdomenet test.etat.no pekte til en nedlagt AWS Elastic Beanstalk-instans. En etisk hacker registrerte miljøet på nytt og varslet. Hadde en angriper kommet først, kunne de distribuert skadevare som så ut til å komme fra en statlig kilde.
Konsekvensene strekker seg utover phishing. Angripere kan utnytte sårbare subdomener til å omgå Content Security Policy (CSP), sette cookies på hoved-domenet, eller kompromittere Single Sign-On-flyter som stoler på subdomene-autentisitet.
Slik oppdager du sårbarheten
Start med å kartlegge alle DNS-records. Kjør dig firmanavn.no ANY eller bruk et verktøy som returnerer CNAME-pekere. For hvert subdomene som peker eksternt, verifiser at ressursen faktisk eksisterer.
Vanlige røde flagg:
- CNAME peker til
*.herokuapp.com, men Heroku svarer "No such app" - CNAME mot S3-bucket returnerer
NoSuchBucket-feil (HTTP 404) - Azure-instans gir
404 Web App Not Found - GitHub Pages returnerer "There isn't a GitHub Pages site here"
- Shopify-butikk viser "Sorry, this shop is currently unavailable"
Automatiser dette. Skriv et script som kjører DNS-oppslag ukentlig og verifiserer at hver CNAME-destinasjon responderer med gyldig innhold. Alternativt, sett opp kontinuerlig overvåkning som varsler når et subdomene plutselig returnerer en feilmelding.
Konkrete steg for å fikse
Når du identifiserer et sårbart subdomene, har du to alternativer. Det sikreste er å slette DNS-recorden helt. Hvis old-blog.firmanavn.no ikke lenger er i bruk, fjern A-recorden eller CNAME-pekeren. Ingen record betyr ingen risiko.
Hvis subdomenet må eksistere (kanskje det er lenket fra ekstern dokumentasjon), lag en ny ressurs internt. Pek CNAME-recorden til en server du kontrollerer, og sett opp en statisk side som forklarer at tjenesten er nedlagt. Nå kan ingen andre registrere pekeren.
For å forhindre fremtidige problemer, etabler en rutine: hver gang et eksternt prosjekt legges ned, oppdater DNS samme dag. Dokumenter alle eksterne CNAME-pekere i et sentralt register med eier og formål. Sett opp CAA-records som begrenser hvilke Certificate Authorities som kan utstede sertifikater for domenene dine, dette gjør det vanskeligere for en angriper å få HTTPS på et overtatt subdomene.
Teknisk forsvarsmekanisme
Implementer DNSSEC for å beskytte mot DNS-spoofing, selv om det ikke direkte stopper subdomain takeover. Aktiver CAA-records med streng policy. For eksempel:
firmanavn.no. CAA 0 issue "letsencrypt.org"
firmanavn.no. CAA 0 issuewild ";"
Dette tillater Let's Encrypt å utstede sertifikater for hoved-domenet, men blokkerer wildcard-sertifikater helt. En angriper som overtar et subdomene må da gå via din godkjente CA, noe som krever domain validation du kan oppdage.
Hvorfor dette fortsatt skjer
Problemet er organisatorisk, ikke teknisk. Utviklingsteamet spinner opp en Heroku-app for en proof-of-concept. Markedsavdelingen bestiller et eksternt Shopify-domene for en kampanje. IT-avdelingen vet ikke om disse CNAME-recordene eksisterer før det er for sent.
Mangel på DNS-inventar er kjerneproblemet. I vår overvåkning ser vi at 4 av 14 bedrifter har deaktivert DNSSEC, mens 7 mangler eller har svak DMARC-konfigurasjon, tegn på at DNS-hygiene ikke prioriteres. Subdomain takeover er et symptom på den samme underliggende svakheten.
Veien videre
Gjør en full DNS-audit i dag. List alle subdomener, sjekk hvor de peker, og verifiser at destinasjonen eksisterer. Slett det som ikke trengs. Dokumenter resten.
Deretter, automatiser. Sett opp daglig overvåkning som varsler når et subdomene begynner å returnere feilmeldinger som indikerer en glemt ressurs. Implementer CAA-records og DNSSEC. Og viktigst: lag en prosess som sikrer at DNS oppdateres hver gang en ekstern tjeneste avvikles.
Subdomain takeover er ikke et hipt nytt angrep. Det er en grunnleggende sikkerhetssvikt som har eksistert i over ti år. Men den er fortsatt effektiv fordi DNS-hygiene er kjedelig, usynlig arbeid som faller mellom to stoler. Inntil noen overtar login.firmanavn.no, og plutselig er det ikke kjedelig lenger.
Vil du sjekke dine egne domener? Sentinel overvåker daglig for glemte CNAME-pekere, manglende CAA-records, og eksponerte subdomener som en del av PLUSS-abonnementet. Start med en engangs-sjekk av sertifikater og DNS-konfigurasjon på certscan, eller se hele domene-sikkerhetsprofilen via kontinuerlig overvåkning på Sentinel.