quarta-feira, 16 de dezembro de 2009

Vai farejar aqui? (TAP na cara dele!)

Apesar do título, não haverá nenhuma apologia a violência aqui galera, lhes garanto. :)
Demonstrarei como criar um dispositivo simples para analisar/monitorar o tráfego de rede em nosso pequenino exemplo, conhecido como Network TAP, ou simplesmente, TAP. Já existem soluções profissionais para este fim. Aqui vamos criar algo rústico, que não deverá ser usado em um ambiente de produção, pois poderá perder o desempenho da sua rede, perca de pacotes, etc... Seria interessante para quem quiser estudar sobre sniffers, sistemas IDS e outras técnicas de ataques.

O que é sniffing?

Sniffing é um procedimento realizado por uma ferramenta conhecida como sniffer, que é capaz de interceptar e registrar o tráfego de dados em uma redes de computadores. O sniffing pode ser utilizado para fins maliciosos que poderiam tentar capturar o tráfego da rede com diversos objetivos, por exemplo, obter cópias de arquivos enquanto sua transmissão, obter senhas, ver as conversações em tempo real, etc...

Chega de blá blá blá.

TAP


Cenário Utilizado.
Criei este ambiente apenas para fins didáticos, cabe a sua imaginação e conhecimento adequar para o necessário. Segue alguns itens utilizados:
> Conexão Banda Larga;
> TAP;
> Micro1 com 2 Placas de Rede;
> Switch;
> Micro2 com Windows 7;

Montado o TAP:

Utilizei 4 conectores fêmeas RJ-45 e pequenos pedaços de cabo cat-5e.
Segue o esquema para a confecção do mesmo:


FOTOS DO TAP:







Dependendo da sua criatividade, dá pra deixar mais elegante este dispositivo, mais a princípio, não vem ao caso.
Pronto, acabamos o TAP.

Qualquer dúvida em relação à criação do TAP, entrar em contato pelo meu e-mail que ajudarei com o mesmo.

Utilizamos aqui 2 placas de rede, um para cada sentido do tráfego.
Vamos agora configurar as interfaces de rede eth0 e eth1 para que elas se tornem uma única interface lógica, chamaremos a nova interface de bond0. Usaremos um recurso do Linux que se chama Bonding, para criar a tal interface.

Obs.: Precisamos ter instalado na máquina o pacote ifenslave, para isso basta:

# apt-get install ifenslave

Vamos agora configurar as 2 interfaces.
# modprobe bonding
# ip addr add 192.168.0.254/24 brd + dev bond0
# ifconfig eth0 promisc -arp up
# ifconfig eth1 promisc -arp up
# ifconfig bond0 promisc -arp up
# ifenslave bond0 eth0
# ifenslave bond0 eth1
# ifconfig



Veja que aparece uma nova interface (bond0).
Ok, interfaces configuradas.

A hora do TCPDUMP:

O tcpdump é um sniffer muito conhecido e utilizado pelos profissionais de TI em suas diversas áreas. Tcpdump mostra uma descrição do conteúdo dos pacotes em uma interface de rede em tempo real. Vejamos mais de perto como funciona:
Estando no micro com o BackTrack, basta abrir um terminal e digitar o comando:
# tcpdump –i bond0 –vv
-i para especificar a interface
bond0 é a interface lógica que criamos
-vv de verbose, para mostrar tudo na tela conforme for capturando o tráfego.

Assim, ele vai capturando tudo o que passar pela interface específicada (bond0) e apresentar os resultados na tela. Quanta imaginação dá pra usar agora heim!!!
Poderá também, salvar o log gerado pelo tcpdump em um arquivo e depois analisá-lo com algum programa de interface mais amigável, como por exemplo, o Wireshark.

Alguns comentários extras:

Existe a possibilidade de construir o TAP utilizando apenas uma interface de TAP, ou seja, ao invés de usarmos 4 conectores, usamos apenas 3, fica para um possível estudo ou caso queiram poderei criar um novo tutorial passo-a-passo e postar.
Não entrei em muitos detalhes, sei que em algumas partes o conteúdo está vago, então por isso, espero as perguntas.
Em uma continuação futura, mostrarei algumas técnicas de sniffing utilizando nosso TAP, como captura de tráfego SSL / HTTPS, entre outros.
Obs.: Volto a lembrá-los, este tutorial é para fins didáticos, não é uma solução para sua empresa em produção, etc...
Referências:

NETWORK TAP;
http://en.wikipedia.org/wiki/Network_tap
Sniffing
http://pt.wikipedia.org/wiki/Sniffing
Create a passive network tap for your home network;
http://thnetos.wordpress.com/2008/02/22/create-a-passive-network-tap-for-your-home-network/
Linux Ethernet Bonding Driver Mini-Howto;
http://www.kernel.org/pub/linux/kernel/people/marcelo/linux-2.4/Documentation/networking/bonding.txt
TCPDUMP;http://www.tcpdump.org/
Wireshark;http://www.wireshark.org/


Questions?


---------------------------------------------------
Roberto Soares (3spreto)
robertoespreto@gmail.com
espreto@backtrack.com.br
http://codesec.blogspot.com/
®

2 comentários:

  1. Legal isso cara, vou ver depois como faz, UHAuHAuHA só pra testar msm!

    Obrigado por compartilhar esse tipo de conhecimento!

    ResponderExcluir
  2. Muito bom, unica coisa seria melhorar a iliminação para as fotos rsrsrsrs.

    ResponderExcluir

To get the latest update of me and my works

>> <<