Subdomain-Übernahme: Wie ein vergessener DNS-Eintrag zur Schwachstelle wird
Eine Subdomain-Übernahme erfordert kein Einbrechen — sie nutzt einen DNS-Eintrag aus, dessen Löschung niemand mehr auf dem Schirm hatte und der auf eine Ressource zeigt, die niemandem mehr gehört.
Was das ist
Eine Subdomain-Übernahme geschieht, wenn ein DNS-Eintrag — meist ein CNAME — weiterhin auf eine externe Ressource zeigt (einen Cloud-Storage-Bucket, eine PaaS-App, einen Static-Site-Host), die inzwischen gelöscht wurde, während der Eintrag selbst nie entfernt wurde. Wer denselben Ressourcennamen auf der Plattform beanspruchen kann, kontrolliert jetzt, was unter Ihrer Subdomain ausgeliefert wird.
Wie es passiert
- Ein Team lässt promo.example.de per CNAME auf einen Drittanbieterdienst zeigen — einen Objektspeicher-Bucket, eine PaaS-App, einen Static-Site-Host
- Später wird diese Ressource gelöscht oder das Abo läuft aus, aber der CNAME-Eintrag im DNS bleibt bestehen
- Der Ressourcenname wird auf dieser Plattform wieder verfügbar, da die Plattform nicht weiß, dass jemandes DNS noch darauf verweist
- Ein Angreifer beansprucht genau denselben Ressourcennamen auf der Plattform
- Verkehr zu promo.example.de erreicht nun die Ressource des Angreifers, denn der CNAME zeigte von Anfang an nicht auf die eigene Infrastruktur Ihrer Domain — er zeigte immer auf einen Namen auf der Plattform eines anderen
Warum es wirkt
So ausgelieferter Inhalt läuft unter der Domain des Opfers, was ihm erlaubt, domainbasierte Positivlisten zu umgehen, in Phishing-Links legitim zu wirken, da die sichtbare Domain wirklich die echte ist, und in manchen Fällen sogar ein gültiges TLS-Zertifikat für diese Subdomain zu erhalten — weil der Angreifer die Ressource, auf die der DNS-Eintrag zeigt, tatsächlich kontrolliert.
Wie Angreifer Kandidaten finden
Subdomain-Enumeration fördert jeden CNAME zutage, der auf Drittanbieterplattformen zeigt; zu prüfen, welche dieser Ziele einen charakteristischen „nicht gefunden“- oder „no such bucket“-Fehler zurückgeben — das Kennzeichen einer nicht beanspruchten Ressource — grenzt die Liste auf ausnutzbare Fälle ein.
Vorbeugung
Entfernen Sie den DNS-Eintrag im selben Moment, in dem eine Ressource stillgelegt wird — das ist die einzige vollständige Lösung, denn ein Eintrag ohne legitimes Gegenstück dahinter ist bereits die gesamte Schwachstelle. Subdomains regelmäßig zu prüfen, besonders nach jeder Migration weg von einem Drittanbieterdienst, fängt auf, was Stilllegungs-Checklisten übersehen.
Prüfen Sie Ihre eigenen Subdomains
Sehen Sie die Theorie in der Praxis — führen Sie Subdomain-Finder für Ihre eigene Domain aus.