HACKER
SNIFFER
O presente documento visa auxiliar administradores a compreender
os problemas relacionados com sniffing e as possíveis
soluções. A ação de Sniffers é, atualmente, um dos
principais problemas de segurança.
Este FAQ consiste nos seguintes tópicos:
O que é sniffer e como ele funciona
Como detectar um ataque de um sniffer
Como bloquear ataques de sniffer.
Criptografia
Tecnologias de one-time password
Interfaces não promiscuas
O que é sniffer e como ele funciona?
Computadores em rede compartilham canais de comunicação. Isso
é, obviamente, muito mais barato que passar um cabo para cada
par de computadores e usar um switch (hub) pra comutar as
conexões. Neste canais compartilhados, computadores podem
receber informações enviadas a outros
computadores. A ação de capturar informações destinadas a uma
outra máquina é chamada sniffing.
O padrão Ethernet envia um pacote para todas as máquinas em um
mesmo segmento. O cabecalho do pacote contem o endereço da
máquina destino. Supoe-se que somente a máquina que tenha o
endereço contido no pacote receba-o. Diz-se que um computador
está em modo promístuo quando o mesmo captura todos os pacotes,
independentemente de serem ou não destinados a ele.
Em um ambiente de rede normal, os nomes e as senhas dos usuários
sao passadas atraves da rede em claro, ou seja, texto não
criptografado. Não é dificil, portanto, um intruso utilizando
uma máquina com interface de rede em modo promístuo, obter
qualquer senha, inclusive a do root, usando um sniffer.
NotaTD: O padrão Token Ring também permite modo promístuo.
Como detectar um ataque de um sniffer
Para detectar um dispositivo sniffer que somente coleta dados e
não responde a nenhuma solicitacao, é necessario o exame fisico
de todas as conexões ethernet e a verificação individual das
interfaces.
Um sniffer, rodando em uma máquina, coloca a interface de rede
em modo promístuo com o intuito de capturar todos os pacotes de
um determindado segmento. Na maioria dos sistemas Unix é
possivel detectar uma interface promiscua.
Note que é possivel usar um sniffer em modo não promístuo,
porem somente poderao ser capturados os pacotes enderecados para
a máquina onde ele está rodando.
Para SunOs, NetBSD, e diversos derivados de BSD Unix systems, o
comando
# ifconfig -a mostrará informações relativas a todas as
interfaces. lo Link encap:Local Loopback inet addr:127.0.0.0
Bcast:127.255.255.255 Mask:255.0.0.0 UP BROADCAST LOOPBACK
RUNNING MTU:2000 Metric:1 RX packets:0 errors:0 dropped:0
overruns:0 TX packets:16930 errors:0 dropped:0 overruns:0 eth0
Link encap:10Mbps Ethernet HWaddr 00:80:A8:C3:45:ED inet
addr:200.239.53.1 Bcast:200.239.53.255 Mask:255.255.255.0 UP
BROADCAST RUNNING PROMISC MTU:1500 Metric:1 ^^^^^^^ RX
packets:227622 errors:0 dropped:0 overruns:0 TX packets:282918
errors:0 dropped:0 overruns:0 Interrupt:10 Base address:0x300 A
utilização do comando "ifconfig" no DEC OSF/1, IRIX e
em alguns outros Unix, requer que o dispositivo seja
especificado. Uma maneira de saber o nome deste dispositivo é
utilizar o comando
# netstat -r que mostrará a seguinte saída: Routing tables
Internet: Destination Gateway Flags Refs Use Interface default
iss.net UG 1 24949 le0 localhost localhost UH 2 83 lo0 Assim,
para testar a interface utiliza-se o comando: # ifconfig le0 le0:
flags=8863 inet 127.0.0.1 netmask 0xffffff00 broadcast 255.0.0.1
No Ultrix é possivel detectar o uso de sniffer com os comandos
pfstat e pfconfig.
pfconfig mostra quem está rodando o sniffer e o pfstat mostra se
a interface está ou não em modo promístuo.
Em sistemas como Solaris, SCO e algumas versoes do Irix, não
existe indicação de modo promístuo, não havendo, portanto,
maneiras de detectar o uso do sniffer.
Como o volume de informações que trafegam em uma rede tente a
ser grande, grande também sera o tamanho do log gerado pelo
programa sniffer. Pacotes como o tigger tentam encontrar arquivos
de log, com esta característica.
É altamente recomendado o uso da ferramenta lsof para procurar
arquivos de log e programas acessando dispositivos como o
/dev/nit (no caso do SunOS).
Não são conhecidos comandos para detectar um IBM PC compativel
em modo promístuo.
Bloqueando ataques de sniffer
Hubs ativos e switches enviam um pacote somente para a máquina
destino, tornando a ação no sniffer sem efeito. Note que isto
somente funciona em circuitos 10 base T.
Criptografia
Fazendo uso de criptografia entre as conexões, os pacotes podem
ser capturados, porem não podendo serem decifrados, são
inuteis.
NotaTD: Existem nos EUA, atualmente, leis que proibem a
exportação de algorítimos de criptografia e restingem a 40
bits o tamanho das chaves para softwares exportados.
Tecnologias de one-time password
S/key e outras tecnologias de one-time password tornam sem efeito
a ação do sniffer, já que a cada conexão uma nova senha deve
ser informada. O uso desta tecnologia permite usar um canal
inseguro, por que não existe reutilização de uma mesma senha.
Esta tecnologia é baseada em desafio/resposta e funciona da
seguinte maneira: A cada pedido de conexão o usuário recebe um
desafio que deve ser informado ao dispositivo de one-time
password (normalmente um maquininha semelhante a uma
calculadora), que por sua vez devolve a uma resposta, que deverá
ser usada como senha, para aquela, e somente para aquela
conexão. SecureID, SNK e CryptoCard, por exemplo, usam cartões
como máquina de resposta.
Outras tecnologias de one-time password usam um cartão que gera,
a cada determindado intervalo de tempo (1 minuto, 30 segundos,
etc.), uma senha que permite a aquele usuário se conectar
naquele instante.
Interfaces não-promiscuas
As interfaces abaixo foram testadas para modo promístuo usando o
Gobbler. Caso você encontre alguma destas que funcione em modo
promístuo, por favor envie uma mensagem para cklaus@iss.net e
ela será removida.
NotaTD: Em determinadas circustâncias, uma placa em modo
promístuo, e um sniffer podem (e muito) auxiliar um adminstrador
a capturar pacotes para resolver problemas da instalação.
IBM Token-Ring Network PC Adapter IBM Token-Ring Network PC
Adapter II (short card) IBM Token-Ring Network PC Adapter II
(long card) IBM Token-Ring Network 16/4 Adapter IBM Token-Ring
Network PC Adapter/A IBM Token-Ring Network 16/4 Adapter/A IBM
Token-Ring Network 16/4 Busmaster Server Adapter/A
Em relação as seguintes placas, existem rumores que elas
permitem o modo promístuo, mas a veracidade destes rumores é
duvidosa.
Microdyne (Excelan) EXOS 205
Microdyne (Excelan) EXOS 205T
Microdyne (Excelan) EXOS 205T/16
Hewlett-Packard 27250A EtherTwist PC LAN Adapter Card/8
Hewlett-Packard 27245A EtherTwist PC LAN Adapter Card/8
Hewlett-Packard 27247A EtherTwist PC LAN Adapter Card/16
Hewlett-Packard 27248A EtherTwist EISA PC LAN Adapter Card/32
HP 27247B EtherTwist Adapter Card/16 TP Plus
HP 27252A EtherTwist Adapter Card/16 TP Plus
HP J2405A EtherTwist PC LAN Adapter NC/16 TP
Adaptadores baseados no chipset TROPIC geralmente não suportam
modo promístuo. Este chipset é usado na placa Token Ring da
IBM. Outros vendedores (notamente 3Com) também usam este
chipset. Note que placas com chipset TROPIC com EPROMs especiais,
todavia, podem aceitar modo promístuo. Neste caso a placa envia
um o aviso "Trace Tool Present"
Em sistemas Unix onde existe a indicação de modo promístuo,
use o seguinte comando para retirar a interface deste modo:
# ifconfig XXX -promisc onde XXX é a identificação da
interface
![]() |
![]() |
![]() |