Usando o Wireshark (Ethereal) para Linux

wireshark Além do Nessus, outro aliado importante é o Wireshark, o bom e velho Ethereal, que mudou de nome em Junho de 2006. Ele é um poderoso sniffer, que permite capturar o tráfego da rede, fornecendo uma ferramenta poderosa para detectar problemas e entender melhor o funcionamento de cada protocolo.

Assim como o Nessus, ele pode ser usado tanto para proteger seu sistema quanto para roubar dados dos vizinhos, uma faca de dois gumes. Devido a 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.

Embora ele geralmente não venha instalado por padrão, a maioria das distribuições disponibilizam o pacote “wireshark” ou “ethereal”, de acordo com o nível de atualização. Nas distribuições derivadas do Debian, você pode usar o apt-get, como de praxe.

É possível instalar também a partir do pacote com o código fonte, disponível no http://www.wireshark.org/, que deve ser instalada com os conhecidos “./configure”, “make” e “make install”. Como ele depende de um número relativamente grande de compiladores e de bibliotecas, muitas delas pouco comuns, você quase sempre vai precisar instalar alguns componentes adicionais manualmente.

Uma forma simples de instalar todos os componentes necessários para a compilação é usar o “auto-apt“, disponível através do apt-get. Para usá-lo, instale o pacote via apt-get e rode o comando “auto-apt update”:

# apt-get install auto-apt
# auto-apt update

A partir daí, você pode rodar os comandos de compilação através dele, como em:

$ tar -zxvf wireshark-0.99.1pre1
$ cd wireshark-0.99.1pre1
$ auto-apt run ./configure
$ auto-apt run make
$ su <senha>
# make install

Durante a instalação, o auto-apt usa o apt-get para instalar os componentes necessários, como neste screenshot:

Depois de instalado, abra o programa usando o comando “wireshark” ou “ethereal“, de acordo com a versão instalada.

O Wireshark é 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”.

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 tradicionais 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. Normalmente, a placa escuta apenas os pacotes destinados a ela, ignorando os demais, mas, no promiscuous mode ela passa a receber todos os pacotes, independentemente de a qual endereço MAC ele se destine.

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 (em uma rede local) pode rapidamente consumir toda a memória RAM disponível, até que você interrompa a captura e salve o dump com os pacotes capturados em um arquivo.

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 à qual o pacote foi destinado.

Os pacotes que aparecem com um micro da rede local como emissor e um domínio ou IP da internet como destinatário incluem requisições, upload de arquivos, e-mails enviados, mensagens de ICQ e MSN e, em muitos casos, também senhas de acesso. Os pacotes provenientes de micros da internet são respostas à estas requisições, incluindo páginas web, e-mails lidos, arquivos baixados e, assim por diante. Através do sniffer, é possível capturar todo tipo de informação que trafegue de forma não encriptada pela rede.

Clicando sobre um dos pacotes e, em seguida, no “Follow TCP Stream”, o Ethereal mostrará uma janela com toda a conversão, exibida em modo texto.

A maior parte do que você vai ver serão dados binários, incluindo imagens de páginas web e arquivos diversos. Mesmo o html das páginas chega muitas vezes de forma compactada (para economizar banda), novamente em um formato ilegível. Mas, garimpando, você vai encontrar muitas coisas interessantes, como, por exemplo, mensagens (MSN e ICQ) e e-mails, que, por padrão, são transmitidos em texto puro. Usando a opção “Follow TCP Stream”, é possível rastrear toda a conversa.

Como disse, o Wireshark pode ser usado também pelo lado negro da força. Se você estiver em uma rede local, com micros ligados através de um hub ou através de uma rede wireless, outro usuário pode usá-lo para capturar todas as suas transmissões.

Isto é extremamente perigoso. Qualquer um, que tenha a chance de plugar um notebook na rede ou colocá-lo dentro da área de cobertura de sua rede wireless, poderá capturar dados e senhas suficientes para comprometer boa parte do sistema de segurança da 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 muita prática. Enfim, a menos que você esteja em uma simples rede doméstica, onde exista uma certa confiança mútua, utilizar um hub burro é simplesmente um risco grande demais a correr.

Ao utilizar um hub-switch, o risco é um pouco menor, já que, por default, os pacotes são enviados apenas às portas corretas. Entretanto, muitos sistemas são vulneráveis a ataques de ARP poisoning, sem falar dos ataques de MAC flooding, que permitem burlar a proteção.

No ARP poisoning, o micro do atacante envia pacotes com respostas forjadas para requisições ARP de outros micros da rede. Como vimos no capítulo 3, o ARP é utilizado para descobrir os endereços MAC dos demais micros da rede, já que os switchs não entendem endereços IP. Estes pacotes forjados fazem com que os outros micros passem a enviar seus pacotes para o micro do atacante, que é configurado para retransmiti-los para os destinatários corretos.

A rede continua funcionando normalmente, mas agora o atacante tem chance de logar todo o tráfego, usando o Wireshark ou outro sniffer. Felizmente, o Wireshark também pode ser usado para perceber as anormalidades na rede e chegar até o espertinho.

Os ataques de MAC flooding, por sua vez, tem como alvo o switch da rede e trabalham dentro de um princípio bastante simples. O switch possui uma área limitada de memória para armazenar a tabela com os endereços MAC dos micros da rede, de forma que, ao receber um grande número de pacotes com endereços MAC forjados, a tabela é completamente preenchida com os endereços falsos, não deixando espaço para os verdadeiros. Para não travar, o switch passa a trabalhar em modo hub, desativando a tabela e passando a simplesmente encaminhar todos os pacotes para todas as portas (até ser reiniciado), permitindo ao atacante capturar todos os pacotes da rede.

Em outras situações, pode ser que você mesmo, como administrador da rede, precise 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 se logar em cada uma das máquinas, sempre que necessário, e rodar o Wireshark para acompanhar o tráfego de dados de cada uma, sem que o usuário tome conhecimento.

Outra possibilidade seria rodar o Wireshark 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”.

No caso das redes wireless, a situação é um pouco mais complicada, pois o meio de transmissão é sempre compartilhado. Os pacotes trafegam pelo ar, por isso não é possível impedir que sejam capturados. Mas, você pode dificultar bastante as coisas ativando a encriptação, se possível usando o WPA e diminuindo a potência de transmissão do ponto de acesso, de forma a cobrir apenas a área necessária.

Lembre-se de que apenas informações não encriptadas podem ser capturadas. Utilizando protocolos seguros, como o SSH, as informações capturadas não terão utilidade alguma, pois estarão encriptadas.

Além do lado negativo, pessoas sniffarem sua rede e assim descobrirem senhas e outros dados sigilosos, existe um lado positivo: 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 informações sobre seus hábitos de navegação para seus sites de origem, gente escaneando suas portas usando o Nessus ou outros programas similares, 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 Wireshark, mas, depois de alguns dias observando, você vai começar a entender muito melhor como as conexões TCP funcionam.

Fonte: Desmonta&CIA

About these ads

Tags:,

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

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Junte-se a 422 outros seguidores

%d blogueiros gostam disto: