O sniffer (farejador) é um programa que monitoram/registram a passagem de dados entre as interfaces de rede instaladas no computador. Os dados coletados por sniffers são usados para obtenção de detalhes úteis para solução de problemas em rede (quando usado com boas intenções pelo administrador do sistema) ou para ataques ao sistema (quando usado pelo cracker para obter nomes/senhas e outros detalhes úteis para espionagem).
Os sniffers mais conhecidos para sistemas Linux são
tcpdump, ethereal. Este último apresenta
uma interface gráfica GTK para fácil operação em máquinas que executam o
servidor X. Para explicar o funcionamento de um sniffer, vou assumir o
ethereal instalado (ele não requer modificações no sistema
além de ser fácil de executar e fazer pesquisa de expressões específicas).
Instale o ethereal com o comando apt-get install
ethereal
.
Agora vamos a prática para entender como o sniffer funciona e a importância da criptografia de dados (só assim mesmo, não da para entender falando muita teoria :-):
Conecte-se a Internet
Execute o ethereal como usuário root
.
Pressione CTRL+K
para abrir a tela de captura de pacotes.
Em Interface
selecione sua interface de internet. Nesta
tela clique no botão "FILE" e coloque um nome de arquivo que a captura será
gravada. Opcionalmente marque a opção "Update list of packets in real time"
para monitorar a passagem de pacotes em tempo real.
Clique em "OK". A captura de pacotes será iniciada
Conecte-se a um site ftp qualquer (digamos ftp.debian.org.br). Entre com o usuário "anonymous" e senha "minhasenha@segura.com.br"
Finalize a captura de pacotes clicando no botão "STOP"
Agora vá em "File"/"Open" e abra o arquivo capturado. Ele está no formato usado pelo sniffer tcpdump como padrão. Procure no campo "INFO" a linha "Request: USER anonymous", logo abaixo você verá a senha digitada pelo usuário. Entendeu agora a importância da criptografia na transferência segura de dados? não só o nome/senha pode ser capturado mas toda a seções feitas pelo usuário. Scanners como o tcpdump e ethereal são flexivelmente configuráveis para procurar por dados específicos nas conexões e salva-los para posterior recuperação.
Uma característica comum de sniffers é mudar o modo de operação das interfaces monitoradas para o "Modo Promíscuo" com o objetivo de analisar todo o tráfego que passa por aquele segmento de rede (mesmo não sendo destinados para aquela máquina).
A entrada/saída de interfaces no modo promíscuo é monitorada nos logs do sistema:
Sep 25 16:53:37 myserver kernel: device eth0 left promiscuous mode Sep 25 16:53:56 myserver kernel: device eth0 entered promiscuous mode Sep 25 16:54:18 myserver kernel: device eth0 left promiscuous mode Sep 25 16:54:31 myserver kernel: device eth0 entered promiscuous mode
O logcheck monitora estas atividades e classificam esta
mensagem como prioridade "Violação" (dependendo da configuração dos seus
filtros em /etc/logcheck
. Veja “logcheck” para detalhes sobre este programa.
OBS: A utilização de
switches
dificulta a captura de pacotes em redes
distribuídas porque somente os dados destinados a máquina onde o sniffer está
instalado poderão ser capturados.
Copyright © 1999-2020 - Gleydson Mazioli da Silva