terça-feira, 30 de agosto de 2011

Explorando senhas fracas com o protocolo WPA2 usando o aircrack-ng

Angelo Mota Barbosa, Manoel Davi da Costa Meireles e Osvaldo Holanda Peixoto.

Resumo.  A segurança nas redes sem fio ainda é encarada como um requisito passivo a questionamento, e medidas abordadas para garantir a integridade das informações estão sendo gradativamente aplicadas, dentre elas dá-se uma atenção especial para os protocolos WEP (Wired Equivalency Privacy), WPA/WPA2 (Wi-Fi Protected Access), apesar de alguns destes protocolos já terem suas falhas conhecidas ainda sim, devem ser aplicados como mais uma alternativa de segurança. Este estudo teórico e prático pretende realizar uma análise sobre a vulnerabilidade do protocolo de encriptação do WPA, analisando seus paradigmas e suas diferenças.

1.      INTRODUÇÃO

O padrão WPA (Wi-Fi Protected Access) é o sucessor do protocolo WEP. Desenvolvido pela Wi-Fi Alliance, serviu como uma correção temporária para as vulnerabilidades conhecidas no WEP até o IEEE disponibilizar o padrão 802.11i (WPA2).

O 802.11i é o padrão IEEE oficial, que incorpora as correções implementadas no WPA para as vulnerabilidades do WEP e outros mecanismos de autenticação para proteger ainda mais as redes sem fio.

A maior diferença entre o WPA2 e WPA é o tipo de criptografia usado, onde no WPA2 usa-se AES e RC4 no WPA, e o protocolo utilizado para a confidencialidade e integridade, onde no WPA2 usa-se CCMP e TKIP no WPA.

Tanto o WPA como o WPA2 podem ser executados no modo home ou enterprise. Modo home significa que o AP e todos os clientes estão usando uma chave pré-compartilhada (PSK), já no modo enterprise significa que a organização está usando um servidor RADIUS para autenticação. Apesar do nome (enterprise, significa empresa em português), muitas empresas usam o modo PSK (home), porque é muito mais fácil de implantar.

Neste artigo estaremos mostrando como é possível atacar uma rede sem fio que esteja usando o protocolo WPA2-PSK com a utilização de um dicionário. É possível usar também o John The Ripper para quebrar a senha, mas para este artigo estaremos abordando a utilização de um dicionário com o pacote de ferramenta aircrack-ng.

Iremos utilizar o BackTrack -  distribuição com foco em testes de segurança e testes de penetração – que já vem com a suíte de ferramenta aircrack-ng no repositório oficial da distro.

Quando se trata de WPA/WPA2 a chave pré-compartilhada pode ser de 8 a 63 caracteres de comprimento, com isso torna-se quase “impossível” para quebrar essa chave, dificultando ainda mais se essa chave for composta de símbolos especiais. A única vez que você pode quebrar a chave pré-compartilhada é se a mesma for uma palavra de dicionário ou relativamente curto de comprimento. Neste artigo não estaremos considerando o tamanho e nem a complexidade da chave, já que a mesma pertence ao nosso dicionário, sendo assim não fazendo diferença se a chave é “minharede” ou “Mi@nH@r$d&”.

Para que possamos disparar um ataque com base em dicionário é necessário primeiramente capturar o que chamamos de four-way handshake entre o cliente e o AP. O objetivo do four-way handshake é autenticar o cliente e o ponto de acesso, onde o processo de autenticação é realizado durante o four-way handshake.

O que é preciso para este ataque?

- sua placa de rede sem fio possa injetar pacotes
- capturar 4 way handshake
- usar o aircrack-ng

Passo 1: Configurando no Modo Monitor

Para que você possa injetar pacotes é necessário que a placa de rede sem fio esteja no modo Monitor, para isso estaremos usando o comando airmon-ng, veja a figura abaixo:


Veja que foi detectado a placa de rede wlan0, agora precisamos colocar nossa placa em modo Monitor, para isso execute o comando conforme mostra a figura abaixo:



Veja que o airmon-ng criou uma nova placa chamada mon0 e esta por sua vez esta no modo Monitor, é essa placa que iremos usar a partir deste momento.

Passo 2: Listando as redes sem fio ao alcance

Para que possamos direcionar nosso ataque precisamos coletar algumas informações que são de extrema importância como o BSSID (endereço MAC do AP), CH (canal sendo usado), ESSID (nome da rede) e o STATION (endereço MAC do cliente). O comando airodump-ng serve para capturar pacotes de rede sem fio para que possa ser usado posteriormente com o aircrack-ng ou outra ferramenta do tipo. O  comando abaixo permite que analisemos somente o tráfego que esteja usando WPA:
  
#airodump-ng --encrypt wpa mon0



Dica:

Para agilizar o ataque podemos salvar todas essas informações como variáveis de ambiente, digamos que coletamos as informações abaixo na saída do airodump-ng:

BSSID=00:18:6e:9b:d9:80
STATION=00:11:22:33:44:55
ESSID=linksys

Vamos criar um script em shell e executaremos esse script toda vez que abrirmos um terminal, veja o script abaixo que chamamos de variaveis.sh:
#!/bin/bash
export BSSID=00:18:6e:9b:d9:80
export STATION=00:11:22:33:44:55
export ESSID=linksys

Com isso o comando: aireplay-ng -1 0 -a 00:18:6e:9b:d9:80 -h 00:11:22:33:44:55 -e linksys mon0

Poderia ser executado desta forma: aireplay-ng -1 0 -a $BSSID -h $STATION -e $ESSID mon0

Passo 3: Capturando 4 way handshake

Como dito anteriormente é necessário capturar o que chamamos de 4 way handshake entre o cliente e o AP e salvar em um arquivo para que depois possa ser usado pelo aircrack-ng. O comando a seguir salvara todo o tráfego entre o cliente e o AP no arquivo que chamaremos de psk-handshake.cap:

# airodump-ng -w psk-handshake.cap -c 6 --bssid $BSSID mon0



Precisamos forçar o cliente a se autenticar novamente para que possamos com isso capturar o 4 way handshake. Abra um novo terminal, não feche o terminal que esta rodando o comando anterior, vamos usar o comando aireplay-ng para isso, veja a figura abaixo:


Passo 4: Time to crack

Temos o nosso arquivo com o 4 way handshake (psk-handshake.cap), agora precisamos de um dicionário para usar com o aircrack-ng. Vamos criar um dicionário simples com 10 palavras, sendo que uma dessas palavras é a chave. Agora é só executar o comando:

#aircrack-ng psk-handshake.cap -w dicionario


Conclusão

— WEP  protocolo ultrapassado;
— WPA corrige vulnerabilidade do WEP;
— WPA2 (802.11i) versão Oficial da Wifi Alliance;
— Senhas fracas, é possivel quebrar no WPA2;
— Use WPA2 com senhas fortes;
— Variedades de ferramentas para quebrar o WPA2
aircrack-ng
coWPAtty



REFRENCIA








Análise de Tráfego no Xplico utilizando arquivo pcap gerado pelo tcpdump

Artigo sobre: Análise de Tráfego no Xplico utilizando arquivo pcap gerado pelo tcpdump



Angelo Mota Barbosa, Davi Meirelles e Osvaldo Holanda Peixoto.

Resumo. Este artigo apresenta uma análise previa do tráfego de uma rede de computadores usando Xplico com um arquivo salvo anteriormente utilizando a ferramenta tcpdump. Atualmente, a ferramenta tcpdump não possui uma interface amigável dificultando muito em casos de análise em tráfegos intensos. A utilização do Xplico facilita muito a vida de qualquer administrador de sistemas permitindo por meio de acesso WEB obter e analisar o tráfego que estará dividido por categoria.


1. Introdução
O Xplico extrai de um arquivo pcap ou pode fazer a mesma analise em tempo real informações como: email (POP, IMAP e SMTP), HTTP, VoIP (SIP e RTP), FTP, TFTP etc. Considerado pelos seus desenvolvedores um NFAT -  Network Forensic Analysis Tool e não um analisador de protocolo de rede, vem sobre a licença GPL e é open source. Neste artigo estaremos analisando o tráfego salvo em um arquivo pcap utilizando a ferramenta tcpdump, à análise em tempo real utilizando o Xplico não está em um nível de maturidade aceitável, sendo apenas interessante em um espaço curto de tempo e em redes de pequeno porte, por motivos de demonstração que a equipe de desenvolvedores adicionou essa funcionalidade no Xplico.
O Xplico é um sistema de 4 componentes:

Ø  DeMa: é o gerenciador de decodificação
Ø  Xplico: decodificador IP
Ø  Um conjunto de manipuladores de dados
Ø  Um sistema de visualização dos dados


No site oficial você pode ver os screenshots do XI (Xplico Interface), que é a ferramenta web de visualização do Xplico. Segue abaixo alguns screenshots:






Iremos utilizar o BackTrack -  distribuição com foco em testes de segurança e testes de penetração – que já vem com o Xplico no repositório oficial da distro. O Xplico vem por padrão também na distro Deft que é um live CD para analise forensic.

No BTR2 (BackTrack 4 Release 2) o Xplico já veio instalado, qualquer problema é só usar a ferramenta aptitude para instalar o pacote. Abaixo segue o procedimento para iniciar o Xplico:

1 - Inicie o Apache2
/etc/init.d/apache2 start
2 - Inicie o Xplico
/etc/init.d/xplico start

Obs: o serviço estará escutando na porta 9876 de loopback (127.0.0.1)

Execute o Firefox e coloque como URL: http://127.0.0.1:9876

Por padrão temos dois usuários no sistema para acessar o Xplico: o xplico com senha xplico e o admin com senha xplico. Neste artigo estaremos analisando um arquivo pcap de 30MB, para salvar este arquivo utilizei o comando tcpdump como mostra abaixo:

# tcpdump -i eth0 -vvv -s0 -S -XX -A -w saida.pcap

Vamos logar com o usuário xplico e depois clique em “New Case” como mostra a figura abaixo, isso é necessário pra criar um caso, toda atividade será analisada conforme o caso em questão:


Preencha os campos como mostra na figura e deixe marcada a opção “Uploading PCAP...”. A opção “Live acquisition” permite com que façamos uma analise em tempo real, que não é o caso deste artigo. Clique em “Create” e na próxima tela aparecerá listado os casos criados, clique em “Analise de trafego” e depois em “New Session” e dê um nome para a sessão, no meu caso usei o nome “Analise”, para cada Case você poderá ter várias Session para analisar diversas anomalias em momentos diferentes, depois clique sobre “Analise” e aparecerá como mostra a figura abaixo:


Na aba “Pcap set” você pode fazer o upload do arquivo pcap, porém esta opção suporta por padrão o upload de arquivos de até 2 MB, isso pode ser reconfigurado, se o arquivo for maior do que 2 MB use a opção “SFTP uploading big pcap files”. Coloque o mouse em cima da opção “SFTP uploading big pcap files”, porém não clique em cima, olhe no canto inferior esquerdo o caminho para onde o arquivo será copiado, veja a figura abaixo:


Agora abra o Konqueror no caminho /opt/xplico/pol_1/sol_1/new e copie seu arquivo pcap, espere alguns segundos que o xplico ira decodificar o arquivo e depois carregara todas as informações separadas co por categoria, veja na figura abaixo um resumo feito pelo Xplico depois de decodificar nosso arquivo:


Veja que tudo foi separado por categoria, tornando bem fácil para possíveis analises. Fazendo uma rápida analise no quadro HTTP, percebemos a presença de 29 Posts, 1826 Gets, 4 Vídeos e 958 Imagens. Na aba esquerda podemos ter mais detalhes sobre esses acessos, como: sites visitados, hora e data do acesso, tipo de requisição, se houve tentativa de SQLi ou outro ataque usando URL, entre outros. Vamos analisar com mais detalhes os acessos web, para isso na aba esquerda clique sobre WEB e depois em SITE, veja figura abaixo:


Podemos ver que no dia 17/08/2011 as 11h07min (linha 6) houve uma tentativa de ataque conhecida como LFI e no mesmo dia as 11h06min (linha 9) houve uma tentativa de ataque de SQL injection. Para obter mais informações basta clicar sobre o GET correspondente ou no info.xml. Veja que podemos também filtrar nossa pesquisa conforme interesse, onde temos as opções Image, Flash, Vídeo, Audio, All e Html que é o padrão.

2. Conclusões
O Xplico possui uma funcionalidade muito interessante, a capacidade de extrair de pacotes (.pcap) dados de aplicações de uma forma que qualquer usuário posso ler e entender, Ele é um analisador de protocolos de rede, e uma ferramenta de análise forense (Network Forensic Analysis Tool (NFAT), que é capaz de interpretar quase todos os protocolos mais usados e capturados de forma prática e visual.