localhost pode ser falsificado?

9

É possível que uma máquina remota acesse os dados do host local de outra máquina falsificando o ip de loopback?

Digamos que se eu quisesse uma configuração em que, se estiver me conectando de algum lugar fora da minha própria rede, precisarei fornecer credenciais de login e minha senha será necessária para todas as operações confidenciais. No entanto, se eu estiver conectando no meu computador, essas credenciais não serão necessárias, pois preciso fazer login no meu sistema operacional para acessar a rede nesse dispositivo de qualquer maneira. Posso confiar no endereço de loopback como medida de segurança dessa maneira? Ou é possível que um invasor faça parecer que está se conectando localmente?

bee.catt
fonte
Eu não acredito.
precisa
1
Você quer dizer que a máquina receba um pacote falsificado que parece ter vindo do 127.0.0.1? Ou você quer dizer que a máquina receba um pacote falsificado endereçado a 127.0.0.1?
21712 David Schwartz
Quero dizer, basicamente, alguém pode invadir meus dados de host local e fazer o que quiser, fingindo ser localhost.
21412 bee_catt
Não está claro o que significa "invadir meus dados do host local". Isso significa que sua máquina recebe um pacote que parece vir de 127.0.0.1?
David Schwartz

Respostas:

12

Não.

É possível enviar dados como 127.0.0.1 falsos, mas a resposta vai "sair" (na verdade fica dentro) da interface de loopback e fica "perdida".

Se houver um roteador a caminho, ele enviará o pacote através de sua própria interface de loopback e será perdido lá.

mulaz
fonte
ok, então, se estou entendendo tudo isso corretamente, um invasor pode enviar algo para IN, mas não conseguirá recuperar nada, porque a natureza do loopback é que ele só fala consigo mesmo. Se isso estiver correto, um invasor poderia enviar um código malicioso que possibilita a conexão remota ou apenas algum código que geralmente quebra as coisas?
21412 bee_catt
você tem uma tabela de roteamento no seu pc, que diz quais pacotes saem para onde. (rota -n em * nix). Você tem uma entrada lá para 127.0.0.0/8 sair pela interface de loopback (na verdade não sai, pois é um loopback). Portanto, se o invasor da sua LAN enviar um pacote para o seu PC, seu PC poderá aceitá-lo, mas o pacote de retorno será perdido, pois permanecerá dentro do seu PC (enviado 'para fora do loopback)
mulaz
1
Uma ideia interessante. No entanto, a interface de loopback não possui endereço MAC. Portanto, você teria que ter o MAC dos computadores de destino (NIC de destino técnico) em combinação com um IP que não pertence a esse MAC e esperar que a pilha de rede receptora o aceite. E então o pacote precisa ser aceito por algo que espera dados e provavelmente também escuta no IP real. Ainda assim, um bom pensamento.
Hennes
Você pode usar o mac a partir da placa Ethernet (quando você envia um pacote para, digamos, googles 8.8.8.8, envia-o para o seu roteador MAC com 8.8.8.8 como IPstst. A máquina precisa ter o encaminhamento de IP ativado, é claro.
mulaz 27/07/12
e os ataques no avião de controle? Com um endereço de origem criado como 127.0.0.1, é possível ignorar algumas ACLs?
sdaffa23fdsf
6

Sim. Surpreendentemente, é possível falsificar um endereço de origem de loopback. Obviamente, você não receberá respostas, portanto, seu pacote falsificado também precisa incluir uma exploração. Além disso, ele será parado em um roteador, portanto, você precisa estar na mesma rede local que a vítima. O orifício remoto CVE-2014-9295 foi explorável dessa maneira.

Acontece que o OS X e o Linux Kernel se comportam da mesma forma neste caso. Qualquer pacote IP que chegue em uma interface externa e com o IP 127.0.0.1 de origem será descartado imediatamente. Mas se usarmos o IPv6, poderemos falsificar :: 1 e enviar pacotes de modo de controle para o daemon (algumas distribuições Linux possuem regras de firewall em vigor que protegem contra isso, por exemplo, Red Hat). Assim, se estivermos na mesma rede local, podemos enviar pacotes falsificados para o endereço local do link do destino e ignorar as restrições de IP.

http://googleprojectzero.blogspot.de/2015/01/finding-and-exploiting-ntpd.html

sourcejedi
fonte
Esta é a resposta real ...
DeepS1X
3

Os dados de loopback geralmente nunca chegam à rede. É interceptado e, bem, volta em loop, antes que isso aconteça. Como ele nunca atinge a rede real, nada na rede pode interceptá-lo.

Hennes
fonte
1

Não. O loopback é codificado /etc/hosts- este é o primeiro lugar em que o resolvedor procurará a conversão de loopback para ip. A menos que você consiga editar os / etc / hosts, não poderá fazê-lo.

Se você pode editar o / etc / hosts, é um administrador e pode fazer qualquer coisa.

mnmnc
fonte