Warum wird der registrierte Domainname "localtest.me" in 127.0.0.1 aufgelöst?

30

Ich habe einen Artikel über Server-Side Request Forgery gelesen . In diesem Artikel stellte der Angreifer fest, dass 127.0.0.1das Internet offen war. Das Opfer blockierte daraufhin 127.0.0.1, aber da auch viele andere IPs und anscheinend auch einige Domains dahingehend aufgelöst sind, unter anderem das Rätselhafte localtest.me, gelang es ihm, einen schwachen textbasierten Filter zu umgehen.

  1. Was ist das Besondere daran localtest.me?

  2. Gibt es noch andere (Und wie findet man sie?)


AKTUALISIEREN

Ich fand: http://readme.localtest.me/

Anscheinend hat sich jemand dazu entschlossen, diese Domain zu Testzwecken auf witzige Weise zu registrieren:

So funktioniert das. Der gesamte Domainname localtest.me - und alle Platzhaltereinträge - zeigen auf 127.0.0.1. Ohne Änderungen an Ihrer Hostdatei können Sie sofort mit dem Testen mit einer lokalen URL beginnen.

Ich bin mir jedoch immer noch nicht sicher, wie Sie eine externe Domain für eine lokale Domain registrieren können. Dies ist verwirrend, da man tracert localtest.medie Maschine niemals verlässt. Wie wird das auf niedrigem Niveau gehandhabt?

Ich habe dann in diesen Kommentaren und anderswo noch einige gefunden :

lvh.me 
vcap.me
fuf.me - IPv4 and IPv6
ulh.us
127-0-0-1.org.uk
ratchetlocal.com
smackaho.st
42foo.com
beweb.com
yoogle.com
ortkut.com
feacebook.com

Und in ähnlichen Fragen zum Stack Overflow.

not2qubit
quelle
22
Das ist ganz einfach: Das Registrieren eines Domainnamens und das Zuweisen einer IP-Adresse sind zwei verschiedene Dinge. Jeder kann jeden Domainnamen aus jedem Grund registrieren. Man muss nur den Domain-Registrar bezahlen, die virtuellen "Papiere" durchgehen und dann, wie von Zauberhand, einen Domain-Namen haben. Aber dann ist das Zuweisen einer IP-Adresse zu dieser Domain eine ganz andere Sache. Jeder kann einem Domainnamen eine beliebige IP-Adresse zuweisen. Ein Domainname ist einfach ein Zeiger, der das Leben leichter macht.
JakeGould
Ein solcher Domainname, der in letzter Zeit mit einigen Störungen der Streitkräfte in Verbindung gebracht wurde, istbealocalhost.de
Hagen von Eitzen,

Antworten:

69

Ich bin mir jedoch immer noch nicht sicher, wie Sie eine externe Domain für eine lokale Domain registrieren können. Dies ist verwirrend, da ich als tracert localtest nicht einmal die Maschine verlasse. Wie wird das auf niedrigem Niveau gehandhabt?

Es gibt nichts, was die Domain so an ihre Adresse "bindet", wie Sie es sich vorstellen. Wie in einem Telefonbuch gibt DNS lediglich an, um welche Adresse es sich handelt. Hier endet jedoch die Beteiligung. (Sie wählen nicht "Pizza Hut" am Telefon; Sie suchen die Telefonnummer und wählen die Nummer.)

Also, wenn jemand einen Domain - Namen registriert, gewinnen sie nur die Möglichkeit , diese Telefonbucheinträge zu bearbeiten. Aber um einen Domainnamen tatsächlich irgendwo zu "verweisen" - sagen wir mal 127.0.0.1- fügen sie diese Zeile zu ihrer Datenbank hinzu:

localtest.me.   A   127.0.0.1

Das ist es. Wer localtest.mejetzt nachfragt, bekommt die Antwort "Oh, es ist bei 127.0.0.1."

Wenn Sie also etwas eingeben tracert localtest.me., fragt es zuerst DNS nach der zugeordneten Adresse. bekommt die Antwort 127.0.0.1; und dann verhält sich genau so, als ob du tracert 127.0.0.1stattdessen gelaufen wärst . Überhaupt keine Magie.

Gibt es noch andere (Und wie findet man sie?)

An dieser Stelle sollte klar sein, dass jeder Domaininhaber dies ohne großen Aufwand tun kann. Daher besteht immer die Wahrscheinlichkeit, dass zu einem bestimmten Zeitpunkt andere solcher Domains existieren. Da DNS-Daten auf viele Systeme verteilt sind (manchmal sogar dynamisch generiert), können Sie sie nicht alle finden oder erwarten, dass Ihre Ergebnisse bereits nach wenigen Sekunden genau sind.

Aber aus Sicherheitsgründen, nicht wahr brauchen sie alle zu finden. Einige DNS-Resolver haben tatsächlich bereits eine Art Filter für solche Einträge (so genannter "DNS-Rebinding-Schutz") und suchen nicht nach bestimmten Fragen, sondern nur nach der Antwort . Die Schutzfunktion blockiert nur Antworten, die auf eine lokale Adresse verweisen.

Bevor Sie jedoch nachfragen, können Sie dies nicht global verbieten. Das Verweisen von Domainnamen auf private Adressen ist immer noch eine absolut legitime Verwendung von DNS und wird in der Praxis in vielen Netzwerken verwendet.

Grawity
quelle
4
Danke Jungs für die Klarstellung. Dies war auf jeden Fall ein interessanter Fund, da ich keine Ahnung hatte, dass man auch reservierte IP-Blöcke registrieren könnte .
not2qubit
11
Ja. Es ist nicht Aufgabe von DNS, die Verwendung von Adressen durchzusetzen.
Grawity
2
@ not2qubit "... ich hatte keine Ahnung, dass man auch reservierte IP-Blöcke registrieren könnte." Sie verwechseln Begriffe. Sie müssen sich registrieren , einen Domain - Namen mit einem Registrar; das ist ein kontrollierter prozess. Sie weisen einem Domainnamen eine IP-Adresse zu. Das ist ein unkontrollierter Prozess. Jedem registrierten Domainnamen kann ein beliebiger Zahlenstapel zugewiesen werden, solange Sie den Domainnamen kontrollieren.
JakeGould
"Sie wählen nicht" Pizza Hut "am Telefon; Sie suchen deren Telefonnummer und wählen die Nummer." Schöne Analogie!
Joshua Pinter
1
Zugegeben, eine, die wahrscheinlich nicht lange hält, da Siri / Alexa / Google stattdessen Pizza für Sie bestellt ...
Grawity
16

Es gibt andere Antworten, die detaillierter sind, aber der Kern dieser Frage ist wirklich einfach zu beantworten:

"Ich bin mir jedoch immer noch nicht sicher, wie Sie eine externe Domain bei einer lokalen Domain registrieren können."

Das Registrieren eines Domainnamens und das Zuweisen einer IP-Adresse sind zwei völlig unterschiedliche und unabhängige Dinge.

Jeder kann jeden Domainnamen aus jedem Grund registrieren . Sie können sogar einen Domainnamen registrieren, ohne eine Ziel-IP-Adresse zu haben. Man muss nur den Domain-Registrar bezahlen, die virtuellen "Papiere" durchgehen und dann, wie von Zauberhand, einen Domain-Namen haben. Alles, wofür Sie bei der Registrierung eines Domainnamens bezahlen, ist der Domainname selbst sowie die unten beschriebene Möglichkeit, einem Domainnamen eine IP-Adresse zuzuweisen.

Das Zuweisen einer IP-Adresse zu diesem Domainnamen ist jedoch ein ganz anderer Vorgang. Jeder kann einem Domainnamen eine beliebige IP-Adresse zuweisen, wenn er die Kontrolle über diesen Domainnamen hat. Der Registrar für Domain-Namen kümmert sich nicht darum, welchen Stapel unformatierter Adressen Sie einem Domain-Namen zuweisen.

Ein Domainname ist lediglich ein Hinweis, der das Leben leichter macht. Stellen Sie es sich als Alias ​​vor, damit sich die Benutzer keine Zahlenstapel (IPv4) oder Zahlen und Buchstaben (IPv6) merken müssen.

Das ist es!

Aber was passiert ist - wie auf der von Ihnen besuchten Seite erklärt - war nicht ein "Hack" jedes Systems in der lokalen "127.0.0.1" -Adresse der Welt, sondern ein Fehler in diesem einen bestimmten System.

Aber um dies näher zu erläutern - und das hat mich auf die Art und Weise, wie Sie es formuliert haben, in die Irre geführt -, wenn Sie Folgendes angeben:

Ich habe einen Artikel über Server-Side Request Forgery gelesen . In diesem Artikel stellte der Angreifer fest, dass 127.0.0.1 für das Internet geöffnet war.

Ich habe diesen Artikel auch gelesen und Folgendes ist passiert: Jemand benutzte ein Online-Tool, mit dem Sie dieses Tool auf eine beliebige IP-Adresse / einen Hostnamen verweisen konnten. Als sie dieses Tool darauf zeigten, 127.0.0.1war es nicht so, dass die IP-Adresse 127.0.0.1dem Internet zugänglich war. Vielmehr hatte das Tool selbst einen Fehler, der es jedem ermöglichte, den internen Server, auf dem das Tool ausgeführt wurde, mithilfe von zu untersuchen 127.0.0.1. Und da es sich bei diesem Tool explizit um ein Hacking-Tool handelt, das zum Erkennen offener Ports und dergleichen verwendet wurde, konnte mithilfe 127.0.0.1dieser speziellen Anwendung das eigene Localhost-Netzwerk überprüft und - hier als Schlüssel - diese Informationen über einen Webbrowser an jemanden übermittelt werden, der auf das Tool zugreift .

Das Risiko bestand nicht darin, dass jeder 127.0.0.1mit dem Internet in Berührung kam, sondern vielmehr darin, dass dies durch eine fehlerhafte Codierung auf einem Tool auf einer Website geschehen konnte.

JakeGould
quelle
8

Was ist das Besondere an localtest.me ?

Es zeigt auf 127.0.0.1 (localhost). Diese Adresse ist immer für den lokalen Computer reserviert.

Gibt es noch andere (Und wie findet man sie?)

Ja. Google und Super User sind Ihre Freunde (wie Sie herausfanden).

Ich bin mir immer noch nicht sicher, wie Sie eine externe Domain bei einer lokalen [IP] registrieren können. Dies ist verwirrend, da man tracert localtest.medie Maschine niemals verlässt. Wie wird das auf niedrigem Niveau gehandhabt?

Sie vermissen die erste (externe) DNS- Anfrage. tracertzeigt den Pfad an, den ein Paket nimmt, aber bevor ein Paket irgendwo hingelangen kann, muss der Computer die IP kennen, an die es gesendet werden soll. Falls Sie locatest.me noch nie zuvor besucht haben , wird eine DNS-Anfrage an externe Resolver gesendet , um festzustellen , dass die Zuordnung zu 127.0.0.1 erfolgt. Die zurückgegebenen Daten werden dann lokal verwendet (z. B. zum tracertAnzeigen von Webinhalten). Und denken Sie daran, dass DNS jeden Hostnamen einer beliebigen IP zuordnen kann - es "weiß" nicht, ob eine IP lokal ist oder nicht.

Anaksunaman
quelle