Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
# ethereal
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 :-)
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.
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.
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.
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".