Wie Hacker DNS-Anfragen mit DNS-Cache-Poisoning fälschen
Domain Name Server (DNS) Spoofing ist ein Cyber-Angriff, der Ihrem Computer vorgaukelt, dass er auf die richtige Website geht, was aber nicht stimmt. Angreifer verwenden DNS-Cache-Poisoning, um den Internetverkehr zu entführen und Benutzeranmeldeinformationen oder persönliche Daten zu stehlen.
DNS-Cache-Poisoning und DNS-Spoofing sind Synonyme und werden häufig synonym verwendet. Aber um genau zu sein, kann man sie als das Wie und Was desselben Cyberangriffs betrachten. Der Hacker will Nutzer dazu verleiten, ihre privaten Daten auf unsicheren Websites einzugeben. Wie wird dies erreicht? Indem er den DNS-Cache vergiftet. Dabei werden die DNS-Daten für eine bestimmte Website gefälscht oder ausgetauscht, so dass sie auf den Server des Hackers und nicht auf den legitimen Webserver umgeleitet wird. Von dort aus kann der Hacker einen Phishing-Angriff durchführen, Daten stehlen oder sogar Malware in das System des Opfers einschleusen.
Holen Sie sich das kostenlose Pen-Testing-EBook für Active-Directory-Umgebungen
Varonis kann DNS-Cache-Poisoning-Angriffe erkennen, indem es DNS überwacht und abnormales Verhalten in den Aktivitäten Ihrer Benutzer erkennt.
- Was ist DNS-Spoofing und Cache Poisoning?
- Wie funktioniert ein DNS-Cache-Poisoning-Angriff?
- Wie erkennt man DNS Cache Poisoning
- Wie schützt man sich vor DNS Cache Poisoning
- DNS Spoofing FAQs
Was ist DNS Spoofing und Cache Poisoning?
Bevor wir über den Angriff sprechen, brauchen wir eine Auffrischung, was DNS und DNS Caching ist. DNS ist der weltweite Katalog für IP-Adressen und Domänennamen. Man kann es sich wie ein Telefonbuch für das Internet vorstellen. Es übersetzt benutzerfreundliche URLs wie Varonis.com in IP-Adressen wie 192.168.1.169, die von Computern für die Vernetzung verwendet werden.
DNS-Caching ist das System, das diese Adressen auf DNS-Servern in der ganzen Welt speichert. Um Ihre DNS-Anfragen schnell zu halten, haben die ursprünglichen Entwickler ein verteiltes DNS-System geschaffen. Jeder Server speichert eine Liste von DNS-Einträgen, die er kennt – dies wird als Cache bezeichnet. Wenn Ihr nächstgelegener DNS-Server die benötigte IP-Adresse nicht kennt, fragt er andere vorgelagerte DNS-Server, bis er die IP-Adresse für die gewünschte Website gefunden hat. Ihr DNS-Server speichert dann diesen neuen Eintrag in Ihrem Cache, um die Antwortzeiten zu verkürzen.
Beispiele und Auswirkungen von DNS Cache Poisoning
DNS wurde nicht dafür entwickelt, das moderne Internet zu verwalten. Es ist im Laufe der Jahre besser geworden, aber ein falsch konfigurierter DNS-Server, der DNS-Einträge von einem Server in China bezogen hat – und plötzlich kann niemand mehr auf Facebook zugreifen. Dieser Vorfall zeigt, wie abhängig wir von DNS sind. Eine Person konfiguriert einen Server falsch, und plötzlich sind Hunderte von Millionen Menschen von den Auswirkungen betroffen.
WikiLeaks wurde ebenfalls von Angreifern ins Visier genommen, die einen DNS-Cache-Poisoning-Angriff durchführten, um den Datenverkehr auf ihre eigene WikiLeaks-ähnliche Version umzuleiten. Es handelte sich dabei um einen absichtlichen Angriff, der darauf abzielte, den Datenverkehr von WikiLeaks fernzuhalten – mit einigem Erfolg.
DNS-Cache-Poisoning-Angriffe sind heimtückisch und für den Normalbürger schwer zu erkennen. DNS ist derzeit ein System, bei dem Vertrauen an erster Stelle steht, weshalb es leicht ausgenutzt werden kann. Menschen vertrauen DNS bis zu einem gewissen Grad und überprüfen nie wirklich, ob die Adresse in ihrem Browser die erwartete Adresse ist. Angreifer nutzen diese Selbstgefälligkeit und Unachtsamkeit aus, um Anmeldedaten oder mehr zu stehlen.
Wie funktioniert ein DNS-Cache-Poisoning-Angriff?
DNS-Cache-Poisoning liegt vor, wenn Ihr nächstgelegener DNS-Server einen Eintrag hat, der Sie an eine falsche Adresse weiterleitet – normalerweise eine, die ein Angreifer kontrolliert. Hier sind einige verschiedene Techniken, die Angreifer verwenden, um den DNS-Cache zu vergiften.
Kapern des lokalen Netzwerks mit ARP-Spoofing
Das lokale Netzwerk kann ein überraschend anfälliges Ziel sein. Viele Administratoren denken, sie hätten es im Griff, aber der Teufel steckt oft im Detail. Ein häufiges Problem sind Mitarbeiter, die von zu Hause aus arbeiten. Ist ihr Wi-Fi gesichert? Hacker können ein schwaches Wi-Fi-Passwort in nur wenigen Stunden knacken. Ein weiteres Problem sind offene Ethernet-Anschlüsse in Fluren und öffentlichen Lobbys. Stellen Sie sich vor, jemand wartet in der Lobby und schließt das Ethernet-Kabel an, das für den Bildschirm in der Lobby bestimmt ist.
Schauen wir uns einmal an, wie ein Hacker in einer dieser Situationen den Zugang zum lokalen Netzwerk nutzen könnte.
Erstens würde der Hacker eine Phishing-Seite erstellen, mit der er Benutzeranmeldeinformationen und andere wertvolle Daten sammeln kann. Diese Seite könnte dann lokal im Netzwerk oder remote auf einem Server mit einer einzigen Zeile Python-Code gehostet werden.
Von dort aus könnte der Hacker dann beginnen, das Netzwerk mit Tools wie Betterrcap zu überwachen. In diesem Stadium wird das Zielnetzwerk abgebildet und erforscht, aber der Datenverkehr fließt immer noch durch den Router.
Als nächstes würde der Hacker ARP-Spoofing verwenden, um das Netzwerk intern umzustrukturieren. ARP (Address Resolution Protocol) wird von Geräten in einem Netzwerk verwendet, um die MAC-Adresse eines Geräts mit einer IP-Adresse im Netzwerk zu verknüpfen. Bettercap sendet ARP-Nachrichten aus, die allen Geräten im Netzwerk mitteilen, dass der Computer des Hackers der Router ist. Auf diese Weise kann der Hacker den gesamten Netzwerkverkehr abfangen, der für den Router bestimmt ist.
Wenn der gesamte Verkehr über den Computer des Hackers umgeleitet wird, kann der Hacker das DNS-Spoofing-Modul von Bettercap ausführen. Dieses sucht nach Anfragen an eine bestimmte Domäne und sendet eine gefälschte Antwort an das Opfer zurück. Die gefälschte Anfrage enthält die IP-Adresse des Computers des Hackers und leitet jede Anfrage an die Ziel-Website auf die vom Hacker gehostete Phishing-Seite um.
Jetzt kann der Hacker den für andere Geräte im Netzwerk bestimmten Datenverkehr sehen und Anfragen an jede Website umleiten. Der Hacker kann alles sehen, was das Opfer auf dieser Seite tut, einschließlich des Sammelns von Anmeldedaten oder des Bereitstellens bösartiger Downloads.
Wenn ein Hacker keinen Zugang zu einer lokalen Netzwerkverbindung erhalten kann, wird er auf einen der folgenden Angriffe zurückgreifen.
Antwortfälschung mit dem Geburtstagsangriff
DNS authentifiziert keine Antworten auf rekursive Abfragen, daher wird die erste Antwort im Cache gespeichert. Angreifer nutzen das „Geburtstagsparadoxon“, um zu versuchen, eine gefälschte Antwort an den Anfragenden zu senden. Dieser Geburtstagsangriff nutzt Mathematik und Wahrscheinlichkeitstheorie, um eine Vermutung anzustellen. In diesem Fall versucht der Angreifer, die Transaktions-ID Ihrer DNS-Anfrage zu erraten, so dass die gefälschte Antwort mit dem gefälschten DNS-Eintrag Sie vor der echten Antwort erreicht.
Ein Geburtstagsangriff ist kein garantierter Erfolg, aber irgendwann wird ein Angreifer eine gefälschte Antwort in einen Cache einschleusen. Sobald der Angriff erfolgreich ist, sieht der Angreifer Datenverkehr von dem gefälschten DNS-Eintrag, bis die Time-to-Live (TTL) abläuft.
Kaminsky’s Exploit
Kaminsky’s Exploit ist eine Variation des Geburtstagsangriffs, der auf der BlackHat 2008 vorgestellt wurde.
Zunächst sendet der Angreifer an einen Ziel-Resolver eine DNS-Anfrage für eine nicht existierende Domäne, wie „fake.varonis.com“. Der Resolver leitet dann die Abfrage an den autoritativen Nameserver weiter, um die IP-Adresse für die falsche Subdomain zu erhalten. An diesem Punkt überflutet der Angreifer den Resolver mit einer großen Anzahl gefälschter Antworten, in der Hoffnung, dass eine dieser Fälschungen mit der Transaktions-ID der ursprünglichen Anfrage übereinstimmt.
Wenn sie erfolgreich sind, hat der Angreifer den DNS-Cache des anvisierten Resolvers mit einer gefälschten IP-Adresse für – in diesem Beispiel – varonis.com vergiftet. Der Resolver teilt jedem, der ihn fragt, mit, dass die IP-Adresse für varonis.com die gefälschte Abfrage ist, bis die TTL abgelaufen ist.
Wie erkennt man DNS-Cache-Vergiftung
Wie erkennt man nun einen Angriff auf den DNS-Cache? Überwachen Sie Ihre DNS-Server auf Anzeichen für mögliche Angriffe. Menschen haben nicht die Rechenleistung, um mit der Menge der DNS-Anfragen Schritt zu halten, die Sie überwachen müssen. Wenden Sie Datensicherheitsanalysen auf Ihre DNS-Überwachung an, um normales DNS-Verhalten von Angriffen zu unterscheiden.
- Ein plötzlicher Anstieg der DNS-Aktivitäten aus einer einzigen Quelle zu einer einzigen Domäne deutet auf einen möglichen Angriff zum Geburtstag hin.
- Eine Zunahme der DNS-Aktivität von einer einzigen Quelle, die Ihren DNS-Server für mehrere Domänennamen ohne Rekursion abfragt, deutet darauf hin, dass versucht wird, einen Eintrag zu finden, der für Poisoning verwendet werden kann.
Neben der DNS-Überwachung sollten Sie auch Active Directory-Ereignisse und das Verhalten des Dateisystems auf abnormale Aktivitäten überwachen. Und was noch besser ist: Verwenden Sie Analysen, um Aktivitäten zwischen allen drei Vektoren zu korrelieren, um Ihrer Cybersicherheitsstrategie einen wertvollen Kontext hinzuzufügen.
Schutz vor DNS Cache Poisoning
Neben der Überwachung und Analyse können Sie Konfigurationsänderungen an Ihrem DNS-Server vornehmen.
- Begrenzen Sie rekursive Abfragen, um sich vor potenziellen gezielten Poisoning-Angriffen zu schützen.
- Speichern Sie nur Daten, die sich auf die angeforderte Domain beziehen.
- Beschränken Sie die Antworten darauf, dass sie sich nur auf die angeforderte Domain beziehen.
- Zwingen Sie die Clients, HTTPS zu verwenden.
Vergewissern Sie sich, dass Sie die neuesten Versionen von BIND und DNS-Software verwenden, damit Sie über die neuesten Sicherheitskorrekturen verfügen.
Wenn möglich, z. B. bei Mitarbeitern an entfernten Standorten, sollten Sie alle Remote-Clients über ein VPN verbinden, um den Datenverkehr und DNS-Anfragen vor lokalem Snooping zu schützen. Vergewissern Sie sich außerdem, dass Sie ein sicheres Passwort für das heimische Wi-Fi verwenden, um das Risiko weiter zu verringern.
Und schließlich verwenden Sie verschlüsselte DNS-Anfragen. Domain Name System Security (DNSSEC) ist ein DNS-Protokoll, das signierte DNS-Anfragen verwendet, um Fälschungen zu verhindern. Bei der Verwendung von DNSSEC muss der DNS-Auflöser die Signatur mit dem autoritativen DNS-Server überprüfen, was den gesamten Prozess verlangsamt. Dies hat dazu geführt, dass DNSSEC noch nicht weit verbreitet ist.
DNS over HTTPS (DoH) und DNS over TLS (DoT) sind konkurrierende Spezifikationen für die nächste Version von DNS, um DNS-Anfragen sicher zu machen, ohne die Geschwindigkeit wie DNSSEC zu opfern. Dies sind jedoch keine perfekten Lösungen, da sie die lokale DNS-Überwachung und -Analyse verlangsamen oder gänzlich verhindern können. Es ist auch wichtig zu wissen, dass DoH und DoT alle Kindersicherungen oder andere DNS-Blockierungen, die im Netzwerk durchgeführt werden, aushebeln können. Cloudflare, Quad9 und Google haben alle öffentliche DNS-Server, die DoT unterstützen können. Viele neuere Clients sind in der Lage, diese neueren Standards zu unterstützen, sind aber standardmäßig deaktiviert. Ausführlichere Informationen finden Sie im DNS-Sicherheits-Blog von Varonis.
DNS-Spoofing ersetzt die IP-Adresse einer legitimen Website durch die IP-Adresse des Computers eines Hackers. Das ist besonders knifflig, weil es schwer zu erkennen ist, denn aus Sicht des Endnutzers hat er eine völlig normal aussehende Adresse in die URL-Leiste seines Browsers eingegeben. Es ist jedoch nicht unmöglich, sie zu stoppen. Das Risiko kann durch Überwachungssoftware wie Varonis und die Verwendung des Verschlüsselungsstandards DNS over TLS gemindert werden.
DNS Spoofing FAQs
Im Folgenden werden einige häufig gestellte Fragen zum DNS-Spoofing beantwortet.
Q: Sind DNS Cache Poisoning und DNS Spoofing dasselbe?
A: Ja, DNS-Spoofing und DNS-Caching beziehen sich auf denselben Cyber-Angriff.
Q: Wie funktioniert DNS-Cache-Poisoning?
A: DNS-Cache-Poisoning funktioniert, indem Ihr DNS-Server dazu gebracht wird, einen gefälschten DNS-Eintrag zu speichern. Der Datenverkehr zu dem gefälschten DNS-Eintrag wird zu einem Server der Wahl des Angreifers geleitet, um Daten zu stehlen.
Q: Welche Sicherheitsfunktionen können zum Schutz vor DNS Cache Poisoning eingesetzt werden?
A: Website-Besitzer können DNS-Spoofing-Überwachung und -Analysen implementieren. Dazu gehört die Aufrüstung ihrer DNS-Server auf DNSSEC oder ein anderes Verschlüsselungssystem wie DNS over HTTPS oder DNS over TLS. Die Verwendung einer vollständigen Ende-zu-Ende-Verschlüsselung wie HTTPS, wo immer möglich, kann Spoofing ebenfalls verhindern. Cloud Access Security Brokers (CASB) sind hierfür äußerst nützlich.
Endnutzer können einen potenziell gefälschten DNS-Cache zurücksetzen, indem sie den DNS-Cache ihres Browsers regelmäßig oder nach dem Beitritt zu einem unsicheren oder gemeinsam genutzten Netzwerk leeren. Die Verwendung eines VPN kann vor DNS-Spoofing in einem lokalen Netzwerk schützen. Durch die Vermeidung verdächtiger Links kann verhindert werden, dass Endbenutzer den Cache ihres Browsers einem Risiko aussetzen.
Q: Wie kann ein Angriff auf den DNS-Cache überprüft werden?
A: Wenn der DNS-Cache einmal vergiftet ist, kann es schwierig sein, dies zu erkennen. Es könnte eine bessere Taktik sein, Ihre Daten zu überwachen und Ihre Systeme vor Malware zu schützen, um sich vor einer Gefährdung durch einen vergifteten DNS-Cache zu schützen.
Sehen Sie sich das Live Cyber Attack Lab an, um zu sehen, wie wir DNS-Überwachung verwenden, um echte Cybersecurity-Bedrohungen zu erkennen.
Q: Wie funktioniert DNS-Kommunikation?
A: Wenn der Endbenutzer eine URL wie „Varonis.com“ in seinen Browser eingibt, laufen folgende Schritte ab:
- Der Browser überprüft zunächst seinen lokalen Cache, um festzustellen, ob er die DNS-Daten bereits gespeichert hat.
- Wenn der Browser die Daten nicht hat, fragt er den nächsten Upstream-DNS-Server, der normalerweise Ihr Router im lokalen Netzwerk ist.
- Wenn der Router den benötigten DNS-Eintrag nicht in seinem Cache hat, verwendet er einen Upstream-DNS-Anbieter wie Google, Cloudflare oder Quad9.
- Dieser Upstream-Server empfängt dann die DNS-Anfrage und prüft seinen Cache.
-
- 4.1 Angenommen, er hat die DNS-Daten noch nicht im Cache, dann startet er einen rekursiven DNS-Resolver, indem er zuerst die DNS-Root-Server abfragt: „Who is handling .com“
- 4.2 Dann fragt der Resolver den Top-Level-Domain-Server für .com ab und fragt „Wer verwaltet Varonis.com?“, woraufhin der TDL mit einem autoritativen Nameserver für die URL antwortet.
- 4.3 Der Resolver stellt dann eine Anfrage an den autoritativen Nameserver und fragt „Wie lautet die IP von Varonis.com?“, woraufhin der autoritative Nameserver mit einer IP-Adresse für die Domain antwortet.
5. Die DNS-Daten werden dann die Kette hinunter zum Gerät des Endbenutzers gesendet. Auf dem gesamten Weg speichert jeder DNS-Server die Antwort für die künftige Verwendung im Cache.
Q: Wie vergiften Angreifer DNS-Caches?
Es gibt keinen einzigen Weg, wie ein DNS-Cache vergiftet werden kann, aber einige der häufigsten Wege sind: Das Opfer klickt auf bösartige Links, die eingebetteten Code verwenden, um den DNS-Cache in ihrem Browser zu verändern. Außerdem können Hacker den lokalen DNS-Server mit Hilfe eines Man-in-the-Middle-Spoofing-Angriffs kapern. Der Angriff nutzt ARP-Spoofing, um DNS-Anfragen an einen von ihnen kontrollierten DNS-Server umzuleiten.
Q: Was ist DNS-Cache-Vergiftung?
A: DNS-Cache-Vergiftung ist das Ersetzen eines DNS-Datenbankeintrags durch eine bösartige IP-Adresse, die den Endbenutzer an einen vom Hacker kontrollierten Server sendet.
Q: Wie wird DNS-Spoofing durchgeführt?
Ein Hacker führt einen DNS-Spoofing-Angriff durch, indem er sich Zugang verschafft und einen DNS-Cache verändert oder DNS-Anfragen auf seinen eigenen DNS-Server umleitet.
Q: Was ist mit DNS-Spoofing gemeint?
DNS-Spoofing bedeutet, dass die URL, die ein Benutzer in seinen Browser eingibt, wie z. B. varonis.com eingibt, nicht an die legitime IP-Adresse geht, die mit dieser URL verbunden ist, sondern zu einem bösartigen Server umgeleitet wird, der von einem Hacker kontrolliert wird.
Q: Warum ist DNS-Spoofing ein Problem?
A: DNS-Spoofing ist ein Problem, weil DNS von Natur aus vertrauenswürdig und oft nicht mit irgendeiner Art von Verschlüsselung gesichert ist. Das bedeutet, dass ein Hacker einen DNS-Eintrag fälschen und für Datendiebstahl, Malware-Infektionen, Phishing und die Verhinderung von Updates nutzen kann.
Q: Welche Bedrohungen gehen von einem DNS-Spoofing-Angriff aus?
Die Hauptbedrohung durch DNS-Spoofing ist Datendiebstahl durch die Verwendung von Phishing-Seiten. Außerdem besteht die Gefahr einer Malware-Infektion durch das Hosten legitim aussehender Downloads, die in Wirklichkeit mit Malware infiziert sind. Wenn das System für Updates auf das Internet angewiesen ist, können die Updates verhindert werden, indem die DNS-Einträge so geändert werden, dass sie nicht zu einer tatsächlichen Website führen. Dies könnte auch auf jede andere Website als Zensurmethode angewendet werden.