You are on page 1of 4

Mente Binria - Sniffing com o Wireshark

http://www.mentebinaria.com.br/artigos/0x05/0x05-wireshark.html

___ ___ _ ______ _ _ | \/ | | | | ___ (_) _ (_) | . . | ___ _ __ | |_ ___ | |_/ /_ _ __ _//_ _ __ _ __ _ | |\/| |/ _ \ '_ \| __|/ _ \ | ___ \ | '_ \ / _` | '__| |/ _` | | | | | __/ | | | |_| __/ | |_/ / | | | | (_| | | | | (_| | \_| |_/\___|_| |_|\__|\___| \____/|_|_| |_|\__,_|_| |_|\__,_| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ www.mentebinaria.com.br

0x05 - Sniffing com o Wireshark


Escrito em 2/1/2008 por Fernando Mercs <fernando@mentebinaria.com.br> ** Licenciado sob a Creative Commons 3.0 **

O Wireshark um dos sniffers (analisadores de trfego de rede) mais conhecidos atualmente. Ficou muito famoso com seu antigo nome, Ethereal. Alm de ter uma tima interface grfica, tambm possui uma interface em linha de comando muito poderosa. Neste artigo vamos ver como so frgeis os sistemas de login em texto puro. Sniffaremos uma tentativa de login num servidor FTP e num site HTTP, que inclusive, o nosso. :) Um sniffer coloca a interface de rede da mquina onde est instalado em modo promscuo, neste modo a interface capturar qualquer pacote que receba, mesmo os no destinados a ela. Normalmente as interfaces de rede descartam os pacotes que no so destinados elas. o famoso broadcasting de pacotes. H tambm sniffers que no colocam a interface em modo promscuo (para no serem detectados) mas neste caso, a mquina com o sniffer instalado tem que ficar entre os comunicantes e no s na mesma estrutura de rede. Outro detalhe que um hub sempre manda o pacote que recebe por uma porta para todas as outras portas, o que facilita o sniffing. J os switchs, no fazem isso (na verdade fazem s na primeira vez em que so ligados na rede e esto escrevendo sua tabela ARP. Depois mantm tal tabela at ser desligado da energia). Mas no impossvel sniffar numa rede s com switchs, s mais difcil. O primeiro passo saber onde instalar o Wireshark. Este passo muito importante pois definir o sucesso na captura de pacotes. Atente para as disposies da mquina onde estar o Wireshark. Se for uma rede Ethernet concentrada por um hub, a mquina que rodar o Wireshark poder ficar em qualquer lugar, basta ser conectada ao hub:

J que o hub envia todo o trfego em broadcast, qualquer mquina recebe todo o trfego da rede, ento basta que a interface de uma delas esteja em modo promscuo (Wireshark instalado e rodando) para que o sniffing tenha sucesso. Se o concentrador central de sua rede for um switch, voc poder colocar um hub entre o servidor e o switch e conectar uma mquina com o Wireshark neste hub. Assim, toda comunicao entre servidor e rede passar pela mquina com o Wireshark. Veja a imagem a seguir:

H outras maneiras de se fazer o sniffing com switchs, principalmente se o switch for configurvel (que possibilita port spanning). Mas deixaremos tal discusso para outra hora. Pode-se discutir sobre assunto em nosso frum tambm. Instalao do Wireshark Depois de escolhida a mquina onde ser instalado o Wireshark, vamos para sua instalao, que pode ser feita de vrias maneiras (baixando e compilando seu cdigo-fonte, baixando sua instalao, instalando via repositrio para sistemas baseados em Linux, etc). Como sempre, utilizei o Ubuntu para escrever este tutorial. No Ubuntu a instalao fcil, basta comandar: $ sudo apt-get install wireshark Abra o Wireshark e clique no primeiro boto, entitulado "List available capture interfaces...". A janela que abrir mostrar uma lista com as interfaces de rede da mquina. Aqui a minha disposio na rede como mostra a figura abaixo:

1 de 4

02/11/2012 09:35

Mente Binria - Sniffing com o Wireshark

http://www.mentebinaria.com.br/artigos/0x05/0x05-wireshark.html

Perceba que tenho o Wireshark instalado na mquina que d acesso ao servidor. As outras duas mquinas esto conectadas ao servidor principal atravs dela. Captura dos pacotes Uma das mquinas tem o IP 192.168.0.23, e atravs dela que vou acessar a internet e abrir um site FTP e um HTTP para que a mquina com o Wireshark capture os pacotes de tais conexes. Voltando ao Wireshark, escolhi a minha conexo eth1 (192.168.0.5) que a placa de rede da mquina onde o Wireshark est instalado, que est ligada ao switch do esquema acima.

Ao clicar em "Start", inicia-se a captura dos pacotes. Ento, a partir da mquina 192.168.0.23, acessei o site FTP da Asus (ftp.asus.com) para uma tentativa de login. Fui pelo prprio comando FTP do Windows 98: c:\> ftp ftp.asus.com E inseri o nome de usurio fernando e password 3966lop98. Obviamente recebi um erro de falha no login. Neste momento podemos clicar no boto Stop (quarto boto da barra do Wireshark). Vamos analisar o que o Wireshark capturou:

2 de 4

02/11/2012 09:35

Mente Binria - Sniffing com o Wireshark

http://www.mentebinaria.com.br/artigos/0x05/0x05-wireshark.html

Perceba que no pacote de nmero 14, h meno ao meu nome de usurio no comando USER do FTP. importante conhecer o protocolo que ser analisado para obter bons resultados com o sniffing. No pacote 16 o servidor da Asus me informa que preciso informar um password. E nos pacotes 18 e 19, abro uma conexo TCP e envio meu password com um comando PASS, respectivamente. Veja que o argumento do comando PASS 3966lop98, que justamente o password que informei atravs da mquina 192.168.0.23! O protolo FTP transmite os comandos e argumentos em texto puro. extremamente inseguro e em seu lugar recomendvel utilizar o SFTP (Secure File Transfer Protocol). Claro que foi uma transmisso pequena e premeditada. Se fssemos analisar diante de vrios milhares de pacotes, seria difcil achar manualmente o pacote que se relaciona com o login. Para isso existem os filtros personalizados e montados com expresses regulares pelo prprio Wireshark. Usaremos um filtro no prximo sniffing, que ser HTTP. Sniffing em login do Mente Binria Agora vamos acessar um site a partir da mquina 192.168.0.23 para analisarmos os pacotes. Seguindo a mesma lgica do item anterior, vamos capturar os pacotes at que o login seja efetuado. Loguei com um usurio. Vamos descobrir quem (e sua senha) atravs do Wireshark. A anlise de pacotes retornou 742 pacotes at eu clicar em Stop. No vamos olhar um a um e sim usar um filtro. No campo "Filter", digite: "http matches POST" (sem aspas, respeitando a caixa). E clique em "Apply". Vamos ver o resultado:

3 de 4

02/11/2012 09:35

Mente Binria - Sniffing com o Wireshark

http://www.mentebinaria.com.br/artigos/0x05/0x05-wireshark.html

Veja que filtramos s para pacotes HTTP que contenham o comando POST. Este um comando de formulrio HTTP (comumente usado em logins). o comando dado pelo boto "Enviar" do nosso site. No pacote de nmero 150, vemos o nome de usurio e a senha sendo enviados para o servidor de nosso site! Concluso Espero que o propsito deste artigo tenha sido atingido: mostrar que alguns protocolos so facilmente vulnerveis. Com um rpido sniffing, podemos reunir informaes que seriam suficientes para um invasor se apossar de um conta da vtima. Teste o Wireshark em sua rede, veja como ele se comporta capturando pacotes HTTPS, SFTP, SSH, etc, que so protocolos seguros. Veja que as informaes estaro encriptadas.

4 de 4

02/11/2012 09:35

You might also like