O que impede que os pacotes de dados sejam enviados diretamente para IP privado (para hacking / vírus / malware)?

1

Sou novo em redes e tenho muito do básico, mas não entendo como a Internet não conseguiu contato direto com seus dispositivos em sua rede local.

Eu sei que roteadores e NATs permitem que todos os seus dispositivos tenham o mesmo IP da sua rede, e encaminha os pedidos para a web e de volta para o cliente que os solicitou, mas minha pergunta é a seguinte:

Digamos que eu queira hackear o computador de alguém e eu conheço o IP da sua rede doméstica (roteador). Eu não poderia simplesmente transmitir dados para esse IP com dados codificados para ir para alguns dos endereços privados mais comuns (192.168.1.1-80, por exemplo) e realmente obter dados enviados para um dispositivo "privado"?

Normalmente, os IPs levam os dados diretamente de e para os dispositivos que fizeram uma solicitação, portanto, se eu soubesse de um IP de roteador e adivinhasse corretamente no IP privado, o que me impediria de invadir esse dispositivo?

Estou assumindo que há outro meio de rotear dados para o cliente correto que está acontecendo no roteador / NAT, que não é apenas IP, mas não tenho certeza de como isso é feito.

Ou é simplesmente que você PODERIA enviar dados mal-intencionados dessa maneira, mas não haveria nenhum benefício se todo o software não fizesse nada com os dados de qualquer maneira (não enviou um pedido).

Qualquer informação que eu encontre geralmente apenas fala sobre como os IPs privados permitem que menos IPs públicos sejam usados ​​em geral, e nunca mencionam o que corta o acesso a seus clientes IP privados para o mundo externo.

Alguém pode me explicar isso?

Jay5671
fonte
Quando roteador NATs um pacote memoriza (sourceIP: sourcePort, destinationIP: destinationPort) na tabela de sessão. Quando a resposta obtida é transferida de acordo com informações memorizadas. Se nenhum registro for encontrado na tabela de sessão, o roteador descartará o pacote como recebido por engano. Por isso, não será transferido para a rede privada.
Akina

Respostas:

0

Não entendo como a Internet não conseguiu contato direto com seus dispositivos em sua rede local.

Normalmente, os IPs levam os dados diretamente de e para os dispositivos que fizeram uma solicitação

Tenha em mente que o design original da Internet é que esta é a maneira como as coisas devem funcionar - a Internet é supostamente "end-to-end" e os endereços IP devem ser literalmente globais - como em qualquer lugar um determinado IP endereço está no mundo, eu posso falar com ele e ele pode conversar comigo.

O problema é que ficamos sem endereços IPv4, então esquemas como NAT tiveram que ser usados.

O NAT não era como as coisas deveriam funcionar e, embora tenha benefícios de segurança como um efeito colateral, quebra o princípio de ponta a ponta da Internet e incentiva serviços que não fazem nada além de atuar como intermediários - bom para segurança / aluguel. coleção, ruim para a liberdade / pessoas pobres.

Eu sei que roteadores e NATs permitem que todos os seus dispositivos tenham o mesmo IP da sua rede

Só aparece desta maneira fora da sua rede.

Por trás de sua rede, cada sistema tem um IP exclusivo - de um dos intervalos de IP privados.

O NAT gerencia essa ilusão no seu roteador para que os sistemas atrás do roteador possam alcançar outros IPs, e os IPs podem falar com os sistemas atrás do roteador se as portas forem encaminhadas corretamente.

Eu não poderia simplesmente transmitir dados para esse IP com dados codificados para ir para alguns dos endereços privados mais comuns (192.168.1.1-80 por exemplo) e realmente obter dados enviados para um dispositivo "privado"

Não.

192.168.1.80 não existe na Internet. Só existe atrás de roteadores NAT. Você chegou atrás de um roteador NAT primeiro. A única maneira de fazer isso é falar primeiro com o IP público do roteador NAT.

Por uma questão de fato - se o IP 192.168.1.80 e seu próprio IP estiverem na mesma sub-rede, o que acontecerá é que o tráfego nem sairá da sua rede - seu sistema tentará acessar 192.168.1.80 fora da NIC local e nem vai chegar ao seu roteador.

então, se eu soubesse de um IP de roteador e adivinhasse corretamente o IP privado, o que me impediria de invadir esse dispositivo?

Os roteadores NAT monitoram e rastreiam conexões de entrada.

Se uma nova conexão TCP estiver tentando se conectar a uma porta encaminhada, só então eles encaminharão os dados para o sistema atrás do roteador.

O UDP é sem conexão, portanto, um roteador NAT, se estiver fazendo seu trabalho corretamente, não encaminhará o tráfego UDP que não foi visto em um tempo para um sistema por trás dele. É possível enganar os roteadores NAT com UDP devido à sua natureza sem conexão, mas somente se você puder primeiro obter o sistema por trás dele para enviar algo nessa porta e convencer o roteador NAT que o tráfego de entrada pode estar voltando. Existem alguns protocolos que dependem de algo assim, como o STUN, por exemplo.

LawrenceC
fonte
0

Só porque você sabia que o endereço IP público do roteador, bem como um endereço interno, não torna automaticamente o endereço interno publicamente endereçável.

O IP permite que você se conecte a um endereço público, não implica automaticamente que haja endereços por trás desse endereço público ou forneça qualquer meio de encaminhar dados, mesmo que houvesse.

O endereço é "vá para esta máquina e esta porta", não "vá para esta máquina e porta, e uma vez lá encaminhar para outra máquina e porta, e de lá este de outros endereço e porta "

Pense nisso como alguém lhe enviando uma carta. Os correios não se preocupam com quem está no endereço, só que eles colocam o post no slot direito. Se o post é através do slot, então alguém no endereço deve olhar para a carta e descobrir quem a carta precisa para chegar.

O mesmo acontece em uma rede, mas o NAT não permite "Jim" como um endereço interno permanente, os mapeamentos internos para externos ocorrem quando algo interno à rede chega à Internet solicitando uma conexão. Nesse momento, ele efetivamente cria uma caixa de correio "jimTmp12345 @ PublicIP", que é usada até que a conexão seja fechada, ponto em que o endereço é inválido e qualquer coisa endereçada a ele é descartada no aterro local.

Mokubai
fonte
0

A maioria dos roteadores NAT também será configurada para atuar como um firewall, não apenas um roteador.

Considere a seguinte rede:

example network


Sem NAT, os dispositivos devem se comunicar diretamente:

  • 192.168.1.2 quer falar com 192.168.0.2
    • Sua rota padrão é 192.168.1.1 (Roteador A)
    • O roteador A sabe disso 192.168.0.0/24 é acessível via 198.51.100.2 (Roteador B)
    • O roteador B está conectado diretamente 192.168.0.0/24 e entrega o pacote
  • 192.168.0.2 quer responder a 192.168.1.2
    • Sua rota padrão é 192.168.0.1 (Roteador B)
    • O roteador B sabe que 192.168.1.0/24 é acessível via 198.51.100.1
    • O roteador A está diretamente conectado 192.168.1.0/24 e entrega o pacote

Com NAT no roteador A, mas não roteador B, as coisas mudam um pouco:

  • 192.168.1.2 quer falar com 192.168.0.2
    • Sua rota padrão é 192.168.1.1 (Roteador A)
    • O roteador A está configurado para " Mascaramento de IP ", então reescreve o endereço de origem como 192.51.100.1 (é interface externa)
    • O roteador A sabe disso 192.168.0.0/24 é acessível via 198.51.100.2 (Roteador B)
    • O roteador B está conectado diretamente 192.168.0.0/24 e entrega o pacote
  • 192.168.0.1 quer responder a 198.51.100.1
    • Sua rota padrão é 192.168.0.1 (Roteador B)
    • O roteador B está conectado diretamente 198.51.100.0/24 e entrega o pacote
    • O Roteador A revê sua tabela de conversão e reescreve o destino como 192.168.1.1
    • O roteador A está diretamente conectado 192.168.1.0/24 e entrega o pacote

Neste ponto, há nada para impedir que um host use 192.51.100.1 como um roteador, e pedindo para encaminhar um pacote para 192.168.1.2... Nada . As respostas provavelmente são mascaradas, então a comunicação pode ser um pouco " desafiador ", mas comunicação é comunicação.

Expandindo isso para " a Internet "pode ​​mudar meu" Não há nada para parar ... "declaração um pouco. Eu não tenho material de apoio, mas eu ficaria muito surpreso se os roteadores de internet estivessem realmente configurados para o tráfego redirecionado direcionado a um endereço de rede privada. Em vez disso, eles provavelmente descartariam esses pacotes. O resultado é que a internet provavelmente não funcionará, mesmo se o roteador estiver mal configurado.

Além disso, devido a como o roteamento funciona (ou seja, se um host não está na rede local, o endereço MAC é direcionado ao roteador, enquanto o endereço IP tem como alvo o host final), não há como usar do 192.51.100.1 como um roteador, a menos que A) você esteja conectado a ele; ou B) rotas existentes irão empurrar seu tráfego em sua direção.


Para evitar que outros hosts simplesmente usem 198.51.100.1 Como um roteador simples, regras de firewall são necessárias.

Uma abordagem é rejeitar (ou descartar) pacotes de entrada na interface externa do Roteador A ( 198.51.100.1 ) que não são explicitamente direcionados ao seu endereço.

Isso também resolverá modelo de host fraco que o Linux implementa (por exemplo: o roteador B pode se comunicar com o roteador A através dele externo interface, usando o endereço atribuído ao interno interface).

Attie
fonte
0

[NAT] encaminha os pedidos para a web e de volta para o cliente que solicitou

certo, mas como um ponto de esclarecimento sobre como isso funciona: NAT faz com que seus endereços IP privados pareçam um endereço IP público, normalmente antes que o tráfego saia da sua rede. Assim, a web não direciona o tráfego de volta para o seu endereço IP privado. A web retorna o tráfego para o endereço IP público onde você é visto.

Número de problema 1:

Eu acho que se você entender como o NAT funciona em detalhes, isso ajudará a responder algumas de suas perguntas. A implementação mais típica que eu vi é NAPT ("Network Address Port" baseado em tradução). Quando você envia dados de um endereço particular, o roteador pega esse endereço particular e adiciona essas informações a um gráfico / tabela na memória do roteador. O roteador também escolhe um número de porta TCP ou UDP (provavelmente selecionado aleatoriamente) e controla o mesmo gráfico / tabela. O roteador envia as informações para a Internet usando o endereço IP público e identifica o número da "porta de origem" como o número escolhido. (TCP e UDP usam dois números de porta: um número de "fonte" e um número de "destino"). Quando o destino (digamos, um servidor da Web escutando na porta TCP 443) percebe o tráfego indo para a porta TCP 443 e vindo de uma porta TCP diferente (por exemplo, porta TCP 53874), esse servidor pode responder enviando tráfego de volta para o endereço IP público do roteador de origem na mesma porta TCP (por exemplo, porta TCP 53874). O roteador procura informações em sua tabela / gráfico e sabe qual endereço IP privado para enviar as informações.

Se você apenas escolheu um endereço IP privado aleatoriamente, o roteador não deveria ter esse endereço IP privado em sua tabela / gráfico, de modo que não funcionaria.

Estou assumindo que há outro meio de rotear dados para o cliente correto que está acontecendo no roteador / NAT, que não é apenas IP, mas não tenho certeza de como isso é feito.

Não.

Quero dizer, bem, sim, existe. Existe algum outro roteamento que pode ocorrer e, portanto, apenas reconheço isso rapidamente. Há o uso da marcação "VLAN" 802.1q e outras tecnologias que podem ser usadas para algumas nuvens de dados / sinalização, e podem afetar a forma como o tráfego acaba passando por uma rede. No entanto, esses métodos de roteamento adicionais são normalmente implantados para fins de velocidade, segurança ou compatibilidade (principalmente com redes não IP, como talvez algumas redes mais antigas dentro de uma companhia telefônica). Você não precisa realmente pensar que essas avançadas técnicas de rede de nível profissional introduzirão uma parte nova e necessária de entender como o roteamento básico funciona, porque o roteamento básico de IP simples pode ser usado para explicar o que você está perguntando.

Questão nº 2: as defesas internas do roteador

Agora, vamos apenas fingir que o roteador não está executando o NAPT, então vamos ignorar toda a tabela / gráfico que corresponde a números de porta TCP / UDP públicos para endereços privados. Vamos apenas fingir que você está no ISP do cliente e deseja enviar o pacote de maneira mal-intencionada através do roteador para os endereços IP privados do cliente.

A maioria dos roteadores, executando algumas ações muito básicas semelhantes a firewall, perceberá que o tráfego de entrada está chegando na porta rotulada como "WAN" (que significa "Wide-Area Network"). Para fornecer alguma proteção, os roteadores perceberão que o tráfego de entrada nessa porta de rede deve estar usando o endereço IP público do roteador e, certamente, nenhum dos intervalos de endereços IP "privados" comuns.

Assim, o roteador irá defender a rede descartando o pacote.

Questão 3: ISPs nos protegem melhor

O padrão para qualquer ISP é não permitir tráfego para ou a partir dos intervalos de endereços IP privados (que são os intervalos de endereços de rede identificados em IETF RFC 1918 Seção 3 para IPv4 ou endereços que começam com "fd" para IPv6).

Então, se você está tentando enviar tráfego da sua casa, através do seu ISP, e através do resto do principal backbone da Internet do ISP, então através do ISP da vítima, através do roteador da sua vítima, e finalmente para o IP privado endereço de sua escolha, então você deveria falhar. Isso ocorre porque os ISPs geralmente seguem a convenção de bloquear o tráfego envolvendo os endereços IP privados. (ISP seria louco para não fazer isso.)

No cenário acima, a proteção não é fornecida pelo provedor da vítima-alvo. Concedido, o ISP da vítima-alvo provavelmente está configurado para eliminar os pacotes, protegendo assim o roteador da vítima-alvo. No entanto, é provável que o seu ISP deixe cair os pacotes, para que os pacotes não atinjam o ISP da vítima alvo.

Questão 4: Motivação do ISP

Por que os ISPs estariam loucos para permitir o tráfego envolvendo IPs privados?

Bem, lembre-se de que todas as organizações podem usar os endereços IP privados para suas próprias redes internas. Isso inclui ISPs. Seu ISP pode estar usando o endereçamento privado para alguns equipamentos locais do ISP. Você não deve ser capaz de perceber / detectar se eles estão fazendo isso ou não.

A maneira que o tráfego de rota do ISP é que eles dependem de "tabelas de roteamento" que determinam para onde o tráfego deve ir em seguida. Essas "tabelas de roteamento" não especificam qual outro ISP terá prazer em receber tráfego que tenha um endereço particular como destino. O ISP não terá para onde enviar o tráfego, exceto para alguns dos seus próprios equipamentos internos. Como muito tráfego envolvendo endereços IP privados pode ser malicioso ou problemático (talvez envolvendo tráfego proveniente de um dispositivo configurado incorretamente), o ISP certamente não deseja que esse tráfego seja enviado para seu próprio equipamento interno ( e possivelmente causando problemas para o ISP). Portanto, o ISP desejará bloquear os pacotes que vão para um endereço particular imediatamente , antes de permitir o tráfego através da rede do ISP.

Se um ISP quebrasse essas regras, o ISP provavelmente estaria convidando tráfego malicioso que provavelmente não teria nenhum efeito (além de usar largura de banda), mas se houvesse algum efeito, isso provavelmente seria ruim para o ISP.

Questão 5: O que realmente aconteceria?

Até agora, expliquei por que a Internet bloqueará o tráfego. Mas vamos ver o que realmente vai acontecer.

Se você está sentado em seu computador e decide enviar um pacote mal-intencionado para um endereço IP privado, o que vai acontecer?

Se o tráfego chegasse até o seu ISP local, esse ISP local bloquearia o tráfego imediatamente, como já explicado.

No entanto, o que provavelmente acontecerá é que o tráfego não chegará ao seu provedor local. Em vez disso, seu roteador local descobrirá o que fazer com esse tráfego.

Se você não estiver usando o mesmo endereço IP "privado", o seu próprio roteador provavelmente não saberá o que fazer com o tráfego, portanto, o tráfego será descartado.

Caso contrário, se você estiver usando o mesmo endereço de "IP privado", provavelmente estará atacando um dispositivo na rede em que está. Se você é o administrador dessa rede, você estaria atacando sua própria rede!

Em qualquer caso, o seu roteador não é provável (ao usar configurações padrão comuns) para passar o tráfego pela Internet.

Reveja:

Todas essas questões são sobre o motivo de a Internet não permitir seu ataque a um endereço IP privado. Se você estiver na mesma rede local que seu alvo, talvez nem precise passar por um roteador, portanto, nenhuma dessas defesas estará em seu caminho. No entanto, se você estiver em outro lugar na Internet, essas defesas provavelmente atrapalharão a tentativa de ataque.

Embora seja possível violar certas regras padrão com (pelo menos alguns tipos de) roteadores que você pode controlar, outras organizações também bloquearão endereços IP privados, evitando assim ataques a sistemas remotos.

TOOGAM
fonte