Por que o nome de domínio registrado "localtest.me" resolve para 127.0.0.1?


30

Eu estava lendo um artigo sobre falsificação de solicitações no servidor . Nesse artigo, o atacante descobriu que 127.0.0.1estava aberto para a internet. A vítima então bloqueou 127.0.0.1, mas como muitos outros IPs e aparentemente também alguns domínios também estão resolvidos, incluindo o misterioso localtest.me, ele conseguiu contornar um filtro fraco baseado em texto.

  1. O que há de tão especial localtest.me?

  2. Existem outros? (E como encontrá-los?)


ATUALIZAR

Eu encontrei: http://readme.localtest.me/

Aparentemente, alguém decidiu registrar esse domínio de uma maneira engraçada, para fins de teste:

Aqui está como isso funciona. O nome de domínio inteiro localtest.me - e todas as entradas curinga - apontam para 127.0.0.1. Portanto, sem nenhuma alteração no arquivo host, você pode começar imediatamente o teste com um URL local.

No entanto, ainda não tenho certeza de como você pode registrar um domínio externo em um local. Isso é confuso, pois tracert localtest.menunca sai da máquina. Como isso é tratado no nível baixo?

Eu, então, descobriu vários outros em esses comentários e em outros lugares:

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 em perguntas semelhantes no Stack Overflow.


22
Isso é realmente simples: registrar um nome de domínio e atribuir um endereço IP são duas coisas diferentes. Qualquer pessoa pode registrar qualquer nome de domínio por qualquer motivo. É preciso simplesmente pagar ao registrador de domínio, vasculhar a “papelada” virtual e depois, como mágica, você tem um nome de domínio. Mas, em seguida, atribuir um endereço IP a esse domínio é uma fera totalmente diferente. Qualquer pessoa pode atribuir qualquer endereço IP a um nome de domínio. Um nome de domínio é simplesmente um ponteiro que facilita a vida.
JakeGould #

Um desses nomes de domínio que está conectado a bastante perturbação da força recentemente ébealocalhost.de
Hagen von Eitzen

Respostas:


69

No entanto, ainda não tenho certeza de como você pode registrar um domínio externo em um local. Isso é confuso, pois um localtest.me da tracert nunca sai da máquina. Como isso é tratado no nível baixo?

Não há nada que "vincule" o domínio ao seu endereço da maneira que você imagina. Assim como uma lista telefônica, o DNS apenas informa qual é o endereço - mas é aí que o envolvimento termina. (Você não disca "Pizza Hut" no telefone; procura o número de telefone e disca o número.)

Portanto, quando alguém registra um nome de domínio, apenas ganha a capacidade de editar esses registros da agenda. Mas para "apontar" um nome de domínio para algum lugar - digamos 127.0.0.1- eles adicionam esta linha ao seu banco de dados:

localtest.me.   A   127.0.0.1

É isso aí. Quem pergunta localtest.meagora recebe a resposta "Oh, está 127.0.0.1."

Portanto, quando você digita tracert localtest.me., ele primeiro pergunta ao DNS sobre o endereço associado; obtém a resposta 127.0.0.1; e então se comporta exatamente como se você tivesse corrido tracert 127.0.0.1. Nenhuma mágica.

Existem outros? (E como encontrá-los?)

Nesse ponto, deve ficar claro que qualquer proprietário de domínio pode fazer isso sem nenhum esforço; portanto, sempre há uma probabilidade de que outros domínios existam a qualquer momento. Como os dados do DNS estão sendo distribuídos por muitos sistemas (às vezes até gerados dinamicamente), você realmente não consegue encontrar todos, ou espera que seus resultados permaneçam precisos após apenas alguns segundos.

Mas, por questões de segurança, você não precisa encontrar todos eles. Na verdade, alguns resolvedores de DNS já têm um tipo de filtragem para essas entradas (denominadas "proteção de religação de DNS") e não procuram perguntas específicas - apenas procuram a resposta . O recurso de proteção apenas bloqueia respostas que apontam para qualquer endereço local.

No entanto, antes que você pergunte, isso não pode ser proibido globalmente - apontar nomes de domínio para endereços privados ainda é um uso perfeitamente legítimo do DNS e é usado na prática em muitas redes.


4
Obrigado pessoal por esclarecer. Definitivamente, esse foi um achado interessante, pois eu não fazia ideia de que também era possível registrar blocos de IP reservados .
not2qubit

11
Sim. O negócio do DNS não é impor como os endereços podem ser usados.
grawity

2
@ not2qubit “… eu não tinha idéia de que alguém também pudesse registrar blocos de IP reservados.” Você está confundindo termos. Você precisa registrar um nome de domínio em um registrador; esse é um processo controlado. Você atribui um endereço IP a um nome de domínio; esse é um processo não controlado. Qualquer pilha de números pode ser atribuída a qualquer nome de domínio registrado, desde que você controle o nome do domínio.
JakeGould

"Você não disca" Pizza Hut "no telefone; procura o número de telefone e disca o número." Boa analogia!
18138 Joshua Pinter

1
É certo que, provavelmente, não vai durar muito tempo, com pizza Siri / Alexa / Google ordenação para você em vez ...
grawity

16

Existem outras respostas que entram em detalhes mais profundos, mas o núcleo desta pergunta é realmente simples de responder:

"No entanto, ainda não tenho certeza de como você pode registrar um domínio externo em um local."

Registrar um nome de domínio e atribuir um endereço IP são duas coisas completamente diferentes e independentes.

Qualquer pessoa pode registrar qualquer nome de domínio por qualquer motivo; você pode até registrar um nome de domínio sem ter um endereço IP de destino. É preciso simplesmente pagar ao registrador de domínio, vasculhar a “papelada” virtual e depois, como mágica, você tem um nome de domínio. Tudo o que você paga quando registra um nome de domínio é o próprio nome do domínio e a capacidade - leia abaixo - de atribuir um endereço IP a um nome de domínio.

Porém, atribuir um endereço IP a esse nome de domínio é um processo totalmente diferente. Qualquer pessoa pode atribuir qualquer endereço IP a um nome de domínio se tiver controle sobre esse nome de domínio. O registrador de nomes de domínio não se preocupa ou se preocupa com a pilha de endereços brutos que você atribui a um nome de domínio.

Tudo o que um nome de domínio é é simplesmente um ponteiro que facilita a vida. Pense nisso como um alias para que as pessoas não precisem memorizar pilhas de números (IPv4) ou números e letras (IPv6).

É isso aí!

Mas o que aconteceu - como explicado na página que você visitou - não foi um “hack” de todos os sistemas no endereço “127.0.0.1” local do mundo, mas uma falha nesse sistema específico.

Mas, para esclarecer isso mais - e isso me fez tropeçar na maneira como você o escreveu - quando você declara:

Eu estava lendo um artigo sobre falsificação de solicitações no servidor . Nesse artigo, o invasor descobriu que o 127.0.0.1 estava aberto na Internet.

Também li esse artigo , e foi o que aconteceu: alguém estava usando uma ferramenta on-line que lhe permitia apontar essa ferramenta para qualquer endereço IP / nome de host. Quando apontaram a ferramenta, 127.0.0.1não foi que o endereço IP 127.0.0.1foi exposto à Internet. Em vez disso, a própria ferramenta tinha uma falha que permitia a qualquer pessoa investigar o servidor interno em que a ferramenta estava sendo executada 127.0.0.1. E como essa ferramenta era explicitamente uma ferramenta de hacking usada para detectar portas abertas e outras coisas, o uso 127.0.0.1desse aplicativo específico foi capaz de investigar sua própria rede localhost e - chave aqui - transmitir essas informações a alguém que acessa a ferramenta por apenas um navegador da web .

O risco apresentado não era que todos 127.0.0.1estivessem expostos à Internet, mas a codificação desleixada em uma ferramenta em um site permitiu que isso acontecesse.


8

O que há de tão especial no localtest.me ?

Aponta para 127.0.0.1 (localhost). Este endereço é sempre reservado para o computador local.

Existem outros? (E como encontrá-los?)

Sim. Google e Superusuário são seus amigos (como você descobriu).

Ainda não tenho certeza de como você pode registrar um domínio externo em um [IP] local. Isso é confuso, pois tracert localtest.menunca sai da máquina. Como isso é tratado no nível baixo?

Está faltando a solicitação DNS (externa) inicial . tracertexibe o caminho que um pacote segue, mas antes que um pacote possa ir a qualquer lugar, o computador deve saber o IP para o qual enviar. Com as ressalvas, se você nunca visitou o locatest.me antes, uma solicitação de DNS é feita aos resolvedores externos para descobrir que ele é mapeado para 127.0.0.1. Os dados retornados são então usados ​​localmente (por exemplo, para tracertou exibindo conteúdo da web). E lembre-se de que o DNS pode mapear qualquer nome de host para qualquer IP - ele não "sabe" se um IP é local ou não.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.