Eu estava lendo um artigo sobre falsificação de solicitações no servidor . Nesse artigo, o atacante descobriu que 127.0.0.1
estava 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.
O que há de tão especial
localtest.me
?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.me
nunca 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.
bealocalhost.de
Respostas:
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:É isso aí. Quem pergunta
localtest.me
agora 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 corridotracert 127.0.0.1
. Nenhuma mágica.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.
fonte
Existem outras respostas que entram em detalhes mais profundos, mas o núcleo desta pergunta é realmente simples de responder:
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:
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.1
não foi que o endereço IP127.0.0.1
foi 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 executada127.0.0.1
. E como essa ferramenta era explicitamente uma ferramenta de hacking usada para detectar portas abertas e outras coisas, o uso127.0.0.1
desse 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.1
estivessem expostos à Internet, mas a codificação desleixada em uma ferramenta em um site permitiu que isso acontecesse.fonte
Aponta para 127.0.0.1 (localhost). Este endereço é sempre reservado para o computador local.
Sim. Google e Superusuário são seus amigos (como você descobriu).
Está faltando a solicitação DNS (externa) inicial .
tracert
exibe 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, paratracert
ou 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.fonte