Usando o Ethereal

Voltar

O Ethereal não costuma ser incluído nas distribuições, mas você pode baixá-lo no:

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”.

Fonte : http://www.linuxnarede.com.br


Voltar

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s