Você está na página 1de 4

___ ___ _ ______ _ _

| \/ | | | | ___ (_) _ (_)


| . . | ___ _ __ | |_ ___ | |_/ /_ _ __ _//_ _ __ _ __ _
| |\/| |/ _ \ '_ \| __|/ _ \ | ___ \ | '_ \ / _` | '__| |/ _` |
| | | | __/ | | | |_| __/ | |_/ / | | | | (_| | | | | (_| |
\_| |_/\___|_| |_|\__|\___| \____/|_|_| |_|\__,_|_| |_|\__,_|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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:
Mente Binria - Sniffing com o Wireshark http://www.mentebinaria.com.br/artigos/0x05/0x05-wireshark.html
1 de 4 17/1/2013 21:22
$ 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:
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:
Mente Binria - Sniffing com o Wireshark http://www.mentebinaria.com.br/artigos/0x05/0x05-wireshark.html
2 de 4 17/1/2013 21:22
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.
Mente Binria - Sniffing com o Wireshark http://www.mentebinaria.com.br/artigos/0x05/0x05-wireshark.html
3 de 4 17/1/2013 21:22
No campo "Filter", digite: "http matches POST" (sem aspas, respeitando a caixa). E clique em "Apply".
Vamos ver o resultado:
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.
Mente Binria - Sniffing com o Wireshark http://www.mentebinaria.com.br/artigos/0x05/0x05-wireshark.html
4 de 4 17/1/2013 21:22

Você também pode gostar