1. O documento descreve como usar as ferramentas Kismet e Aircrack-ng para explorar vulnerabilidades em redes sem fio.
2. O Kismet é usado para monitorar redes sem fio e capturar pacotes, enquanto o Aircrack-ng usa força bruta para quebrar criptografia WEP e WPA capturando grandes quantidades de pacotes.
3. O artigo demonstra como essas ferramentas podem ser usadas para descobrir informações sobre redes sem fio e quebrar suas senhas de
1. Usando Kismet e Aircrackng para explorar
vulnerabilidades em Redes Sem Fio
Yuko Mitsuya1
1
Bacharelado em Sistemas de Informação – Universidade Federal do Pará
Santarém – PA – Brasil
xmitsuya@gmail.com
Abstract. Routinely observed wireless networks being implemented and
deployed in corporations and institutions, allowing a considerable gain in
productivity. Despite their mobility, flexibility and ease of use, are exposed to
attacks due to the existence of several security vulnerabilities. This article
aims to become more of a reference material for protecting wireless networks,
showing a typical case of attack with the use of kismet and aircrack-ng..
Resumo. Rotineiramente observa-se redes wireless sendo implementadas e
implantadas nas corporações e instituições, possibilitando um ganho
considerável na produtividade. Apesar de sua mobilidade, flexibilidade e
facilidade de uso, estão expostas a ataques devido a existência de diversas
vulnerabilidades de segurança. Este artigo tem por objetivo tornar-se mais
um material de referência para proteção de redes sem fio, demonstrando um
caso típico de ataque com a utilização do kismet e do aircrack-ng.
1. Introdução
É cada vez mais notória, em organizações, a substituição de cabos de redes por redes
sem fio. Devido à disseminação no mercado do padrão 802.11x em diversos
equipamentos, surgimento de novas aplicações que se beneficiam da mobilidade e ao
aumento de produtividade [1]. Além disso, o custo do cabeamento aumenta
exponencialmente junto com a número de clientes e a distância a se cobrir, e ainda
oferece pouca flexibilidade [2].
A principal questão abordada neste artigo é quanto à segurança. Existem as
chaves de encriptação que garantem a confidencialidade dos dados. Elas não impedem
que intrusos captem o sinal da rede, mas esbaralham os dados de forma que não façam
sentido sem a chave de desencriptação apropridada [2]. A curiosidade em entender
como são realizadas as invasões em redes sem fio e o que fazer para protegê-las, foi o
que motivou a elaboração deste trabalho.
Este artigo se propõe a demonstrar de que forma as chaves de encriptação podem
ser quebradas, assim como, informações da rede e pacotes são capturados sem o intruso
estar conectado à rede. Isso é possível através do uso de ferramentas especializadas
como o Kismet e o Aircrack-ng, que serão as ferramentas utilizadas para a demonstração
e descritas na seção 4 deste artigo.
2. Existem muitos tutoriais na internet que explicam métodos de ataque à redes
com estas ferramentas, porém grande parte dos comandos apresentados não funcionam
corretamente. Este artigo se baseia no livro Redes, guia prático de Carlos Morimoto,
bem como em artigos do Guia do Hardware - www.guiadohardware.net, em alguns
blogs e outros artigos sobre redes wireless.
Objetiva-se neste trabalho, entender o funcionamento e demonstrar a exploração
de vulnerabilidades com a utilização do Kismet e do Aircrack-ng. Tornando-se mais um
referencial para a proteção de redes sem fio.
O presente texto está organizado da seguinte forma: na seção 2 aborda algumas
características de redes sem fio, possibilitando uma visão geral sobre conceito e padrões.
A seção 3 é dedicada à questão da segurança apresentando as vulnerabilidades e
cuidados que devem ser tomados na gerência de redes do tipo. Em seguida, na seção 4
são descritas as ferramentas propostas anteriormente, e seu funcionamento. A seção 5 é
demonstrada a implementação do experimento, com a quebra de chaves de encriptação
WEP (abreviação de Wired-Equivalent Privacy) e WPA (Wired Protected Access). E por
fim, as considerações finais.
2. Redes Sem Fio
As redes sem fio, também chamadas redes wireless ou ainda Wi-Fi (Wireless Fidelity)
utilizam ondas eletromagnéticas na faixa aberta e licenciada pela ANATEL (Agência
Nacional de Telecomunicações) [3]. Estas redes trabalham utilizando o mesmo
princípio das redes cabeadas, no entanto, diferem quanto ao meio de transmissão [5].
Para retransmissão pacotes de dados ou para repetição de sinal para que todos os
clientes se comuniquem, é utilizado um equipamento chamado de AP (do inglês: Access
Point) ou ponto de acesso, que neste caso, substitue o switch de redes cabeadas, ou seja,
repete sinal [2].
Uma característica das redes wireless é que o alcance do sinal varia de forma
brutal de acordo com os obstáculos pelo caminho e com o tipo de antenas usadas, entre
os clientes [2]. Os pontos de acesso e placas utilizam por padrão antenas baratas, que
proporcionam um alcance reduzido, assim, o sinal da rede é reduzido podendo ser
capturado de muito mais longe por alguém com uma antena de alto ganho [7].
Um dos grandes problemas das comunicações sem fio era a falta de
padronização entre os fabricantes. Equipamentos de fabricantes diferentes não eram
compatíveis uns com os outros. Devido a isso, em 1997, a IEEE (Institute of Electrical
and Electronics Engineers) publicou o padrão específico para redes sem fio,
denominado 802.11, que define a camada de Controle de Acesso ao Meio (MAC) para
as transmissões [4]. Atualmente, segundo [8], o padrão 802.11 conta com alguns sub-
padrões, sendo os principais descritos abaixo:
• 802.11b: permite 11 Mbps de velocidade de transmissão máxima;
• 802.11a: definido após o 802.11b, busca resolver problemas existentes
anteriormente, possui velocidade máxima de 54Mbps;
• 802.11g: permite que equipamentos dos padrões b e g, possam operar mesma
faixa, tendo como velocidade máxima 54Mbps, sendo que alguns fabricantes
não padronizados trabalham em 108Mbps.
3. Além dos padrões oficiais, existem as extensões proprietárias criadas pela
Atheros e Broadcom para aumentar de desempenho das redes baseadas em seus
produtos, é o caso dos padrões super G e Afterburner [2]. Com o intuito de oferecer
velocidades reais de transmissão superiores a 100 megabits, a IEEE desenvolveu outro
padrão, o 802.11n. Combinada a uma série de melhorias, o padrão opera na faixa dos 5
GHz.
Além disso, o padrão IEEE 802.11 define os esquemas de encriptação WEP e
WPA, para que os dados sejam criptografados antes de serem transmitidos [4]. As
seções seguintes tratam com mais ênfase a questão da segurança.
3. Segurança de Redes Wireless
A preocupação com os dados que trafegam em uma rede sem fio é uma questão muito
discutida entre diversos profissionais da área. Apenas a restrição ao acesso à rede não é
suficiente, é necessário também manter seguro os dados que nela trafegam [8]. Em uma
rede wireless, o dispositivo central é o AP. Ele é ligado a um repetidor da rede e se
encarrega de distribuir o sinal para os clientes [7].
Segundo [6], entende-se por vulnerabilidade as falhas ou falta de segurança das
quais pessoas mal intencionadas podem se valer para invadir, subtrair, acessar
ilegalmente, adulterar e destruir informações confidenciais. A segurança das redes sem
fio leva em consideração quatro aspectos fundamentais:
• Confiabilidade – O sinal transmitido pela rede pode ser captado por qualquer
receptor atuante na área em que o sinal estiver ativo.
• Integridade da Informação – Garantir que os dados trafegados na rede não sejam
alterados entre o receptor e o transmissor.
• Disponibilidade da Rede – Manter a rede acessível.
• Autenticidade – Fazer com que a autenticação para o acesso à rede ocorra.
Com o uso de antenas direcionais, é possível capturar o sinal de um AP a mais
de um quilômetro de distância [9]. Desse modo, qualquer um com uma antena de alto
ganho, pode conseguir captar o sinal da rede e se conectar à ela, ter acesso a uma
conexão com a web, além de arquivos e outros recursos disponíveis, se compartilhados
em rede [2].
Existem mecanismos de segurança criados para encriptar os dados impedindo
que estes sejam facilmente interpretados pelos invasores. O WEP é o protocolo de
segurança padrão do 802.11x, atuando na camada de enlace entre as estações e o ponto
de acesso. Oferece confidencialidade, integridade e autenticação [10]. E WPA também
conhecido como WPA2 ou TKIP (Temporal Key Integrity Protocol - protocolo de chave
temporária) surgiu para corrigir os problemas de segurança encontrados no WEP [8].
Entretanto, é fácil burlar a maioria destas proteções e quebrar a encriptação do
WEP (inclusive do WEP de 128 bits), além de descobrir passphrases WPA fáceis,
usando ferramentas simples, que serão apresentados na seção seguinte.
4. Ferramentas (Kismet e Aircrack-ng)
Esta seção é destinada a descrever sobre as ferramentas Kismet e Aircrack-ng. Antes
disso, é necessário entender algumas palavras chaves, principalmente para compreender
a implementação logo mais adiante na seção 5 deste artigo.
4. MAC – Controle de Acesso ao Meio. É o endereço da placa de rede.
SSID – Identificador do conjunto de serviços (nome do ponto de acesso)
BSSID – endereço MAC do ponto de acesso.
Canal – Canal de frequência a que está configurado o ponto de acesso.
Beacon – pacotes de transmissão enviados periodicamente pelo ponto de acesso (AP).
Broadcast – transmissão de pacotes por difusão
wlan0 ou ath0 – interface de rede sem fio. Para saber o nome da interface da placa só
executar o comando ifconfig no terminal do Linux.
passphrase – palavras que serão testadas pelo aircrack. Encontram-se em um arquivo de
dicionário.
IV's – vetores de inicialização.
A seguir são apresentadas descrição, características e funcionamento de cada
ferramenta proposta. Por convenção, todos os comandos que deverão ser executados no
terminal terão detaque com cor de fonte azul.
4.1. Kismet
O Kismet é um analisador de rede, que pode ser usado tanto para checar a segurança da
rede wireless, quanto para checar a presença de redes vizinhas e assim descobrir os
canais que estão mais congestionados, ou até invadi-las. Esta ferramenta pode ser usada
tanto para o “bem” quanto para o “mal”, dependendo da índole de quem a usa [2].
Para instalá-lo, deve-se seguir os seguintes passos. Lembrando que todos os
comandos aqui apresentados foram executados na distribuição Ubuntu 8.10.
1º – Abrir um terminal e como super usuário executar os seguintes passos:
# apt-get install kismet
2º – Abrir o arquivo de configuração do Kismet
# gedit /etc/kismet/kismet.conf
3º – encontrar a linha:
source = none, none, addme
substitui-la por: source=<driver da placa wireless>, <interface de rede> , <apelido> .
Exemplo:
source = ipw3945, wlan0, sky
4º – executar o programa através do comando:
# kismet
A tela inicial é apresentada na ilustração 1.
DETALHE: A linha <source = ipw3945, wlan0, sky> é um exemplo, isso varia de placa
para placa. Clique aqui para obter mais informações sobre os drivers e placas
suportados pelo Kismet. Quanto a interface de rede, digite o comando ifconfig e
verifique qual o nome da interface.
5. Figura 1: kismet atuando na detecção de redes e
captura de pacotes
O Kismet é uma ferramenta de código-aberto que inclui um grande número de
ferramentas e opções. As informações que o Kismet consegue obter sobre o estado
geral da sua área de abrangência são: número de redes wireless detectadas, número total
de pacotes capturados pelas redes, ausência ou não de criptografia WEP, número de
pacotes com o IV fraco, número de pacotes irreconhecíveis, número de pacotes
descartados e tempo decorrido desde a execução do programa, inclusive os alertas de
intrusão [4], ilustrados na figura acima.
Atua de forma passiva, ativando a placa wireless em modo de monitoramento.
Mesmo pontos de acesso configurados para não divuldar o SSID ou com encriptação
ativa são detectados [2].
Para obter mais informações sobre as redes, é possível utilizar a tecla “s“ é
apresentado um menu, onde o usuário pode escolher as formas de visualização de
informações. Pode-se travar o Kismet à uma rede específica pressionado “shift+L”,
assim, todos os pacotes transmitidos serão capturados. Sendo que o próprio software, ao
ser iniciado, armazena todos os pacotes no diretório /var/log/kismet. Um de seus
arquivos de log é o de extensão .dump, arquivos esses que contem toda a captura de
pacotes e que podem ser analisados por outras aplicações como o Wireshark.
A intenção deste trabalho não é analisar esses pacotes. Para este experimento o
Kismet servirá apenas para obtermos algumas informações sobre os pontos de acesso e
os clientes conectados. O software a seguir se encarregará da parte mais interessante
desta demonstração.
4.2. Aircrackng
O Aircrack-ng é uma suite de aplicações para verificação de reeds wireless, pode ser
encontrada em http://freshmeat.net/projects/aircrack/. Para instalá-lo no Linux:
# apt-get install aircrack-ng
O aircrack usa um ataque de força bruta para tentar descobrir a chave de
encriptação da rede. A base dos ataques são os IV's, a parte de 24bits da chave que é
trocada periodicamente. É possível quebrar a encriptação de uma rede128bits
6. capturando cerca de 500 mil a um milhão de IV's, para chaves de 64bits pode ser
quebrada com pouco mais de 200 mil. Se houver muito tráfego na rede maior a captura
de dados maior será a possibilidade de descobrir a senha [2].
Na seção 5 é possível verificar melhor o funcionamento desta aplicação.
5. Implementação
A implementação deste trabalho foi realizada com o Sistema Operacional Ubuntu 8.10,
em um notebook Core 2 Duo, placa de rede wireless com chipset Intel e instalado o
driver ipw3945. As redes analisadas neste experimento foram uma rede com criptografia
WEP encontrada nas proximidades da UFPA (Universidade Federal do Pará) – apenas
com o objetivo de realizar o experimento – e a própria rede sem fio do Campus
universitário da UFPA de Santarém, que utiliza criptografia WPA.
5.1. Quebrando chave WEP
Muitos pontos de acesso antigos utilizam versões vulneráveis do WEP, que são fáceis
de quebrar. Mesmo suas versões “não vulneráveis” podem ser quebradas via força bruta
[2]. Nesta parte do artigo, é demonstrada quebra de criptografia WEP.
Primeiramente, deve-se executar o Kismet, como foi explicado anteriormente e
obter as seguintes informações: SSID, BSSID (endereço MAC do ponto de acesso),
endereço MAC de alguns cliente do ponto de acesso selecionado, o canal do ponto de
acesso, verificar o tipo de encriptação da rede, nesse caso, o WEP,
No segundo passo, é necessário abrir outro terminal. Deve-se falsear o
endereço MAC da sua placa de rede com o do cliente da rede intencionada. Seguindo os
comandos abaixo:
# ifconfig wlan0 down //”derrubar” a placa wireless para poder trocar o MAC da placa.
# macchanger -m 00:23:d5:1a:df:0c wlan0 //este programa permite falsear o MAC.
A próxima etapa é deixar a placa em modo de monitoramento, se o Kismet não
estiver executando. Pois o Kismet automaticamente coloca a placa em modo monitor.
#airmon-ng start wlan0 //se o Kismet estiver executando esta linha não é necessária.
Nesta etapa do processo, o comando aireplay é utilizado para gerar uma
quantidade suficiente de tráfego na rede permitindo que se gere pacotes mais
rapidamente.
# aireplay-ng -2 -p 512 -c ff:ff:ff:ff:ff:ff -b <BSSID> -h <MAC falseado> wlan0
É preciso substituir as partes em destaque pelas informações que foram obtidas
pelo Kismet, logo no início deste processo. Por Exemplo:
# aireplay-ng -2 -p 512 -c ff:ff:ff:ff:ff:ff -b 00:23:d5:fa:9e:c1 -h 00:23:d5:1a:df:0c
wlan0
Como a intenção é capturar IV's para a obtenção da senha, será gerado um
arquivo na pasta local, chamado test cuja extensão será .ivs. Com o comando anterior
executando, Deve-se abrir outro terminal e executar o comando seguinte:
# airodump-ng –channel <Nºcanal> --bssid <BSSID> --ivs --write <nomeArquivo>
wlan0
7. Figura 2: airodumpng sendo executado
E por fim é executado o comando aircrack-ng que irá efetivamente tentar
quebrar a chave WEP. Também precisa-se abrir outro terminal para executá-lo. O
Aircrack-ng irá executar automaticamente, até conseguir encontrar a chave correta, por
tentativa e erro.
# aircrack-ng -f 4 -n 128 test.ivs
O resultado só não foi possível devido ao fato da rede selecionada possuir
poucos clientes e gerar pouco tráfego e consequentemente, ser capturado poucos menos
de 22.000 pacotes em três dias de captura.
5.2. Quebrando chave WPA
Com a chave WAP o processo não foi tão diferente. Porém chaves WPA são muito mais
difíceis de serem burladas. Para esse tipo de encriptação é utilizado um ataque de força
bruta para descobrir passphrases fáceis, baseadas em listas de dicionário, que podem ser
encontradas fazendo a busca por “wordlists” no Google, como o repositório disponível
no http://www.outpost9.com/files/WordLists.html [2]. Estas listas também podem ser
encontradas no diretório /usr/share/dict/words
O primeiro de tudo, é seguir os mesmos passos do tópico anterior o colocar a
placa em modo monitor navamente. Isso porque é necessário obter os dados da rede
WAP e falsear um novo MAC para sua placa wireless.
O passo seguinte é abrir um terminal e rodar o comando airodumpng para
capturar transmissões, outro para rodar o aireplayng desconectando o cliente e o
obrigando a se reconectar ao ponto de acesso, de forma que os pacotes sejam
capturados.
# airodumpng w lost channel <nº canal> wlan0
Esse comando cria um arquivo lost.cap onde serão armazenados os pacotes da
rede onde foi informado o canal a que foi configurado o ponto de acesso.
#aireplayng 0 1 a <BSSID> c <MAC falseado> wlan0
Esse comando irá simular um pedido de desconexão do seu PC ao ponto de
acesso, desconectando o cliente especificado. Certamente o cliente tenta se reconectar,
fazendo com que ele se reautentique. Assim os pacotes são capturados [2].
8. Um outro terminal será necessário para executar a tentativa de quebra de
chave, usando a lista de palavras do diretório especificado anteriormente. O processo foi
executado da seguinte forma, para testar a eficiência dos comandos. Como a senha da
rede sem fio do campus é liberada para os acadêmicos, a mesma foi inserida em uma
linha da lista de palavras do arquivo /usr/share/dict/words. Na quinta tentativa, foi que o
comando mostrouse eficiente. Encontrando a senha em pouco tempo.
# aircrackng e <SSID> w /usr/share/dict/words lost.cap
Figura 3: aircrackng executando.
Ao que se pode observar, é que esse processo só terá sucesso se a senha estiver
contida na lista. Tornase ineficaz para senhas criadas aleatoriamente. O importante é
não criar senhas fáceis de serem memorizadas, pois estas, facilmente podem estar numa
dessas listas espalhadas pela internet.
6. Considerações finais
O experimento abordou aspectos referentes ao que hoje é considerada a maior
preocupação existente ao se implantar redes locais sem fio, a questão da segurança.
Apesar das vulnerabilidades existentes nas redes sem fio, algumas destas não podem ser
facilmente exploradas. Ou seja, somente um atacante com um bom grau de
conhecimento da tecnologia é capaz de dispará-los, o que de certa forma mantém estas
vulnerabilidades ocultas.
Vale lembrar que estas ferramentas podem servir para ajudar ou auxiliar no
processo de análise para auditorias de redes sem fio. Possibilitando o monitoramento de
seu desempenho e etc.
7. Referências
[1] 3Elos.com (2009) “Solução de Segurança em Redes sem fio”,
http://www.3elos.com/solucoes/redesemfio.php, Novembro/2009.
[2] Morimoto, Carlos E. (2008) “Redes Wireless”, Redes, Guia Prático, Porto Alegre-
RS, Sul Editores.
[3] Mário Coelho (2005) “Quebrando chave WEP (Wired Equivalent Privacy) ”,
http://www.vivaolinux.com.br/artigo/Quebrando-chave-WEP-%28Wired-Equivalent-
Privacy%29-parte-1?pagina=1, Outubro/2009.
9. [4] Torres, Gabriel (2001) “Redes de Computadores Curso Completo”, Rio de Janeiro –
RJ, Awcel Brooks.
[5] Cunha, Raimundo P. Neto (2008) “Vulnerabilidades em RedesWireless”,
http://www.faete.edu.br/revista/Artigo_VulnerabilidadesemRedesSemFios.pdf ,
novembro/2009.
[6] Duarte, Luiz Otávio. (2003) “Análise de Vulnerabilidades e Ataques Inerentes a
Redes Sem Fio 802.11x.” www.acmesecurity.org/hp_ng/files/testes_monografias/
acme-monografia-Wireless-2003-LOD.pdf, novembro/2009.
[7] Morimoto, Carlos E., (2005) “Redes e Servidores, Guia Prático”, 2ª. ed. - Porto
Alegre-RS, Sul Editores.
[8] Albuquerque, Alessandro F. de (2008) “Estudo de Métodos de Proteção de Redes
Wireless”, , novembro/2009.
[9] Silva, Fabiano e Ludwig, Glauco A. (2008) “Desenvolvimento de uma Metodologia
para Auditoria em Redes Sem Fio IEEE 802.11b/g”,
http://sbseg2008.inf.ufrgs.br/proceedings/data/pdf/st02_02_wticg.pdf,
novembro/2009.
[10] Andrade, Lidiane P., Soares, Daniel N., Coutinho. Mauro M., Abelém. Antônio
Jorge G. (2004) “Análise das vulnerabilidades de Segurança existentes nas redes
locais sem fio: um estudo de caso do projeto wlaca.”
http://www.cci.unama.br/margalho/artigos/wlaca.pdf, novembro/2009.