vasão de Privacidade
Enganando,
derrubando e invadindo |
Certamente
a frase que mais ouvimos de nossos pais quando somos criança
- depois de "não faça isso" ou "não
faça aquilo" é claro - é: "não
converse com estranhos".
Isso porque pessoas desconhecidas podem ter más intenções,
ou querer se aproveitar de nós.
Num mundo de insegurança
e guerras como o de hoje, confiar em quem conhecemos já é
aventura, em quem nunca vimos então, é pedir demais.
Em networks (internet,
ethernet etc.), isso também acontece. Varias comunicações
enter computadores se baseiam nesse principio de "trusted hosts",
ou seja, "parceiros confiáveis". Os computadores
se comunicam sem a necessidade de uma constante verificação
de autenticidade entre eles. Em certos sistemas com a intenção
de obter um melhor nível de segurança, o servidor
de rede só libera a utilização de certos serviços
a um numero restrito e autenticado de usuários, que não
são "estranhos' para ele".
O método encontrado
para furar este esquema é o de falsificar o remetente dos
pacotes de dados que viajam na rede. Essa técnica é
conhecida por Spoofing.
Disfarce, é
basicamente isto o que o spoof faz. O ataque acontece quando o invasor
fabrica um pacote contendo um falso endereço de origem, fazendo
com que o host atacado acredite que a conexão está
vindo de um host que tem permissão para se conectar a outra
máquina. Fica mais fácil com esse esquema:
Acesso Confiável
Servidor I ------ Servidor 2
O invasor irá
dizer ao Servidor 2 que seu DNS/IP é o do servidor I, tornando
possível à conexão. "Porque eu não
ouvi meus pais?"
|
Vulnerabilidade |
O Spoof é um ataque ao qual estão sujeitos todos
os sistemas operacionais. Somente aqueles rodando uma aversão
completa do TCP/IP, como os Unix Likes. Ou seja, maquinas rodando
Windows ou DOS não são vulneráveis sob certas
circunstanciais: se estiverem utilizando o X-Windows System, Serviços
Remotos (R Services), ou algum tipo de NFS mal configurado. Esse
método de ataque funciona porque os serviços de confiança
das redes se baseiam apenas na autenticação de endereços.
Como o IP pode ser facilmente mascarado, não há muito
problema em aplicar essa técnica.
A primeira etapa de um ataque por spoof é identificar duas
máquinas de destino. Uma vez identificadas, o invasor tentara
estabelecer uma conexão com o Servidor 2 de forma que ela
acredite que ela vem do Servidor 1, quando na verdade vê de
sua própria maquina, chamada de X. Isso é feito através
da criação de um pacote falso (criado em X, mas com
endereço de A) solicitando uma conexão com o 2.
Depois de receber esse pacote, 2 responderá
com um pacote semelhante, que reconhece a solicitação
e estabelece números de seqüência. Essa é
a parte mais trabalhosa do ataque, pois é preciso adivinhar
o número de seqüência que o servidor está
esperando. Alem disso, é preciso impedir que o pacote de
2 chegue até 1.
Se isso acontece, 1 negaria a conexão o ataque falharia.
Para isso, o invasor envia diversos pacotes a primeira para esgotar
sua capacidade e impedir que ele responda a segunda vez.
Uma vez que essa operação tenha chegado ao fim, a
falsa conexão poderá acontecer.
|
A preparação
do Spoofing |
O spoofing só funciona se todas as máquinas
participantes utilizem o FULL TCP/IP, esse ataque exige que os servidores
rsh e rlogin e rexce estejam em execução no momento
em que o IPSoofing for realizado. O UNIX e suas variantes, como
o linux oferecem estes serviços nativos no sistema operacional.
Já o Windows não conta com nenhum destes serviços.
Sendo assim você deve utilizar o Linux em suas redes locais
enquanto estiver experimentando o IPSpoofing.
Pode-se verificar se esses serviços estão disponíveis
através de uma varredura de portas na máquina-alvo
com os serviços:
512 - rexec
513 - rlogin
514 - rsh
A sintaxe para utilização da varredura é:
Nmap -O -p512 - 515
IP_DA_MAQUINA
Após o parâmetro -p, informe a porta
a ser verificada. Já o parâmetro -O identifica o sistema
operacional da máquina-alvo. Se for Windows, o IP não
será usado neste método de ataque. Certamente não
será possível realizar o Spoofing através desta
máquina. Um raro caso onde o Windows é mais seguro.
No caso de computadores que rodam Linux, ele identifica (com sucesso,
na maioria das vezes) até mesmo a versão do kernel
que está em operação.
No entanto em servidor bem configurado certamente irá identificar
o IP de uma suposta invasão durante esse processo. Para evitar
que isto aconteça, os hackers costumam usar os parâmetros
-f durante o uso do Nmap, de forma que o cabeçalho do endereço
IP e os pacotes venham fragmentados, o que pode ser muito útil
para que o hacker passe despercebido na hora de analisar um sistema.
|
Tipos
de Ataque |
Os tipos de
ataque que utilizam a técnica de spoofing mais conhecidos
são:
IP Spoofing
ARP Spoofing
DNS Spoofing
|
-
ARP Spoofing |
Esta técnica
é uma variação do IP spoofing, que se
aproveita do mesmo tipo de vulnerabilidade, diferenciando
apenas porque se faz na autenticação ARP, apesar
de também ser address-based utiliza o endereço
MAC (Media Access Control) ou o endereço físico
do dispositivo, geralmente uma placa de rede.
|
|
-
DNS Spoofing |
Técnica
muito simples, não requer grandes conhecimentos do
TCP/IP. Consiste em alterar as tabelas de mapeamento de hostname-ipaddress
dos serviços DNS, ou seja, seus registros do tipo host
(1), de maneira que os servidores, ao serem perguntados pelos
seus clientes sobre um hostname qualquer, informem o IP errado,
ou seja, o do host que está aplicando o DNS spoofing.
|
|
Como a máquina-alvo
é derrubada |
Primeiramente precisa-se derrubar máquina-alvo.
Isso pode ser feito através de varias maneiras, mas uma das
mais utilizadas é o Dos (Denial of Service - Negação
de Serviços). Este método consiste em sobrecarregar
o computador-alvo até que ele pareça esta é
a parte mais complicada de todo o procedimento de spoofing. Uma
vez que a máquina-alvo for retirada do ar fica fácil
assumir seu endereço IP.
Uma das utilizações do DOS mais utilizadas é
o smurf, esta técnica o invasor envia uma solicitação
de ping em broadcast para a rede que será atacada. Nesse
caso o que vale mesmo é a largura de banda, que precisa ser
maior do que a da máquina-alvo. Por esse motivo, dificilmente
um smurf parte de um único computador. Geralmente este procedimento
necessita de um grupo de atacantes para concretizar a derrubada
da máquina-alvo. Nem sempre um invasor dispõe de tanta
ajuda assim para realizar um ataque.
Outra técnica muito utilizada é o ataque pelo protocolo
ICMP, que possui a vantagem em relação aos outros
de não é necessário nenhum tipo de programação
complexa. Através do Linux, em modo texto, é possível
tirar uma máquina do ar com linha de comando:
Ping-t-1 1024 ENDEREÇO_IP
|
O Ataque |
A etapa mais difícil de ser realizada é
a derrubada do alvo, uma vez que o IP da estação-alvo
parar de responder, é só rodar um programa que muda
o endereço de sua requisição. Um exemplo desse
tipo de software é o Hijack.
Monte a sua unidade de CD-ROM e digite o comando:
cp
/mtm/cdrom/linux/Spoofing/hijack.c
/root/
Depois de copiar o arquivo, o próximo passo será
compilar o programa.
É necessário que você tenha um compilador C
(como o gcc, por exemplo) instalado em seu Linux. Confira agora
como compilar:
gcc -o hijack hijack.c
Depois de fazer experiências de teste com o hijack, use o
comando:
hijack host_confiável 23 endereço_alvo
Neste caso o host_confiável nada mais é do que o
endereço que foi derrubado.
Já o numero 23, que aparece logo em seguida,
é a porta Telnet. Ela é necessária para que
o IPSpoofing seja realizada com sucesso. Por fim o endereço-alvo
é o IP do computador que será invadido.
Sendo assim, tudo o que o invasor precisa fazer é alterar
as configurações deste comando para os dados referentes
a máquina-alvo, e pronto: o spoofing está feito.
|
Como se
Proteger |
O procedimento de IPSpoofing é bastante
complexo e pode causar muitos problemas aos administradores de sistema.
Não há uma forma definida de se proteger deste tipo
de ataque mais podemos mencionar duas soluções. A
primeira delas é não utilizar os serviços rexec,
rlogin e rsh, exceto se eles forem extremamente necessários.
Esses serviços geralmente não são utilizados,
pois facilitam invasões. Se esses serviços realmente
sejam necessários, implante uma política de segurança
eficiente com o auxilio de uma ferramenta criada especificamente
por esse propósito as IDS (Intrusion Detection System - Sistema
de Detecção de Intrusos). Você pode saber mais
sobre estes sistemas no site www.snort.org.
|
|