Usurpação de endereço IP (Mystification/Spoofing)

Junho 2017

A usurpação de endereço IP


A “usurpação de endereço IP” (em inglês spoofing IP) é uma técnica que consiste em substituir o endereço IP do remetente de um pacote IP pelo endereço IP de uma outra máquina.


Esta técnica permite assim a um pirata enviar pacotes anonimamente. Não se trata de uma mudança de endereço IP, mas de um disfarce do endereço IP a nível dos pacotes emitidos.


Assim, alguns tendem a assimilar a utilização de um proxy (que permite mascarar de certa maneira o endereço IP) com o spoofing IP. Contudo, o proxy apenas retransmite os pacotes. Assim ainda que o endereço aparentemente esteja mascarado, um pirata pode facilmente ser reencontrado graças ao ficheiro de registos do proxy.

Ataque por usurpação

A técnica da usurpação de endereço IP pode permitir a um pirata de passar pacotes numa uma rede sem que estes sejam interceptados pelo sistema de filtragem de pacotes (firewalls).

Com efeito, um sistema firewall funciona, na maior parte do tempo, graças a regras de filtragem que indicam os endereços IP autorizados a comunicar com as máquinas internas à rede.

/s/image-http-static-commentcamarche-net-pt-kioskea-net-pictures-assemblage-attaques-images-spoofingfirewall-gif

Assim, um pacote spoofado com o endereço IP de uma máquina interna parecerá provir da rede interna e será retransmitido à máquina alvo, enquanto um pacote que contém um endereço IP externo será rejeitado automaticamente pelo firewall.


Contudo, o protocolo TCP (protocolo que assegura principalmente o transporte fiável de dados na Internet) assenta em relações de autenticação e de aprovação entre as máquinas de uma rede, o que significa que, para aceitar o pacote, o destinatário deve anteriormente acusar recepção junto do emissor, este último deve de novo acusar recepção do aviso de recepção.

Modificação da rubrica TCP

Na Internet, as informações circulam graças ao protocolo IP, que assegura a introdução dos dados em estruturas chamadas pacotes (ou mais exactamente datagrama IP). Eis a estrutura de um datagrama :



Usurpar um endereço IP consiste em alterar o campo fonte a fim de simular um datagrama que provém doutro endereço IP. Contudo, na Internet, os pacotes são transportados geralmente pelo protocolo TCP, que assegura uma transmissão dita “fiável”.

Antes de aceitar um pacote, uma máquina deve acusar recepção deste junto da máquina emissora, e esperar que esta última confirma a boa recepção da acusação.


As relações de aprovação

O protocolo TCP é um dos principais protocolos da camada transporte do modelo TCP/IP. Permite, ao nível das aplicações, gerir os dados em proveniência (ou com destino) da camada inferior do modelo (quer dizer, o protocolo IP).

O protocolo TCP permite assegurar a transferência dos dados de maneira fiável, embora utilize o protocolo IP (que não integra nenhum controlo de entrega de datagrama) graças a um sistema de avisos de recepção (ACK) que permitem ao cliente e ao servidor assegurar-se da boa recepção mútua dos dados.

As datagramas IP introduzem pacotes TCP (chamados segmentos), cuja estrutura é aqui apresentada:


012345678910111213141516171819202122232425262728293031
Porta Fonte Porta destino

Número de ordem

Número de aviso de recepção

Desfasamento
dados

reservado
URG ACK PSH RST SYN FIN
Janela

Soma de controlo

Ponteiro de emergência
Opções  

Dados



Aquando da emissão de um segmento, um número de ordem (chamado também número de sequência) é associado, e uma troca de segmentos que contêm campos específicos (chamados bandeiras, em ingleses flags) permite sincronizar o cliente e o servidor.
Este diálogo (chamado aperto de mãos em três tempos) permite iniciar a comunicação, desenrola-se em três tempos, como a sua denominação o indica:

  • Inicialmente, a máquina emissora (o cliente) transmite um segmento cuja bandeira SYN é de 1 (para assinalar que se trata de um segmento de sincronização), com um número de ordem NO., que se chama número de ordem inicial do cliente.
  • Subsequentemente, a máquina receptora (o servidor) recebe o segmento inicial que provém do cliente, seguidamente envia-lhe um aviso de recepção, quer dizer, um segmento cuja bandeira ACK é não nula (aviso de recepção) e a bandeira SYN é de 1 (porque se trata ainda de uma sincronização). Este segmento contém um número de sequência igual ao número de ordem inicial do cliente. O campo mais importante deste segmento é o campo aviso de recepção (ACK) que contém o número de ordem inicial do cliente, incrementado de 1.
  • Por último, o cliente transmite ao servidor um aviso de recepção, quer dizer um segmento cuja bandeira ACK é não nula, e cuja bandeira SYN é à zero (não se trata mais de um segmento de sincronização). O seu número de ordem é incrementado e o número de aviso de recepção representa o número de sequência inicial do servidor incrementado de 1.

A máquina spoofada vai responder com um pacote TCP cuja bandeira RST (restaurar) é não nula, que porá fim à conexão.

Aniquilar a máquina spoofada

No âmbito de um ataque por usurpação de endereço IP, o atacante não tem nenhuma informação de retorno porque as respostas da máquina alvo vão para outra máquina da rede (fala-se então de ataque às cegas), em inglês blind attack).

/s/image-http-static-commentcamarche-net-pt-kioskea-net-pictures-assemblage-attaques-images-synack-gif


Além disso, a máquina “spoofada” priva o hacker de qualquer tentativa de conexão, porque envia sistematicamente uma bandeira RST à máquina alvo. O trabalho do pirata consiste então em invalidar a máquina spoofada tornando-a incontactável durante toda a duração do ataque.

Prever os números de sequência


Quando a máquina spoofada está invalidada, a máquina alvo espera um pacote que contém o aviso de recepção e o bom número de sequência. Todo o trabalho do pirata consiste então “em adivinhar” o número de sequência a retornar ao servidor para que a relação de confiança seja estabelecida.

Para isso, os piratas utilizam geralmente a fonte routing, quer dizer que utilizam o campo opção da rubrica IP a fim de indicar uma estrada de regresso específica para o pacote. Assim, graças ao sniffing, o pirata será capaz de ler o conteúdo das tramas de regresso…

 

/s/image-http-static-commentcamarche-net-pt-kioskea-net-pictures-assemblage-attaques-images-synack2-gif


Assim, conhecendo o último número de sequência emitido, o pirata estabelece estatísticas relativas à sua incrementação e envia avisos de recepção até obter o bom número de sequência.

Mais informações

Veja também


IP address spoofing
IP address spoofing
Suplantación de dirección IP
Suplantación de dirección IP
Vortäuschung einer IP Adresse (Verschleierung / Spoofing)
Vortäuschung einer IP Adresse (Verschleierung / Spoofing)
Usurpation d'adresse IP (Mystification / Spoofing)
Usurpation d'adresse IP (Mystification / Spoofing)
Spoofing di indirizzo IP
Spoofing di indirizzo IP
Última modificação: 16 de junho de 2009 às 18:20 por owliance.pt_004.
Este documento, intitulado 'Usurpação de endereço IP (Mystification/Spoofing)', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.