Aktive, aber ungenutzte Subdomains in Microsoft Azure bieten Angreifern die Möglichkeit, sie für bösartige Zwecke zu nutzen. Hier erfahren Sie, wie Sie anfällige Subdomains identifizieren und löschen, bevor Angreifer es tun. [...]
Haben Sie eine Domain eingerichtet und auf eine Cloud-Ressource verwiesen und dann die Site gelöscht? Haben Sie den CNAME in den Einstellungen Ihrer Domain-Namensdienste zurückgelassen? Viele Admins tun das, und Angreifer wissen es. Diese Lücken ermöglichen es Angreifern, eine Site in Ihren Subdomain-Einträgen zu erstellen und diese Sites zu übernehmen. Subdomain-Übernahmen sind zu häufig, besonders in großen Unternehmen, die viele Ressourcen erstellen und löschen. Insbesondere CNAME-Einträge sind anfällig für Übernahmen. Böswillige Akteure nutzen diese Seiten oft, um den Datenverkehr und die Aktivitäten auf verschiedene andere Seiten umzuleiten. Selbst Microsoft ist nicht immun gegen das Problem.
Der Domain Name Service (DNS) ist ein oft missverstandener Teil der Netzwerkinfrastruktur. Allzu oft kann eine Fehlkonfiguration von DNS zu massiven Problemen in Ihrem Netzwerk führen. Es kann den Anschein erwecken, dass Ihre Website gehackt wurde, obwohl lediglich die Datensätze geändert wurden. Es kann auch dazu führen, dass Ihre Assets für Angriffe missbraucht werden.
Wie Angreifer Subdomains ausnutzen
Microsoft weist darauf hin, dass die Gefährdung durch die Übernahme von Subdomains bereits bei der Einrichtung und Bereitstellung einer Azure-Ressource beginnt. Nehmen wir an, der Name der Azure-Ressource ist app-on-azure001.azurewebsites.net. Sie weisen dann einen CNAME-Eintrag in Ihrer aktuellen DNS-Zone mit einer Subdomain zu, die den Datenverkehr an die Azure-Ressource weiterleitet. Anstatt Benutzer an app-on-azure001.azurewebsites.net zu senden, können Sie sie an easierurl.domain.com senden. Später stellen Sie fest, dass Sie die Subdomain nicht benötigen. Dann entfernen oder löschen Sie die Website. Zu diesem Zeitpunkt sollten Sie die Subdomain.ihredomain.com aus der Zone für Domain-Namensdienste entfernen. Wenn der CNAME noch vorhanden ist, zeigt er an, dass es sich um eine aktive Domain handelt, aber er leitet den Datenverkehr nicht über eine aktive Azure-Ressource. Dies wird als „dangling DNS record“ bezeichnet.
Angreifer verwenden verschiedene Tools und Skripte, um diese Subdomains zu suchen und zu finden. Ein einfacher DNS-Lookup verrät einem Angreifer leicht, welche CNAME-Einträge nun nicht mehr geroutet werden. Danach richtet der Angreifer eine Azure-Ressource mit demselben Namen ein, den Sie Ihrer nun fehlenden Azure-Ressource zugewiesen haben. Ihre Angriffswebsite heißt nun app-on-azure001.azurewebsites.net und Ihre subdomain.domain.com leitet ihre Website nun über Ihre Domain-Namen-Ressourcen weiter. Die Angriffe umfassen den Verlust der Kontrolle über Ihre Inhalte und das Sammeln von Cookie- und Besucherinformationen auf der Website des Angreifers.
So verhindern Sie die Übernahme von Subdomains
Um potenzielle Probleme zu identifizieren, überprüfen Sie CNAMEs, die mit Azure-Ressourcen verknüpft sind, mithilfe von benutzerdefinierten Tools oder Get-DanglingDnsRecords aus den PowerShell-Tools von Microsoft auf GitHub. Sobald Sie alle anfälligen CNAMES oder solche, die auf Ressourcen verweisen, die Ihnen nicht gehören, identifiziert haben, gehen Sie zu dem Ort, an dem Ihre DNS-Zonen gehostet werden, und entfernen Sie alle CNAME-Einträge, die auf voll qualifizierte Domänennamen von nicht mehr bereitgestellten Ressourcen verweisen. Außerdem müssen Sie in jedem Website- oder Anwendungscode nach bestimmten Subdomains suchen und alle falschen oder veralteten Subdomain-Referenzen aktualisieren.
Wenn Anmeldeinformationen aus Authentifizierungsprozessen von Drittanbietern wie OAuth oder andere sensible Informationen an die Subdomain weitergegeben wurden, sollten Sie eine Incident Response durchführen, um den Grad der Gefährdung zu ermitteln. Angreifer können iframes von anderen Domains einbetten und diese Subdomains vertrauenswürdig aussehen lassen. Sie nutzen sie dann für Phishing-Angriffe sowohl intern als auch nach außen zu Kunden. Überprüfen Sie immer, welche Prozesse zu dem Vorfall geführt haben, und richten Sie Prozesse ein, die sicherstellen, dass so etwas in Zukunft nicht mehr vorkommt.
Azure verfügt über systemeigene Prozesse, die sicherstellen, dass diese „Dangling References“ in Ihrem Netzwerk nicht auftreten. Ein solcher Prozess ist die Verwendung eines asuid.(subdomain) TXT-Eintrags mit einer Domain-Verifizierungs-ID mit Azure App Service. Dadurch wird sichergestellt, dass kein anderes Azure-Abonnement die Domain validieren und übernehmen kann. Alternativ können Sie Kodierungsprozesse einrichten, die eine stärkere Interaktion zwischen Entwicklern und Betrieb vorsehen, um sicherzustellen, dass Sie keine Websites erstellen, die anfällig für Übernahmen sind.
Weitere manuelle Möglichkeiten, sich vor Subdomain-Übernahmen zu schützen, sind die Sensibilisierung von Entwicklern für dieses Problem und das Hinzufügen von Prüfungen auf übrig gebliebene DNS-Einträge zu Checklisten oder Prozessen. Führen Sie normale Prozesse zur Überprüfung von DNS-Einträgen ein, um sicherzustellen, dass jede Ressource, auf *.azurewebsites.net oder *.cloudapp.azure.com verweist.
Auf der RSA-Konferenz im Februar 2020 hielt Alun Jones, ein Ingenieur für Anwendungssicherheit, einen Vortrag über die Anfälligkeit für Subdomain-Übernahmen. Er erklärte, dass die Außerbetriebnahme von Webservern oft nicht von derselben Organisation kontrolliert wird, die DNS-Einträge in Unternehmen einrichtet, und somit CNAMEs im DNS zurückbleiben. Er erklärte, dass man sich bei Cloud-Anbietern nicht darauf verlassen könne, dass sie dieselben Sicherheitsprozesse bereitstellen, und dass es sich letztendlich um ein internes Problem handelt, da Ihre Entwickler nicht vollständig verstehen, wie Ihre Infrastruktur eingerichtet ist.
Jones erklärte, dass eine gängige Lösung, nämlich die Erstellung eines Skripts zur Überprüfung aller DNS-Einträge, das stündlich ausgeführt wird, um leere CNAME-Einträge zu finden, das Problem nicht proaktiv löst, da Hacker anfällige Subdomains in weniger als einer Stunde finden können. Das bloße Löschen einer Ressourcengruppe bei der Vorbereitung einer Website zur Entfernung reicht nicht aus, um sicherzustellen, dass Websites sicher sind, ebenso wenig wie die Abhängigkeit von geschulten Entwicklern. Jones empfiehlt, die Häufigkeit der automatischen Scans zu erhöhen. Ebenso rät er, sich nicht auf die Anpassung von DNS-Einträgen zu verlassen, da DNS eine Time-to-Live (TTL) von etwa 24 Stunden hat. So kann die Subdomain noch zu lange aktiv und in verschiedenen Web-Caches sein.
Die Aufzählung von Subdomains kann mit OWASP Amass und Sublist3r durchgeführt werden, um diejenigen zu finden, die verwundbar sind. SubOver kann als automatisiertes Übernahme-Tool verwendet werden, kann aber nicht in Azure eingesetzt werden, wenn dies der Dienst Ihrer Cloud-Plattform ist. Mehrere Cloud-Anbieter bieten Prozesse an, um sicherzustellen, dass Kunden besser geschützt sind und die Websites, die zu einem Unternehmen gehören, bei diesem Unternehmen bleiben.
Jones drängt darauf, dass Sie Ihre DNS-Umgebung besser verstehen und sicherstellen, dass die Entwickler in grundlegenden DNS-Konzepten geschult werden, insbesondere in Bezug auf TTL. Schließlich sollten Sie Ihre Cloud-Anbieter fragen, was sie tun, um das Problem zu vermeiden.
*Susan Bradley schreibt unter anderem für CSOonline.com.
Be the first to comment