arpspoofing

Differences between revisions 1 and 20 (spanning 19 versions)
Revision 1 as of 2009-10-08 15:11:12
Size: 667
Comment:
Revision 20 as of 2011-09-19 23:18:13
Size: 6765
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= MEDIA ACCESS CONTROL (MAC) = ||<tablebgcolor="#feffbe" tablewidth="30%" tablestyle="margin: 0pt 0pt 1em 1em; float: right; font-size: 0.9em;"style="padding: 0.5em;">'''Conteúdo'''<<BR>><<TableOfContents>><<BR>>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||

= ARP SPOOFING =

Tambem conhecido como '''ARP POISONING''' ou '''ARP POISON ROUTING''', é a técnica utilizada em redes cabeadas e ''wireless'' que permite ao atacante capturar informações, modificar o tráfego ou bloqueá-lo causando DOS (''Deny of Service'').
Para um melhor entendimento, alguns conceitos fundamentais para o entendimento do seu funcionamento serão abordados de forma inicial. Posteriormente, será abordado o funcionamento teórico do ARP Spoofing e finalmente algumas ferramentas disponíveis no repositório do Ubuntu para podermos criar um laboratório a fim de se testar as teorias envolvidas.

||<#ffcfcf : tablewidth="70%" style="border:0;padding:0.6em;-moz-border-radius-topleft:15px;-moz-border-radius-bottomleft:15px;">{{attachment:Icones/erro.png}} ||<#ffcfcf style="border:0;padding:0.6em;-moz-border-radius-topright:15px;-moz-border-radius-bottomright:15px;color:#ef1d1d;">'''ATENÇÃO:''' O objetivo desse material é apenas difundir o conhecimento já amplamente conhecido na ciência computacional bem como promover a discussão sobre soluções para a questão exposta. A aplicação de qualquer técnica descrita nesse documento é de inteira responsabilidade do leitor. Se você tem dúvidas sobre o que pode ou não fazer com o conhecimento aqui descrito, é sugerido que você consulte um advogado capacitado. ||

== MEDIA ACCESS CONTROL (MAC) ==
Line 4: Line 13:

== ADDRESS RESOLUTION PROTOCOL (ARP) ==

Protocolo utilizado fundamentalmente para traduzir endereços IP em endereços MAC.

=== FUNCIONAMENTO DO PROTOCOLO ARP PARA RESOLUÇÃO DE ENDEREÇOS MAC ===

Abaixo um exemplo onde a máquina origem (10.1.1.2) deseja saber para qual endereço físico deve enviar os seus pacotes sendo que deseja enviá-los para uma máquina destino específica (10.1.1.4).

 * Primeiramente a máquina de origem envia um pacote ARP para o endereço de ''broadcast'' (FF:FF:FF:FF:FF:FF) perguntando quem é o destino (10.1.1.4).
{{http://img110.imageshack.us/img110/1087/arpspoofing1.png}}
 * Após receber o pacote destinado ao endereço de ''broadcast'' (FF:FF:FF:FF:FF:FF) a máquina que possui o endereço IP de destino (10.1.1.4) responde através de um pacote ARP informando seu endereço MAC.
{{http://img18.imageshack.us/img18/1747/arpspoofing2.png}}
 * A origem (10.1.1.2) após receber o pacote de resposta estabelece a conexão física e agora pode enviar diretamente os pacotes para o destino (10.1.1.4)
{{http://img18.imageshack.us/img18/4507/arpspoofing3.png}}

== ATAQUE SPOOFING ==

É a situação na qual uma pessoa ou um programa age como outro falsificando dados e provavelmente obtendo uma vantagem ilegítima.

== FUNCIONAMENTO DO ARP SPOOFING ==

Abaixo um exemplo onde a máquina origem (10.1.1.2) deseja saber para qual endereço físico deve enviar os seus pacotes sendo que deseja enviá-los para uma máquina destino específica (10.1.1.4). Nesse exemplo adicionaremos a rede uma máquina que iremos tratar como atacante (10.1.1.6).

 * Primeiramente a máquina de origem envia um pacote ARP para o endereço de ''broadcast'' (FF:FF:FF:FF:FF:FF) perguntando quem é o destino (10.1.1.4)
{{http://img258.imageshack.us/img258/2193/arpspoofing4.png}}
 * Após receber o pacote destinado ao endereço de ''broadcast'' (FF:FF:FF:FF:FF:FF) a máquina que possui o endereço IP de destino (10.1.1.4) responde através de um pacote ARP informando seu endereço MAC. Nesse momento o atacante (10.1.1.6) envia o pacote antes da legítima origem (10.1.1.4).
{{http://img258.imageshack.us/img258/9233/arpspoofing5.png}}
 * A origem (10.1.1.2) após receber o pacote de resposta estabelece a conexão física com o atacante (10.1.1.6) e não com o verdadeiro destino formando a conexão física com o atacante que redireciona os pacotes para a legítima origem. Nesse caso toda a comunicação passará pelo atacante.
{{http://img258.imageshack.us/img258/1939/arpspoofing6.png}}

== FERRAMENTAS ARP SPOOFING ==

Existem diversos exemplos de como pode-se manipular o cabeçalho do protocolo ARP em diversas linguagens (1), contudo para a exemplificação prática sugere-se o uso da ferramenta '''arpspoof''' do '''dsniff''' (2). Você pode baixar (3) o pacote '''dsniff''' ou instalá-lo no seu Ubuntu através do comando:
{{{
sudo apt-get install dsniff
}}}

=== CONFIGURAÇÕES DE REDIRECIONAMENTO ===

Para que após o ''spoofing'' os pacotes sejam redirecionados ao legítimo destinatário você deve habilitar o ''ip_forward'' no diretório virtual do kernel Linux (/proc)
{{{
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
}}}

=== USO DA FERRAMENTA arpspoof ===

O uso do arpspoof no exemplo teórico descrito acima seria:
{{{
sudo arpspoof -i eth0 10.1.1.4 -t 10.1.1.2
}}}

== CONCLUSÕES ==

Nesse material foi exposta a parte teorica e prática do ARP Spoofing. Nesse exemplo o atacante poderia utilizar um ''sniffer'', como por exemplo o '''wireshark''' e analisar o tráfego que não utilize SSL. Sendo assim, é evidente a importância e necessidade de utilizarmos criptografia para garantirmos a integridade e o sigilo de informações importantes. Ferramentas como o '''arpwatch''' podem monitar conjuntos de endereços IP e endereços MAC de forma automatizada para que possamos detectar ARP Spoofing em nossa rede (4 e 5) e atualmente estão também disponiveis nos repositórios do Ubuntu.

== REFERÊNCIAS ==

 1. http://www.uinc.ru/articles/21/send_arp.c
 2. http://www.monkey.org/~dugsong/dsniff
 3. http://packages.ubuntu.com/search?keywords=dsniff
 4. http://ee.lbl.gov
 5. http://packages.ubuntu.com/search?keywords=arpwatch

== CRÉDITOS ==

||'''Autores:''' [[http://wiki.ubuntu-br.org/RenatoKrause|Renato Krause]] || '''Data:''' 08/10/2009 ||
||||<style="text-align: center;"> [[http://wiki.ubuntubrasil.org/TimeDeDocumentacao|Time de Documentação do Ubuntu Brasil]] ||

ARP SPOOFING

Tambem conhecido como ARP POISONING ou ARP POISON ROUTING, é a técnica utilizada em redes cabeadas e wireless que permite ao atacante capturar informações, modificar o tráfego ou bloqueá-lo causando DOS (Deny of Service). Para um melhor entendimento, alguns conceitos fundamentais para o entendimento do seu funcionamento serão abordados de forma inicial. Posteriormente, será abordado o funcionamento teórico do ARP Spoofing e finalmente algumas ferramentas disponíveis no repositório do Ubuntu para podermos criar um laboratório a fim de se testar as teorias envolvidas.

Icones/erro.png

ATENÇÃO: O objetivo desse material é apenas difundir o conhecimento já amplamente conhecido na ciência computacional bem como promover a discussão sobre soluções para a questão exposta. A aplicação de qualquer técnica descrita nesse documento é de inteira responsabilidade do leitor. Se você tem dúvidas sobre o que pode ou não fazer com o conhecimento aqui descrito, é sugerido que você consulte um advogado capacitado.

MEDIA ACCESS CONTROL (MAC)

É o endereço físico de uma placa de rede. Possui tamanho fixo de 48 bits e é geralmente representado na forma hexadecimal através de seis octetos (Exemplo: 01:23:45:67:89:AB). Os três primeiros octetos identificam o fabricante que juntamente com os três octetos subsequentes compõe uma identificação que deve ser única em uma determinada rede. Possui um endereço de broadcast (FF:FF:FF:FF:FF:FF) que tem por finalidade representar todos os endereços MAC de uma determinada rede. Isso significa que enviando pacotes para o endereço broadcast você estará enviando pacotes para todos os endereços MAC da rede.

ADDRESS RESOLUTION PROTOCOL (ARP)

Protocolo utilizado fundamentalmente para traduzir endereços IP em endereços MAC.

FUNCIONAMENTO DO PROTOCOLO ARP PARA RESOLUÇÃO DE ENDEREÇOS MAC

Abaixo um exemplo onde a máquina origem (10.1.1.2) deseja saber para qual endereço físico deve enviar os seus pacotes sendo que deseja enviá-los para uma máquina destino específica (10.1.1.4).

  • Primeiramente a máquina de origem envia um pacote ARP para o endereço de broadcast (FF:FF:FF:FF:FF:FF) perguntando quem é o destino (10.1.1.4).

http://img110.imageshack.us/img110/1087/arpspoofing1.png

  • Após receber o pacote destinado ao endereço de broadcast (FF:FF:FF:FF:FF:FF) a máquina que possui o endereço IP de destino (10.1.1.4) responde através de um pacote ARP informando seu endereço MAC.

http://img18.imageshack.us/img18/1747/arpspoofing2.png

  • A origem (10.1.1.2) após receber o pacote de resposta estabelece a conexão física e agora pode enviar diretamente os pacotes para o destino (10.1.1.4)

http://img18.imageshack.us/img18/4507/arpspoofing3.png

ATAQUE SPOOFING

É a situação na qual uma pessoa ou um programa age como outro falsificando dados e provavelmente obtendo uma vantagem ilegítima.

FUNCIONAMENTO DO ARP SPOOFING

Abaixo um exemplo onde a máquina origem (10.1.1.2) deseja saber para qual endereço físico deve enviar os seus pacotes sendo que deseja enviá-los para uma máquina destino específica (10.1.1.4). Nesse exemplo adicionaremos a rede uma máquina que iremos tratar como atacante (10.1.1.6).

  • Primeiramente a máquina de origem envia um pacote ARP para o endereço de broadcast (FF:FF:FF:FF:FF:FF) perguntando quem é o destino (10.1.1.4)

http://img258.imageshack.us/img258/2193/arpspoofing4.png

  • Após receber o pacote destinado ao endereço de broadcast (FF:FF:FF:FF:FF:FF) a máquina que possui o endereço IP de destino (10.1.1.4) responde através de um pacote ARP informando seu endereço MAC. Nesse momento o atacante (10.1.1.6) envia o pacote antes da legítima origem (10.1.1.4).

http://img258.imageshack.us/img258/9233/arpspoofing5.png

  • A origem (10.1.1.2) após receber o pacote de resposta estabelece a conexão física com o atacante (10.1.1.6) e não com o verdadeiro destino formando a conexão física com o atacante que redireciona os pacotes para a legítima origem. Nesse caso toda a comunicação passará pelo atacante.

http://img258.imageshack.us/img258/1939/arpspoofing6.png

FERRAMENTAS ARP SPOOFING

Existem diversos exemplos de como pode-se manipular o cabeçalho do protocolo ARP em diversas linguagens (1), contudo para a exemplificação prática sugere-se o uso da ferramenta arpspoof do dsniff (2). Você pode baixar (3) o pacote dsniff ou instalá-lo no seu Ubuntu através do comando:

sudo apt-get install dsniff

CONFIGURAÇÕES DE REDIRECIONAMENTO

Para que após o spoofing os pacotes sejam redirecionados ao legítimo destinatário você deve habilitar o ip_forward no diretório virtual do kernel Linux (/proc)

sudo echo 1 > /proc/sys/net/ipv4/ip_forward

USO DA FERRAMENTA arpspoof

O uso do arpspoof no exemplo teórico descrito acima seria:

sudo arpspoof -i eth0 10.1.1.4 -t 10.1.1.2

CONCLUSÕES

Nesse material foi exposta a parte teorica e prática do ARP Spoofing. Nesse exemplo o atacante poderia utilizar um sniffer, como por exemplo o wireshark e analisar o tráfego que não utilize SSL. Sendo assim, é evidente a importância e necessidade de utilizarmos criptografia para garantirmos a integridade e o sigilo de informações importantes. Ferramentas como o arpwatch podem monitar conjuntos de endereços IP e endereços MAC de forma automatizada para que possamos detectar ARP Spoofing em nossa rede (4 e 5) e atualmente estão também disponiveis nos repositórios do Ubuntu.

REFERÊNCIAS

  1. http://www.uinc.ru/articles/21/send_arp.c

  2. http://www.monkey.org/~dugsong/dsniff

  3. http://packages.ubuntu.com/search?keywords=dsniff

  4. http://ee.lbl.gov

  5. http://packages.ubuntu.com/search?keywords=arpwatch

CRÉDITOS

arpspoofing (last edited 2011-09-19 23:18:13 by localhost)