Domain IP Lookup

Dieselbe Domain, zwei verschiedene Antworten

Erste Anfrage

löst zu öffentlicher IP auf

Validierung

bestanden – wirkt sicher

TTL läuft ab

Sekunden später

Zweite Anfrage

löst zu 127.0.0.1 auf

Sicherheit

Was ist DNS-Rebinding und warum ist es wichtig?

3 Min. Lesezeit

Die meisten Sicherheitsprüfungen rund um eine Domain gehen davon aus, dass ihre IP-Adresse stabil genug ist, um sie einmal zu validieren und danach zu vertrauen. DNS-Rebinding nutzt genau diese Annahme aus. Ein Angreifer kontrolliert das DNS einer Domain und konfiguriert es so, dass sie zunächst auf eine normale, öffentliche IP-Adresse aufgelöst wird – und damit jede Validierung des Zielsystems besteht –, um die Antwort bei einer späteren Anfrage auf eine interne Adresse zu ändern (etwa 127.0.0.1 oder einen internen 10.x.x.x-Bereich), nachdem die Prüfung längst bestanden ist.

Warum das mehr ist als ein theoretischer Trick

Eine sehr kurze TTL macht den Angriff praktikabel: Der Angreifer lässt den Record nach wenigen Sekunden ablaufen, sodass eine Validierungsprüfung und die darauffolgende eigentliche Anfrage zwei verschiedene Antworten sehen können, nur Millisekunden auseinander, ohne dass das Opfersystem bemerkt, dass sich der Boden unter ihm verschoben hat. Jedes System, das eine Domain einmal auflöst und diese IP für mehrere Vorgänge wiederverwendet – oder schlimmer, sie einmal für die Validierung auflöst und es etwas anderes für die eigentliche Anfrage erneut auflösen lässt –, ist potenziell gefährdet.

Die einzige verlässliche Abwehr

Eine Hostnamen-Zeichenkette zu validieren genügt nicht, und eine IP einmal zu validieren genügt ebenfalls nicht. Die einzige robuste Abwehr besteht darin, die tatsächlich aufgelöste Adresse genau dort gegen eine Sperrliste privater und interner Bereiche zu prüfen, wo die Verbindung tatsächlich aufgebaut wird – jedes einzelne Mal, nicht nur bei der anfänglichen Validierung. Das schließt die zeitliche Lücke, auf der Rebinding beruht, denn zwischen „geprüft“ und „verwendet“ bleibt kein Fenster mehr, in dem sich die Antwort ändern könnte.

  • Sperren Sie private Bereiche (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), Loopback (127.0.0.0/8), Link-Local (169.254.0.0/16) und Cloud-Metadaten-Endpunkte – sowohl für IPv4 als auch für IPv6.
  • Prüfen Sie bei jeder Verwendung erneut, nicht nur einmal bei der Eingabevalidierung.
  • Behandeln Sie eine IPv4-mapped IPv6-Adresse (wie ::ffff:127.0.0.1) als gleichwertig mit der eingebetteten IPv4-Adresse – Rebinding-Versuche nutzen mitunter genau diese Kodierung, um an einer naiven, nur auf IPv6 ausgelegten Prüfung vorbeizukommen.
AnsatzSchließt die Rebinding-Lücke?
Hostnamen-Zeichenkette einmal validierenNein – sagt nichts darüber aus, worauf er aufgelöst wird
Einmal auflösen, die IP für spätere Anfragen wiederverwendenNein – der Record kann sich vor der Wiederverwendung ändern
Bei jeder einzelnen Verwendung auflösen und gegen die Sperrliste prüfenJa – es bleibt kein Fenster, in dem sich die Antwort ändern könnte

Wo das in der Praxis eine Rolle gespielt hat

DNS-Rebinding ist kein akademisches Randthema – es wurde wiederholt gegen Heimrouter, Smart-Home-Hubs und andere Geräte eingesetzt, die eine nicht authentifizierte lokale Admin-Oberfläche anbieten, weil sie davon ausgehen, dass nur vertrauenswürdiger lokaler Traffic sie je erreichen kann. Eine bösartige Webseite, die in einem normalen Browser-Tab im selben Netzwerk geöffnet wird, kann per Rebinding dafür sorgen, dass der Browser des Opfers – dem der Router schon deshalb vertraut, weil er sich im lokalen Netzwerk befindet – im Auftrag des Angreifers direkt Anfragen an diese Admin-Oberfläche sendet. Der Browser glaubt die ganze Zeit, weiter mit der ursprünglichen öffentlichen Domain zu sprechen; nur die DNS-Antwort darunter hat sich geändert.

Eine subtilere Variante: Multi-Answer-Rebinding

Eine ausgefeiltere Version wartet gar nicht erst auf den Ablauf einer TTL. Eine einzelne DNS-Antwort darf rechtmäßig mehr als einen A-Record enthalten, und manche Client-Software probiert sie einfach der Reihe nach durch oder wechselt sogar bei verschiedenen Anfragen im Round-Robin zwischen ihnen. Ein Angreifer kann in ein und derselben Antwort sowohl eine legitime öffentliche als auch eine interne Adresse zurückgeben und darauf setzen, dass der Client irgendwann den zweiten Eintrag versucht – ohne Warten, ohne Zeitfenster, allein mit der Tatsache, dass DNS nie dafür ausgelegt war zu garantieren, dass jede Adresse einer Antwort mit mehreren Einträgen gleich vertrauenswürdig ist. Es ist eine gute Erinnerung daran, dass „die erste zurückgegebene Adresse prüfen“ nie ausreicht; jede Adresse einer Antwort braucht dieselbe Sorgfalt.

Möchten Sie die öffentlichen DNS-Adressen einer Domain prüfen? Nutzen Sie das Tool Domain IP Lookup.

Weiterführende Artikel