Perché il nome di dominio registrato "localtest.me" si risolve in 127.0.0.1?


30

Stavo leggendo un articolo sulla falsificazione delle richieste sul lato server . In quell'articolo l'attaccante ha scoperto che 127.0.0.1era aperto a Internet. La vittima ha quindi bloccato 127.0.0.1, ma poiché molti altri IP e apparentemente anche alcuni domini sono stati risolti in questo, incluso il misterioso localtest.me, è stato in grado di bypassare un debole filtro basato su testo.

  1. Cosa c'è di così speciale localtest.me?

  2. Ce ne sono altri? (E come trovarli?)


AGGIORNARE

Ho trovato: http://readme.localtest.me/

Apparentemente qualcuno ha deciso di registrare quel dominio in modo divertente, a scopo di test:

Ecco come funziona. L'intero nome di dominio localtest.me — e tutte le voci jolly — puntano a 127.0.0.1. Quindi, senza alcuna modifica al file host, puoi iniziare immediatamente il test con un URL locale.

Tuttavia, non sono ancora sicuro di come sia possibile registrare un dominio esterno su uno locale. Questo è fonte di confusione poiché tracert localtest.menon lascia mai la macchina. Come viene gestito a basso livello?

Ne ho trovati molti altri in questi commenti e altrove:

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

E in domande simili su Stack Overflow.


22
Questo è davvero semplice: la registrazione di un nome di dominio e l'assegnazione di un indirizzo IP sono due cose diverse. Chiunque può registrare qualsiasi nome di dominio per qualsiasi motivo. Uno deve semplicemente pagare il registrar del dominio, passando attraverso il "lavoro di ufficio" virtuale e quindi, come per magia, hai un nome di dominio. Ma poi assegnare un indirizzo IP a quel dominio è una bestia completamente diversa. Chiunque può assegnare qualsiasi indirizzo IP a un nome di dominio. Un nome di dominio è semplicemente un puntatore che semplifica la vita.
Jake Gould il

Uno di questi nomi di dominio che è recentemente collegato a un bel po 'di disturbo della forza èbealocalhost.de
Hagen von Eitzen,

Risposte:


69

Tuttavia, non sono ancora sicuro di come sia possibile registrare un dominio esterno su uno locale. Questo è confuso come un tracert localtest.me non lascia mai nemmeno la macchina. Come viene gestito a basso livello?

Non c'è nulla che "lega" il dominio al suo indirizzo nel modo che immagini. Proprio come una rubrica, DNS ti dice semplicemente qual è l'indirizzo, ma è qui che finisce il suo coinvolgimento. (Non componi "Pizza Hut" sul telefono; cerchi il loro numero di telefono e componi il numero.)

Pertanto, quando qualcuno registra un nome di dominio, ottiene solo la possibilità di modificare i record della rubrica. Ma per "puntare" un nome di dominio da qualche parte - diciamo a 127.0.0.1- aggiungono questa linea al suo database:

localtest.me.   A   127.0.0.1

Questo è tutto. Chiunque chieda localtest.meora ottiene la risposta "Oh, è a 127.0.0.1".

Quindi, quando si digita tracert localtest.me., per prima cosa chiede al DNS dell'indirizzo associato; ottiene la risposta 127.0.0.1; e poi si comporta esattamente come se avessi eseguito tracert 127.0.0.1invece. Nessuna magia.

Ce ne sono altri? (E come trovarli?)

A questo punto dovrebbe essere chiaro che qualsiasi proprietario di dominio può farlo senza alcuno sforzo, quindi c'è sempre una probabilità che altri domini di questo tipo esistano in un dato momento. A causa della distribuzione dei dati DNS su molti sistemi (a volte persino generati dinamicamente), non è possibile trovarli tutti o addirittura aspettarsi che i risultati rimangano precisi dopo pochi secondi.

Ma per motivi di sicurezza, non è necessario trovarli tutti. Alcuni resolver DNS in realtà hanno già una sorta di filtro per tali voci (chiamato "protezione contro il rebinding DNS") e non cercano domande specifiche, ma guardano solo la risposta . La funzione di protezione blocca solo le risposte che puntano a qualsiasi indirizzo locale.

Tuttavia, prima di chiedere, questo non può essere vietato a livello globale - il puntamento di nomi di dominio a indirizzi privati ​​è ancora un uso perfettamente legittimo del DNS e viene utilizzato nella pratica in molte reti.


4
Grazie ragazzi per il chiarimento. Questa è stata sicuramente una scoperta interessante, poiché non avevo idea che si potesse anche registrare blocchi IP riservati .
not2qubit

11
Sì. Non è compito del DNS imporre come utilizzare gli indirizzi.
Grawity,

2
@ not2qubit "... Non avevo idea che si potesse anche registrare blocchi IP riservati." Stai mescolando i termini. Devi registrare un nome di dominio con un registrar; questo è un processo controllato. Si assegna un indirizzo IP a un nome di dominio; questo è un processo non controllato. Qualsiasi pila di numeri può essere assegnata a qualsiasi nome di dominio registrato purché tu controlli il nome di dominio.
Jake Gould,

"Non componi" Pizza Hut "sul telefono, cerchi il loro numero di telefono e componi il numero." Bella analogia!
Joshua Pinter,

1
Certamente uno che probabilmente non durerà a lungo, con Siri / Alexa / Google che ordinano la pizza per te ...
Grawity

16

Esistono altre risposte che approfondiscono i dettagli, ma il nocciolo di questa domanda è davvero semplice:

"Tuttavia, non sono ancora sicuro di come sia possibile registrare un dominio esterno in un dominio locale."

La registrazione di un nome di dominio e l'assegnazione di un indirizzo IP sono due cose completamente diverse e indipendenti.

Chiunque può registrare qualsiasi nome di dominio per qualsiasi motivo; puoi persino registrare un nome di dominio senza disporre di un indirizzo IP di destinazione. Uno deve semplicemente pagare il registrar del dominio, passando attraverso il "lavoro di ufficio" virtuale e quindi, come per magia, hai un nome di dominio. Tutto quello che stai pagando quando registri un nome di dominio è il nome di dominio stesso e la possibilità, leggi sotto, di assegnare un indirizzo IP a un nome di dominio.

Ma quindi assegnare un indirizzo IP a quel nome di dominio è un processo completamente diverso. Chiunque può assegnare qualsiasi indirizzo IP a un nome di dominio se ha il controllo di quel nome di dominio. Il registrar del nome di dominio non ha alcuna cura o preoccupazione riguardo a quale pila di indirizzi grezzi si assegna a un nome di dominio.

Tutto un nome di dominio è semplicemente un puntatore che semplifica la vita. Pensalo come un alias in modo che le persone non debbano memorizzare pile di numeri (IPv4) o numeri e lettere (IPv6).

Questo è tutto!

Ma quello che è successo - come spiegato da quella pagina che hai visitato - non è stato un "hack" di ogni sistema nell'indirizzo "127.0.0.1" locale del mondo, ma piuttosto un difetto su quel sistema specifico stesso.

Ma per chiarire ulteriormente questo - e questo mi ha fatto inciampare nel modo in cui lo hai scritto anche tu - quando affermi:

Stavo leggendo un articolo sulla falsificazione delle richieste sul lato server . In quell'articolo l'attaccante ha scoperto che 127.0.0.1 era aperto a Internet.

Ho letto anche quell'articolo , ed è quello che è successo: qualcuno stava usando uno strumento online che ti consentiva di indirizzare tale strumento a qualsiasi indirizzo IP / nome host. Quando hanno indicato questo strumento 127.0.0.1non è stato che l'indirizzo IP 127.0.0.1era esposto a Internet. Piuttosto, lo strumento stesso aveva un difetto che permetteva a chiunque di sondare il server interno su cui lo strumento era in esecuzione utilizzando 127.0.0.1. E poiché questo strumento era esplicitamente uno strumento di hacking utilizzato per rilevare porte aperte e simili, utilizzando 127.0.0.1quella specifica applicazione è stato in grado di sondare la propria rete di host locale e — qui chiave — trasmettere tali informazioni a qualcuno che accede allo strumento tramite solo un browser Web .

Il rischio presentato non era che tutti 127.0.0.1fossero esposti a Internet, ma piuttosto che la sciatta codifica su uno strumento su un sito permetteva che ciò accadesse.


8

Cosa c'è di così speciale localtest.me ?

Punta a 127.0.0.1 (localhost). Questo indirizzo è sempre riservato al computer locale.

Ce ne sono altri? (E come trovarli?)

Sì. Google e Super User sono i tuoi amici (come hai scoperto).

Non sono ancora sicuro di come sia possibile registrare un dominio esterno su un [IP] locale. Questo è fonte di confusione poiché tracert localtest.menon lascia mai la macchina. Come viene gestito a basso livello?

Manca la richiesta DNS (esterna) iniziale . tracertvisualizza il percorso di un pacchetto ma prima che un pacchetto possa andare ovunque, il computer deve conoscere l'IP a cui inviarlo. Con le avvertenze, se non hai mai visitato locatest.me prima, viene inviata una richiesta DNS ai resolver esterni per scoprire che è mappata a 127.0.0.1. I dati restituiti vengono quindi utilizzati localmente (ad es. Per tracerto visualizzare contenuti Web). E ricorda che il DNS può associare qualsiasi nome host a qualsiasi IP - non "sa" se un IP è locale o meno.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.