Você está na página 1de 6

Usando o Ethereal

Além do Nessus, outro aliado importante é o Ethereal, um poderoso sniffer.


Bem, assim como o Nessus ele pode ser usado tanto para proteger seu
sistema quanto para roubar dados dos vizinhos, uma faca de dois gumes,
por isso ele é às vezes visto como uma "ferramenta hacker" quando na
verdade o objetivo do programa é dar a você o controle sobre o que entra e
sai da sua máquina e a possibilidade de detectar rapidamente qualquer tipo
de trojan, spyware ou acesso não autorizado.

http://www.ethereal.com/

Na página estão disponíveis tanto a versão .tar.gz que deve ser instalada
com os conhecidos "./configure", "make" e "make install", quanto pacotes
prontos para várias distribuições. Está disponível também uma versão for
Windows.

Depois de instalado, basta chama-lo como root:

# ethereal

O Ethereal é um daqueles programas com tantas funções que você só


consegue aprender realmente usando. Para começar, nada melhor do que
capturar alguns pacotes. Clique em Capture > Start ... e você verá uma
janela como esta:
Aqui estão as opções de captura. A primeira opção importante é a "Capture packets
in promiscuous mode", onde você decide se quer capturar apenas os pacotes
endereçados à sua própria máquina, ou se quer tentar capturar também pacotes de
outras máquinas da rede.

Isto é possível pois os hubs tradicionalmente apenas espelham as transmissões,


enviando todos os pacotes para todas as estações. No início de cada pacote vai o
endereço MAC do destino. Este é o endereço físico da placa de rede, que ao
contrário do IP não pode ser facilmente alterado. Normalmente a placa escuta
apenas os pacotes destinados a ele, ignorando os demais, mas no promiscuous
mode ela passa a receber todas as comunicações, destinadas à todas as placas.

Em seguida, você tem a opção "Update list of packets in real time". Ativando esta
opção os pacotes vão aparecendo na tela conforme são capturados, em tempo real.
Caso contrário você precisa capturar um certo número de pacotes para só depois
visualizar todo o bolo.

Mais abaixo estão também algumas opções para interromper a captura depois de
um certo tempo ou depois de capturar uma certa quantidade de dados. O problema
aqui é que o Ethereal captura todos os dados transmitidos na rede, o que pode
rapidamente consumir toda a memória RAM do micro :-)

Dando o OK será aberta a tela de captura de pacotes, onde você poderá


acompanhar o número de pacotes capturados:

Na tela principal temos a lista dos pacotes, com várias informações como o
remetente e o destinatário de cada pacote, o protocolo utilizado (TCP, FTP, HHTP,
AIM, NetBIOS, etc.) e uma coluna com mais informações, que incluem a porta TCP
a que o pacote foi destinado:
Clicando sobre um dos pacotes e em seguida em "Follow TCP Strean" o Ethereal
mostrará uma janela com toda a conversão, exibida em modo texto:

Neste caso temos apenas uma inocente página Web do Guia do Hardware, que não
representa perigo, mas monitorando sua conexão durante algum tempo você vai
logo perceber vários tipos de abusos, como sites que enviam requisições para
várias portas da sua máquina ao serem acessados, banners de propaganda que
enviam vários informações sobre seus hábitos de navegação para seus sites de
origem, gente escaneando suas portas usando programas similares ao Nessus que
vimos acima, programas que ficam continuamente baixando banners de
propaganda e assim por diante.
Estas informações são úteis não apenas para decidir quais sites e serviços evitar,
mas também para ajudar na configuração do seu firewall. Pode ser que no início
você não entenda muito bem os dados fornecidos pelo Nessus, mas depois de
alguns dias observando você vai começar a entender muito melhor como as
conexões TCP funcionam.

Bem, como disse, o Ethereal pode ser usado também pelo lado negro da força. Se
você estiver numa rede local, com micros ligados através de um hub, outro usuário
pode usar o Ethereal para capturar todas as suas transmissões. No screenshot
abaixo está uma mensagem do ICQ capturada. Na janela principal do Ethereal é
possível ver qual é o emissor e o destinatário da mensagem (tanto o IP quanto o
número do ICQ) e usando o "Follow TCP Stream" é possível ver a transmissão em
sí:

Veja que temos alguns trechos ilegíveis que incluem os dados usados pelo
protocolo, mas no meio temos as mensagens exibidas em texto plano. No caso
temos apenas um "Sorria, esta mensagem está sendo monitorada pelo Ethereal",
mas numa situação real o Ethereal exibiria toda a conversação, mesmo que esta
durasse horas.

Claro, além de mensagens do ICQ o Ethereal pode interceptar mensagens de e-mail


(incluindo login e senha), dados transmitidos via Web ou FTP, seções de Telnet
(novamente, incluindo login e senha) e assim por diante.

Isto é EXTREMAMENTE perigoso. Qualquer um, que tenha a chance de plugar um


notebook na rede e pegá-lo de volta depois de algumas horas poderá capturar
dados e senhas suficientes para comprometer boa parte do sistema de sua
empresa. Apenas conexões feitas através do SSH e outros programas que utilizam
encriptação forte estariam a salvo.

Naturalmente, além de alguém de fora, existe a possibilidade de um dos seus


próprios funcionários resolver começar a brincar de script kiddie, pregando peças
nos outros e causando danos. Como vimos, isso não requer prática nem habilidade.

Enfim, a menos que você esteja numa simples rede doméstica, onde exista uma
certa confiança mútua, utilizar um hub tradicional é simplesmente um risco grande
demais a correr.

A solução para o problema é substituir seus hubs por switchs. A diferença básica é
que enquanto o hub simplesmente repassa todos os pacotes para todos os micros
ligados a ele, um switch analisa os pacotes baseados nos endereços físicos das
placas de rede e envia cada pacote apenas para o seu destinatário correto. Isto faz
com que os sniffers deixem de funcionar.

Antigamente os switchs eram muito mais caros que os hubs, mas atualmente os
preços já estão muito próximos. Existe por exemplo um hub 10/100 da Encore que
custa por volta de 50 dólares e já trabalha desta forma.

Este tipo de aparelho traz sempre a expressão "Switch" com destaque na


embalagem, mas para ter certeza o melhor mesmo é submetê-lo ao teste do
Ethereal. Se você conseguir capturar apenas seus próprios pacotes significa que o
problema está resolvido.

Veja que isto apenas melhora a segurança, não torna a sua rede inviolável, já que
alguém ainda poderia substituir o switch por outro hub caso tivesse acesso físico a
ele, grampear os cabos de rede e assim por diante. Naturalmente isto também
pode ser feito fora da sua rede, capturando os dados transmitidos através do seu
ADSL por exemplo. O ideal é sempre utilizar conexões encriptadas, via SSH, algum
tipo de VPN e assim por diante.

A maioria dos ataques, principalmente os feitos por funcionários da própria


empresa baseiam-se justamente em capturar senhas transmitidas de forma não
encriptada através da rede.

De qualquer forma, podem existir situações em que embora você não deseja que
ninguém possa ver o tráfego da rede, você mesmo, como chefe ou administrador
da rede, deseja policiar o que os usuários estão fazendo durante o expediente na
conexão da empresa. Neste caso eu sugiro que você mantenha um servidor SSH
ativo nas estações de trabalho. Assim você pode de vez em quando se logar na
máquina e rodar o Ethereal para acompanhar o tráfego de dados de cada máquina,
sem que o usuário tome conhecimento. Outra possibilidade seria rodar o Ethereal
na máquina que compartilha a conexão, assim você poderá observar os pacotes
vindos de todas as máquinas da rede. Alguns modelos de switchs mais caros
podem ser programados para direcionar todo o tráfego da rede para uma
determinada porta, onde você poderia plugar o seu micro para "ver tudo".