Interceptar palavras passes de páginas web em uma rede sem fios
Click here to load reader
-
Upload
derek-budde -
Category
Software
-
view
212 -
download
1
description
Transcript of Interceptar palavras passes de páginas web em uma rede sem fios
1 1 ARP (protocolo usado para encontrar um endereço da camada fisica) 2 MAC address (endereço físico associado à interface de comunicação). 3 IP (protocol de internet)
Interceptar palavras-passes e nome de utilizador de
páginas WEB em uma rede Sem fios.
1Derek Budde
1 Engenharia Informática,Universidade Lusofona do Porto, Portugal 1 [email protected]
Abstract. The attack ARP spoofing (or ARP-Spoofing) is one of the most
efficient ways to execute the technic known as Man-In-The-Middle, which
allows the attacker to intercept confidential information placing him in between
two or more machines. This document demonstrates how to perform this attack within a wireless network, intercepting user logins in unsafe web pages.
Keywords: ARP, Hacker, Poisoning, Spoofing, Man-In-The-Middle, Wireless,
Security, Internet.
Resumo
Este trabalho apresenta como um ataque ARP spoofing, pode comprometer a
segurança da navegação do utilizador em uma página da internet. Aborda e demonstra
o conceito da técnica, bem como o ataque em uma rede sem fios. Também aborda
alguns conceitos de protecção e a estrutura de como o ataque é realizado.
1 Introdução
Com o aumento das redes sem fio, o acesso a internet torna-se cada vez mais
frequente assim como o acesso as informações confidenciais e pessoais. A cada dia
mais utilizadores se conectam a redes públicas para ascender essas mesmas
informações, mas a preocupação com a segurança não se denota, visto que a ilusão de
ser um acesso seguro (um site com palavra-passe).
A falta de conhecimento no processo da estrutura de comunicação por parte do
utilizador, permite que qualquer pessoa consiga acender as informações que estão
sendo transmitidas na rede, como este documento visa demonstrar através de um
ataque conhecido como “Man-In-The-Middle” que explora a falha do protocolo
ARP1, permitindo ao atacante interceptar essas informações.
2
2 ARP Funcionamento
Dentro da rede local, os pacotes são transformados em frames, que são endereçados
ao endereço MAC2 da placa de rede de destino. Acontece que, inicialmente, o sistema
não sabe quais são os endereços MAC das placas dos computadores de uma rede
local, sabe apenas os endereços IP3 que deve acessar.
O ARP faz parte do IP e ao ICMP (protocolo integrante do Protocolo IP) na
terceira camada do modelo OSI (Open Systems Interconnection), oferecendo uma
forma simples de descobrir o endereço MAC de um determinado host5, a partir do seu
endereço IP. A estação envia um pacote de broadcast (transmissão) chamado " ARP
Request", contendo o endereço de IP do host de destino e ele responde com seu
endereço MAC. Como os pacotes de broadcast são robustos em termos de largura de
banda da rede, cada estação mantém uma cache com os endereços conhecidos.
Naturalmente, isso é feito de forma transparente. Pode-se verificar a cache dos
endereços ARP do seu computador (Sistema Operativo Linux) usando o comando
"arp":
$ arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.254 ether 00:30:CD:03:CD:D2 C eth0
192.168.1.23 ether 00:11:D8:56:62:76 C eth0
192.168.1.56 ether 00:11:D8:57:45:C3 C eth0
Existe também o "RARP" (reverse ARP), que tem a função oposta: contactar um
host da rede quando o endereço MAC é conhecido, mas não o endereço IP. Embora
menos usado, o RARP também é importante, pois ele é usado quando uma estação
precisa obter sua configuração de rede via DHCP.
Ao receber o pacote de broadcast enviado pela estação, o servidor DHCP sabe
apenas o endereço MAC da estação e não seu endereço IP. Ele é capaz de responder à
solicitação graças ao RARP. Sem ele, não teríamos DHCP.
Muitas distribuições Linux incluem o "arping", um pequeno utilitário que utiliza o
ARP ao invés do ping (pacotes enviados) para descobrir se outras máquinas da rede
local estão comunicando. A vantagem é que mesmo máquinas protegidas por
“firewall”, ou configuradas para não responder p ings, respondem aos pacotes ARP,
fazendo com que ele seja mais uma ferramenta interessante na hora de diagnosticar
problemas na rede.
Nas distribuições derivadas do Debian (Sistema Operacional Linux), para usar,
basta informar o endereço IP ou endereço MAC da máquina de destino:
$ arping 192.168.1.110
ARPING 192.168.1.110
60 bytes from 00:11:d8:21:52:76 (192.168.1.110):
index=0 time=112.057 usec
60 bytes from 00:11:d8:21:52:76 (192.168.1.110):
index=1 time=101.089 usec
3
60 bytes from 00:11:d8:21:52:76 (192.168.1.110):
index=2 time=99.897 usec
Uma observação importante é que o ARP é usado apenas dentro da rede local, o
único local onde são usados os endereços MAC. Quando o pacote passa pelo gateway
(ponte de ligação) e são encaminhados para a Internet, os campos com os endereços
MAC são removidos, o que faz com que o “arping” e outros utilitários com base em
pacotes ARP deixem de funcionar.
Para demonstrar basta realizar o “arping” a um host de Internet, vai perceber que,
embora o comando seja executado sem erros, fica parado indefinidamente aguardando
por uma resposta que nunca e devolvida.
Mesmo que o pacote fosse incorrectamente encaminhado para a Internet, não iria
muito longe, pois seria descartado no primeiro router por onde passasse.
Uma curiosidade sobre os endereços MAC é que eles podem ser usados para
descobrir o fabricante da placa de rede. Para isso, devemos aceder a página:
“http://standards.ieee.org/regauth/oui/” e procurar pelos 6 (seis) primeiros dígitos
do endereço MAC. Ele retorna os dados da empresa responsável pelo fabrico, do
hardware:
Ilustração 1- Empresa responsável pelo fabrico
O endereço MAC é composto por duas informações. Os 6 (seis) primeiros dígitos
são um código atribuído à empresa pelo IEEE (Institu te of Electrical and Electronics
Engineers), enquanto os outros 6 (seis) dígitos são usados para identificar cada placa.
Cada fabricante pode usar apenas seus próprios códigos ao produzir as placas, a
procura permite descobrir quem é o fabricante real.
Ao ir procura pelo código da placa de rede, ou de um computador portátil, muitas
vezes descobre-se o fabricante. Por exemplo, o código da Asus é o "00:15:F2",
enquanto o código da Compal (real fabricante de um grande número de computadores
portáteis revendidos por outros integradores) é o "00:16:D4".
2.1 Conceito de ARP Spoofing
ARP Cache Poisoning (envenenamento) ou ARP Spoofing (mascara) é uma técnica
relativamente antiga, simples e eficaz de ataque. Consiste em passar um endereço
MAC falso para o sistema alvo de forma que este redireccione o tráfego para outro
destino não legítimo.
4
Por exemplo, o computador (A) precisa transferir um ficheiro confidencial para o
computador (B). Dentro do fluxo normal do funcionamento do TCP/IP (protocolo), o
computador (A) irá traduzir o nome do computador (B) para um endereço de IP, em
seguida, via ARP Broadcast e ARP Replies, o endereço de IP recebido é traduzido
para o MAC da interface de rede do computador (B). De posse desta informação, o
ficheiro é enviado de forma transparente. Durante este processo de tradução, o
computador cliente verifica a sua cache. Se uma entrada já existir, o broadcast já não
se realiza novamente e o endereço que se encontra na tabela ARP é utilizado.
Teoricamente, os endereços MAC são singulares, logo, a probabilidade de existir
duas placas de rede com a mesma sequência hexadecimal identificadora é nula, ou
quase nula. A implementação do protocolo ARP segue esta premissa e, por sua vez,
não implementa nenhum mecanismo de autenticação para validar o cliente - ou seja,
quem responder primeiro é quem será o premiado. Como foi dito anterio rmente,
teoricamente, não existe endereço MAC repetido. Era assim que se pensava em 1973,
quando a norma Ethernet foi criada.
Uma vez que não há autenticação nem controle de sessão entre as partes, qualquer
computador na rede pode maliciosamente anunciar que é dono de determinado
endereço MAC
No exemplo anterior, se tivéssemos um terceiro interveniente o computador (C), o
qual estivesse constantemente a enviar ARP Replies com o próprio endereço MAC, a
dizer que é o IP do computador (B). O computador (A) iria erroneamente enviar o
ficheiro para o computador (C) ao invés de enviar para o computador (B). Isto porque
os constantes ARP Replies feitos pelo computador (C) forçam, que o computador (A)
actualize a tabela ARP local com o valor errado, "envenenando”, e consequentemente,
a impossibilidade de uma resposta legitima do computador (B). Esta mesma técnica
pode ser utilizada para gerar ataques de indisponibilidade DDOS (distributed denial-
of-service) direccionando, por exemplo, o tráfego inteiro de uma determinada sub-
rede (VLAN) para um único computador ou um destino inválido.
O atacante nesta posição pode fazer o spoofing (mascara) de uma "default gateway"
(ponte de ligação principal) e efectivamente conseguir forçar o tráfego de todos os
computadores, desta mesma sub-rede, passem a ser enviados para ele. Com este
controle, o atacante pode facilmente fazer sniffing (intercepta e registar tráfego de
dados) de todo o tráfego da rede e escalar para ataques MITM (Man-In-The-Middle)
mais sofisticados, como Session-Hijacking (captura secção), Brute-Force (força bruta)
em hashs (sequência de bits geradas por um algoritmo) capturadas , etc.
Mesmo limitado ao mesmo segmento de rede (ambos tem que estar na mesma
rede), a massificação de tecnologias sem fios abre uma nova perspectiva para este tipo
de ataque, pois deixa-se de ter a variável física limitante. Virtualmente, qualquer
pessoa dentro do raio do sinal transmitido do seu ponto de acesso sem fios tem acesso
a rede tal qual teria em uma rede de cabos convencional.
5
2.2 Sistemas Operacionais vulneráveis
Um sistema operacional é considerado vulnerável ao ARP Poisoning quando o
sistema operacional correspondente pode ser envenenado por outro sistema, que seja
capaz de sobrescrever as entradas existentes, ou adicionar uma entrada, se não existir
nenhuma, com uma resposta falsa.
Tabela 1. Tabela de sistemas operacionais vulneráveis a ataque ARP.
Sistemas Operativos
Vulneráveis
Sistemas Operativos Não
Vulneráveis
Windows NT Sun Solaris Systems
Windows XP
Windows 5/98/2000
Linux
Netgear
AIX 4.3
2.3 Estrutura do Ataque
Ilustração 2 Estrutura ilustrativa do ataque Man-In-The-Middle.
Ao observar uma conexão normal, um computador com o endereço de IP 192.168.1.9
(computador A), terá como destino um router com o IP 192.168.1.1 (Rt1).
Quando o computador “A” se conecta a uma rede ele envia um pedido para todos
os computadores da rede perguntando quem é o IP 192.168.1.1 (Rt1), o router
6
responde enviando o seu endereço MAC e seu IP. Consequentemente o computador
“A” escreve na sua tabela ARP o endereço de IP e o MAC do router (Rt1), assim os
dois dispositivos se comunicam normalmente. Mas quando um ataque MITM (Man-
In-The-Middle) é realizado, o computador “B” com o endereço de IP 192.168.1.14
envia para o computador “A” o seu endereço de IP e o seu MAC, informando que o
computador “B” agora é o router. Isso acontece porque o protocolo ARP
simplesmente não tem nenhum tipo de segurança associado, logo o computador “A”
confia que se está recebendo informação do router e que essa informação é legítima.
Devido a essa falha o computador “A” sobrescreve a sua tabela ARP com o novo
endereço de IP e MAC do computador “B”, habilitando assim o computador “B” a
servir de router para o computador “A”.
2.4 Comprovação da técnica usando S.O. Microsoft Windows
Hardware: EEEpc 1101HA,
Hardware: Mithus M54SR,
Hardware: Router BVW-3653,
O.S.: Windows XP sp2,
Pré-requisitos: Placa de redes sem fio compatível.
Descrição do Software:
Caim e Abel é uma ferramenta de recuperação de palavras -passes para sistemas
operacionais da Microsoft. Permite a recuperação de vários tipos de palavras -passes
por Sniffing (intercepta e registar tráfego de dados) da rede, palavras -passes
criptográficas utilizando ataques do tipo dicionário, Brute-Force (força bruta) e
Cryptanalysis Attacks (ataque por analise criptografia simétrica), gravar conversas
VoIP (voz por internet), recupera chaves de redes sem fios, desmascara senhas
protegidas por asteriscos, senhas em cache e analise de encaminhamento de
protocolos.
Para comprovar a eficiência de um ataque Man-In-The-Middle, conectamos dois
computadores e um telemóvel Android á rede local sem fios com o BSSID (Basic
Service Set Identifier) ZON-0900. O utilizador do computador “A”, esta consultando
seu e-mail na página “XPTO Correio” e o computador “B” está com sessão do
software Caim&Abel iniciada, e capturando os pacotes que circulam na rede.
Ao consultar os dispositivos conectados na rede, através do Cain&Abel
verificamos o Hitron (Android) e AzueWave (computador “B”) estão activos
(enviando e recebendo) trafego na rede. Nosso objectivo será o computador “B”, para
isso iniciamos o envenenamento da rede, modificando a tabela ARP do computador
“B”. Neste momento o software Cain&Abel começa a capturar todo o trafego que
transita nos protocolos, emitidos e ou enviados pelo computador “B”. Como a ligação
é um protocolo HTTP (Protocolo de Transferência de Hipertexto), seleccionamos e
analisamos as informações, que nos são apresentadas em formato texto, assim
revelando a palavra-passe e nome de utilizador enviado pelo computador “B” ao
preencher os campos de utilizador e palavra-passe da página de autenticação da
empresa XPTO correio.
7
Tempo do ataque:
Instalação, configuração e execução +/- 2 min;
Teste e familiarização com as funções +/- 20 min.
Inicio do processo de captura +/- 50 seg.
Ilustração 3 - Resultado do teste
3 Métodos de defesa
Endereços HTTP (Protocolo de Transferência de Hipertexto) iniciados com
"http://" por defeito utilizam a porta 80, enquanto endereços HTTPS iniciados com
"https://" utilizam a porta 443. HTTPS (Protocolo de Transferência de Hipertexto
Seguro) é utilizado com o protocolo SSL (Secure Sockets Layer) para criptografar os
dados de trafego e proteger informações enquanto navegam na internet.
Uma representação de uma conexão normal com SSL funciona de modo que o
cliente transmite os dados criptográficos para o servidor e vice-versa, tornando assim
impossível “teoricamente” o uso de técnicas de sniffing para a captura dos dados entre
o cliente e o servidor.
Esta técnica de defesa, também apresenta vulnerabilidade utilizando a técnica
SSLStrip (Ferramenta/técnica que altera o protocolo “https” por “http” de uma página
Web, utiliza-se do ataque Man-In-The-Middle para fazer com que a vítima e o
atacante se comuniquem via “http”, enquanto o atacante e o servidor se comunicam
em “https”.), resumidamente este ataque consiste em explorar o mecanismo de
controlo de sessão, o qual é normalmente gerenciado através de um token
(testemunho) de sessão. Após decifrar a conexão através do SSLStrip o atacante
consegue visualizar todas as requisições “http”, portanto também terá acesso ao token
8
de sessão. De posse do token de sessão o atacante pode forjar requisições como se
fossem originadas pelo utilizador legítimo.
Para evitar esse tipo de ataque existe uma ferramenta para Linux chamado ArpON
(ARP Handler Inspection), ele é um manipulador que possui ferramentas de
vigilância e monitorização de redes, para assegurar a protecção, além de evitar
ataques do tipo Man-In-The-Middle. ArpON também é capaz de detectar e bloquear
ataques mais sofisticados como DHCP Spoofing, DNS Spoofing, WEB Spoofing,
Session Hijacking, SSL/TLS Hijacking e outros.
Para sistemas operacionais Microsoft Windows existe o ARPFreezeNG em que o
fabricante garante a protecção contra ataques Man-In-The-Middle entre outros.
Como algumas ferramentas de protecção são muito confusos para o utilizador, a
melhor política de protecção continua a ser modificar as palavras -passes com
frequência e evitar de se conectar a uma rede pública de internet sem fios.
4 Conclusão
Foi comprovada a eficiência da técnica em interceptar palavras -chave e nome de
utilizadores dentro de uma rede sem fios, através de um ataque Man-In-The-Middle.
Exploramos a estrutura do ataque bem como sua técnica de utilização através do
software Cain&Abel. Analisamos o funcionamento das tabelas ARP e sua
vulnerabilidade perante esse tipo de ataque. Apesar do método de defesa utilizando
SSL, podemos concluir que as redes sem fios em geral são vulneráveis a este tipo de
ataque (sem nenhuma protecção adicional) até a data presente. Também observamos
que o ataque direccionado a capturar palavras -passes e nome de utilizadores só se
realiza no início de uma sessão de autenticação entre o utilizador e o servidor, isto é
no momento em que o utilizador envia os dados. Após enviado, ou com a sessão já
estabelecida, precisaríamos de outras formas mais complexas de ataque.
Trabalhos futuros, o estudo e teste da metodologia de páginas Web com segurança
SSL, bem como a sua segurança de encriptação na comunicação entre o cliente e o
servidor.
Referencias
1. Arley Barros Leal, Engenheiro de Sistemas ARP: A ovelha negra da família TCP/IP
www.timaster.com.br/revista/artigos/main_artigo.asp?codigo=1121, (1996).
2. Carlos E. Morimoto, Redes, Guia Prático 2ª Ed., ISBN 978-85-99593-09-7, (2008). 3. Carlos E. Morimoto, Hardware II, o Guia Definitivo, ISBN: 978-85-99593-16-5 (2007).
4. Luiz Vieira, Analista de segurança, ARP Poisoning,
http://imasters.com.br/artigo/10117/seguranca/arp-poisoning (2008)
5. Practical Packet Analysis, Chris Sanders, ISBN-10: 1593272669, senior network security
analyst for the US Department of Defense (SPAWAR) through Honeywell HTSI, (2011).