DNS-Spoofing und Cache-Poisoning
DNS-Antworten fälschen
DNS-Spoofing und Cache-Poisoning ist eine kostenlose Cyber Security Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cyber Security Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Gefälschte DNS-Antworten
DNS-Spoofing bezeichnet das Bereitstellen einer gefälschten DNS-Antwort, sodass das Opfer einen Namen in eine vom Angreifer kontrollierte IP-Adresse auflöst. Cache-Poisoning ist eine spezielle Form davon: Die gefälschte Antwort wird von einem rekursiven Resolver akzeptiert und gespeichert, wodurch jeder Client infiziert wird, der ihn verwendet.
Das Ziel ist meist die Umleitung des Datenverkehrs: Benutzer werden auf Phishing-Seiten, Malware-Downloads oder Man-in-the-Middle-Proxys geleitet.
Die Race Condition
Wenn ein Resolver eine Anfrage sendet, versucht ein Angreifer, eine gefälschte Antwort einzuschleusen, bevor der legitime autoritative Server antwortet. Trifft die Fälschung zuerst ein und stimmen die erwarteten Felder überein, gewinnt sie die Race Condition und wird im Cache gespeichert.
Deshalb sind Latenz, Paketreihenfolge und der ausgehende Port des Resolvers für Angriff und Abwehr von großer Bedeutung.
Felder, die der Angreifer erraten muss
Damit eine gefälschte UDP-Antwort akzeptiert wird, muss der Angreifer Folgendes korrekt erraten:
- Die Quell-IP-Adresse (des autoritativen Servers).
- Den Zielport (den ausgehenden Port des Resolvers).
- Den Abfragenamen und den Abfragetyp.
- Die 16-Bit-Transaktions-ID (TXID).
Ohne Schutzmechanismen ist nur die TXID wirklich geheim, was pro Paket einer Wahrscheinlichkeit von ungefähr 1 zu 65.536 entspricht.
Der Kaminsky-Angriff
Die Veröffentlichung von Dan Kaminsky aus dem Jahr 2008 zeigte, dass Poisoning deutlich einfacher war als angenommen. Statt eine Race Condition pro Record auszulösen, fragt der Angreifer viele nicht existierende Subdomains ab (aaa.bank.com, aab.bank.com ...) und überflutet das Ziel mit gefälschten Antworten, die einen bösartigen NS- oder Glue-Record für die gesamte Domain enthalten.
Jeder Versuch ist eine neue Race Condition, und ein nicht erfolgreicher Lookup wird nicht gecacht. Daher kann der Angreifer den Vorgang so lange wiederholen, bis ein Treffer gelingt und die gesamte Zone vergiftet wird.
for sub in $(seq 1 10000); do
dig $sub.bank.com @victim-resolver &
done
# Attacker floods forged NS answers in parallelRandomisierung des Quellports
Die wichtigste Gegenmaßnahme nach Kaminsky war die Randomisierung des Quellports. Statt einen festen ausgehenden Port zu verwenden, wählt der Resolver für jede Anfrage einen zufälligen ephemeren Port.
Nun muss der Angreifer sowohl die TXID (16 Bit) als auch den Quellport (etwa 16 Bit) erraten, wodurch sich der Suchraum auf ungefähr 2^32 erweitert. Das macht blindes Off-Path-Poisoning praktisch undurchführbar, wenn auch nicht bei Implementierungen mit schwacher Entropie unmöglich.
On-Path- vs. Off-Path-Angreifer
Ein Off-Path-Angreifer kann die Anfrage nicht sehen und muss TXID und Port blind erraten. Ein On-Path-Angreifer (manipuliertes WLAN, kompromittierter Router oder Internetanbieter) kann die Anfrage direkt mitlesen und problemlos eine passende Antwort erstellen.
On-Path-Spoofing setzt die Port-Randomisierung vollständig außer Kraft. Deshalb sind verschlüsselter Transport und DNSSEC-Validierung erforderlich, um eine starke Absicherung zu erreichen, nicht nur zusätzliche Entropie.
Manipuliertes DHCP und Resolver-Hijacking
Angreifer fälschen nicht immer Pakete. Ein nicht autorisierter DHCP-Server kann Clients die Adresse eines bösartigen DNS-Resolvers übergeben, sodass jede Auflösung vom Angreifer beantwortet wird. Auch Malware schreibt /etc/resolv.conf oder Routereinstellungen um.
Historische Bedrohungen wie die Malware DNSChanger leiteten den DNS-Verkehr der Opfer jahrelang unbemerkt auf betrügerische Server um. Prüfen Sie, welche Resolver Ihre Geräteflotte tatsächlich verwendet.
cat /etc/resolv.conf
# nameserver should match your trusted internal resolverBailiwick-Prüfung
Resolver setzen Bailiwick-Regeln durch: Eine Antwort darf nur Datensätze für Namen innerhalb der Zone liefern, für die der Server autoritativ ist. Eine Antwort für bank.com kann keinen Datensatz für unrelated.com einschleusen.
Dadurch werden Injektionen nach dem Kaminsky-Muster auf die abgefragte Domain beschränkt und wird verhindert, dass eine vergiftete Antwort unabhängige Zonen verunreinigt. Überprüfen Sie, ob Ihr Resolver eine strikte Bailiwick-Filterung durchsetzt.
Poisoning erkennen
Anzeichen für ein laufendes oder erfolgreiches Poisoning:
- Ein sprunghafter Anstieg von Abfragen für zufällige, nicht existierende Subdomains.
- Doppelte oder nicht in der richtigen Reihenfolge eintreffende DNS-Antworten für dieselbe TXID.
- Aufgelöste IP-Adressen, die plötzlich auf unerwartete ASNs oder geografische Regionen verweisen.
- Abweichungen zwischen den Antworten des Resolvers und einer vertrauenswürdigen Abfrage über einen unabhängigen Kanal.
Mehrschichtige Abwehrmaßnahmen
Keine einzelne Maßnahme reicht aus. Kombinieren Sie:
- Randomisierung von Quellport und TXID, um den Aufwand für Off-Path-Angreifer zu erhöhen.
- DNSSEC-Validierung, damit gefälschte Antworten die Signaturprüfung nicht bestehen.
- DoT/DoH, um On-Path-Angreifern Einblick und Manipulation zu verwehren.
- 0x20-Kodierung (zufällige Groß- und Kleinschreibung in Abfragenamen) für zusätzliche Entropie.
- Überwachung auf NXDOMAIN-Floods und Anomalien in Antworten.
Die Realität im Betrieb
In der Praxis ist blindes Off-Path-Cache-Poisoning bei gepatchten Resolvern heute selten, tritt aber über Seitenkanäle wieder auf, beispielsweise durch UDP-Fragmentierung und ICMP-basierte Angriffe zur Port-Inferenz wie SAD DNS. Halten Sie Resolver durchgehend gepatcht und bevorzugen Sie validierende, verschlüsselte Resolver.
Denken Sie daran: Die DNS-Kompromittierung mit den größten Auswirkungen ist oft kein ausgeklügelter Poisoning-Angriff, sondern ein gestohlenes Registrar-Konto. Schützen Sie beide Seiten.
Schnelltest
Prüfen Sie, wie gut Sie die Kaminsky-Technik verstanden haben.
Zusammenfassung
DNS-Spoofing fälscht Antworten; Cache-Poisoning sorgt dafür, dass sie in einem Resolver bestehen bleiben. Akzeptiert wird eine Antwort nur, wenn Quell-IP, Port, Abfragename und TXID übereinstimmen. Die Randomisierung des Quellports und Bailiwick-Prüfungen haben die Hürde für Off-Path-Angreifer erhöht, doch On-Path-Angreifer und Seitenkanäle bleiben relevant.
Eine mehrschichtige Verteidigung (Entropie, DNSSEC-Validierung, verschlüsselter Transport und Überwachung) ist unerlässlich. Als Nächstes sehen wir uns an, wie Angreifer DNS missbrauchen, um Daten zu übertragen: Tunneling und Datenexfiltration.
Lerne Cyber Security Academy mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 76
- Lektionen
- 303
Häufig gestellte Fragen
Ist die Lektion „DNS-Spoofing und Cache-Poisoning“ kostenlos?
Ja — der vollständige Text von „DNS-Spoofing und Cache-Poisoning“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cyber Security Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „DNS-Spoofing und Cache-Poisoning“?
DNS-Antworten fälschen Du übst Cyber Security Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Cyber Security Academy zu starten?
Keine Vorkenntnisse erforderlich. Cyber Security Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „DNS-Spoofing und Cache-Poisoning“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Cyber Security Academy-Lektion Code schreiben und ausführen?
Ja. Jede Cyber Security Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Wie DNS funktioniert und welche Risiken bestehen
- DNS-Spoofing und Cache-Poisoning
- DNS-Tunneling und Exfiltration
- DNSSEC und DNS-Filterung