. .
Versão: 1.20 de 07 de Março de 2010
Por: darkAudax - www.aircrack-ng.org
Tradução: Rubem A. Figueredo – rafig38@gmail.com
Este tutorial levará você a craquear redes WPA/WPA2 as quais usam chave pre-compartilhadas. Eu recomendaria você ler em background (fazer uma leitura extra em outro material) para entender o que é WPA/WPA2.
WPA/WPA2 suporta muitos tipos de autenticação além de chaves pre-compartilhadas. Aircrack-ng pode somente craquear chaves pre-compartilhadas. Então, o airodump-ng mostrará as redes que tem o tipo de autenticação PSK, senão, não se incomode tentando craqueá-las.
Existe uma outra importante diferença entre craquear WPA/WPA2 e WEP.
Isto é, a abordagem usada para craquear a chave pre-compartilhada WPA/WPA2.
Diferente de WEP, onde o método estatístico pode ser usado para acelerar o processo de craqueamento, somente técnicas de força bruta simples poderá ser usada contra WPA/WPA2.
Isto é possível porque a chave não é estatística, então coletar os IV s como num craqueamento de encriptação WEP, não acelera o ataque.
A única coisa que faz é dar a informação para iniciar um ataque em uma conexão tipo handshake entre o cliente e o AP.
Uma conexão do tipo handshake é feita quando o cliente conecta na rede. Embora não seja absoluta verdade para o propósito deste material, considerar isto como uma verdade. Se a chave pre-compartilhada for de 08 a 63 caracteres de comprimento, poderá se tornar impossível de craquear a chave pre-compartilhada.
O único modo em que você poderá craquear a chave pre-compartilhada é se você usar um bom dicionario de palavras ou se a chave for relativamente curta.
Por outro lado, se você quer ter uma rede em casa quase que inquebrável (ou difícil de ser craqueada!), use WPA/WPA2 e uma senha com caracteres compostos de caracteres randômicos incluindo símbolos especiais.
É impactante se fazer uso de força bruta como uma abordagem substancial, porque esta abordagem é feita através de uma computação intensiva, um computador poderá somente testar de 50 a 300 possibilidades por segundo, dependendo do processamento do computador. Isto pode levar horas, senão dias, verificando através de um grande dicionário. Se você está pensando sobre como gerar seu própria lista para cobrir todas as permutações e combinações de caracteres e símbolos especiais pesquise primeramente por uma calculadora de tempo, para ver o tempo gasto num ataque de força bruta. Você se surpreenderá com quanto tempo será requerido.
Isto quer dizer que você deverá ter um dicionario de palavras para quebrar uma passphrase de uma rede com WPA/WPA2. Se não tiver um dicionário, então o aircrack-ng estará inabilitado para descobrir a chave.
Não existe diferença entre craquear redes WPA e WPA2. A metodologia de autenticação é basicamente a mesma entre elas. Logo, a técnica que você usará será idêntica.
É recomendado que você faça experiências com sua própria rede wireless, usando seu ponto de acesso (AP), para se familiarizar com as ideias e técnicas. Se você não possuir um ponto de acesso particular, por favor, lembre-se de solicitar permissão do proprietário do AP para realizar seus testes.
Eu gostaria de agradecer ao time(grupo desenvolvedor) do Aircrack-ng pelos procedimentos e pela grande ferramenta que é o Aircrack-ng.
O tradutor também agradece ao Ygor Bittencourt-LPIC-3, pelo incentivo desta e de outras traduções.
Por favor, nos envie comentários e criticas tanto positivas, quanto negativas para que possamos melhorar.
Ideias de resolução de problemas e dicas são especialmente bem-vindas.
Que você está usando drivers corrigidos, para injeção. Use o teste de injeção para confirmar se sua placa de rede pode injetar pacotes;
Que você está fisicamente e rasoavelmente próximo para enviar e receber pacotes do ponto de acesso(AP) e para o cliente da rede wireless. Lembre-se que só porque você pode receber pacotes deles, não quer dizer que você poderá transmitir pacotes. O alcance da placa de rede wireless é tipicamente menor que a distancia de alcance do AP, este alcança uma distância bem maior. Logo você deverá está relativamente próximo para transmitir e receber pacotes entre o AP e o cliente wireless;
Que você está usando a versão v0.9.1 ou maior do aircrack-ng. Se você usa uma versão diferente então algumas opções dos comandos podem ser diferentes.
Certifique-se de que todas as convensões acima são verdadeiras, senão as instruções seguintes não funcionarão.
Nos exemplos abaixo você irá precisar trocar “ath0” pelo nome da interface que está especificada para sua placa de rede wireless.
Você deverá presumir que as informações equivalentes para a rede a qual você estará trabalhando estão ativas. Então somente troque o valor nos exemplos abaixo para uma rede específica.
O objetivo é capturar a autenticação, tipo handshake, WPA/WPA2 e então usar o aircrack-ng para craquear a chave pre-compartilhada.
Isto pode ser feito ativamente ou passivamente. “Ativamente” quer dizer que você acelerará o processo de desautenticação de um possível cliente de rede wireless existente. “Passivamente” quer dizer que você simplesmente esperará pela autenticação a uma rede WPA/APA2 de um cliente de rede wireless. A vantagem do modo passivo é que você não precisa da capacidade de injeção, deste modo então, a versão Windows poderá ser usada.
1. Inicializar a interface wireless em modo monitor num canal especifico de um AP;
2. Iniciar o airodump-ng em um canal de um AP com filtro para bssid para coletar autenticações handshake;
3. Usar o aireplay-ng para desautenticar o cliente wireless;
4. Rodar o aircrack-ng para craquear a chave pre-compartilhada usando a autenticação handshake.
O proposito deste passo é colocar a sua placa de rede wireless no que chamamos de modo monitor. O modo monitor é o modo pelo qual a sua placa wireless pode escutar todos os pacotes que passam pelo ar. Normalmente sua placa wireless desejará somente “ouvir” pacotes endereçados para você. Escutando todos os pacotes, nós poderemos mais tarde capturar o modo “handshack”(como se fosse um “aperto de mãos”). Bem, isto nos permitirá opcionalmente desautenticar um cliente wireless (alguém conectado) em um passo mais tarde.
O procedimento exato para habilitar o modo monitor varia dependendo do driver que você está usando. Para determinar o driver (e o procedimento correto para seguir), execute o seguinte comando:
# airmon-ng
Interface Chipset Driver
rausb0 Ralink RT73 rt73 wlan0 Broadcom b43 – [phy0] wifi0 Atheros madwifi-ng ath0 Atheros madwifi-ng VAP (parent: wifi0)
A presença da tag [phy0] no final do nome do driver é um indicador para o driver mac80211. Então a placa de rede wireless está usando o driver mac80211. Note que o driver mac80211 é suportado somente a partir da versão v1.0-rc1 e não funcionará com a versão v.0.9.1.
Ambas entradas das placas wireless Atheros mostram o driver denominado “madwifi-ng”. Siga os passos para montar a placa wireless Atheros com as informações contidas em madwifi-ng-specific (o qual deve ser um arquivo que vem junto com o driver).
Finalmente, a placa de rede wireless Ralink não mostra nenhum destes indicadores. Esta usa o driver ieee80211. Veja as instruções genéricas para montá-la.
# airmon-ng stop ath0
Interface Chipset Driver
wifi0 Atheros madwifi-ng ath0 Atheros madwifi-ng VAP (parent: wifi0) (VAP destroyed)
Digite o comando “iwconfig” para se certificar de que não existe outra interface athX.
lo no wireless extensions. eth0 no wireless extensions. wifi0 no wireless extensions.
\\Se existir alguma interface remanescente, então pare cada uma. Quando você finalizar, rode “iwconfig” novamente para se certificar de não ter deixado nenhuma.
Agora, entre com o comando abaixo para inicializar a placa de rede wireless no canal 9 em modo monitor:
# airmon-ng start wifi0 9
Obs.: Neste comando nós usamos “wifi0” ao invés de nossa interface wireless “ath0”. Isto porque o driver madwifi-ng está usando wifi0.
Interface Chipset Driver
wifi0 Atheros madwifi-ng ath0 Atheros madwifi-ng VAP (parent:wifi0) (monitor mode enable)
Você pode notar acima que “ath0” está sendo mostrado que está no modo monitor.
Para confirmar de que a interface está apropriadamente ajustada, entre com o comando “iwconfig”.
lo no wireless extensions.
wifi0 no wireless extensions.
eth0 no wireless extensions.
ath0 IEEE 802.11g ESSID:"" Nickname:"" Mode:Monitor Frequency:2.452 GHz Access Point: 00:0F:B5:88:AC:82 Bit Rate:0 kb/s Tx-Power:18 dBm Sensitivity=0/3 Retry:off RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=0/94 Signal level=-95 dBm Noise level=-95 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Na resposta acima você pode ver que “ath0” está no modo monitor, com frequência de 2.452GHz que é o canal 9. O parâmetro “Access Point” mostra o endereço MAC da placa wireless. Somente o driver “madwifi-ng” mostra o endereço MAC da placa de rede wireless como parâmetro do campo AP, outros drivers não. Então, tudo está OK. É importante confirmar todas estas informações, as quais são prioritárias para o procedimento, senão os passos seguintes não poderão funcionar (serem executados) apropriadamente.
Para escolher a freqüência do canal dê uma olhada na Tabela 1 no final deste tutorial.
Diferente do driver “madwifi-ng”, você não precisará desmontar a interface wlan0 quando montar o driver mac80211. Em vez disso use o seguinte comando para montar a placa de rede em modo monitor no canal 9:
# airmon-ng start wlan0 9
Interface Chipset Driver
wlan0 Braodcom b43 – [phy0] (monitor mode enable on mon0)
Note que airmon-ng habilita o modo monitor em “mon0”. Logo, o nome correto da interface a ser usado mais tarde nas partes deste tutorial será “mon0”.
Wlan0 está ainda um modo regular (modo gerenciado) e poderá ser usado de forma casual. Você poderá encontrar a expressão “wlan0” ao invés de “mon0” para mostrar que você está no mesmo canal que o AP o qual você está atacando.
Para confirmar o sucesso do ajuste execute “iwconfig”. A seguinte saida deverá aparecer:
lo no wireless extensions.
eth0 no wireless extensions.
wmaster0 no wireless extensions.
wlan0 IEEE 802.11bg ESSID:"" Mode:Managed Frequency:2.452 GHz Access Point: Not-Associated Tx-Power=0 dBm Retry min limit:7 RTS thr:off Fragment thr=2352 B Encryption key:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
mon0 IEEE 802.11bg Mode:Monitor Frequency:2.452 GHz Tx-Power=0 dBm Retry min limit:7 RTS thr:off Fragment thr=2352 B Encryption key:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Aqui, mon0 é visto como estando em modo monitor no canal 9 (2.452GHz). Diferente de “madwifi-ng”, as saidas acima não tem o campo AccessPoint. Note também que wlan0 está ainda presente e em modo gerenciado – Isto é normal porque ambas as interfaces compartilham o radio(AP) comum, Elas devem ser ajustadas para o mesmo canal – trocando o canal de uma interface, também trocar o canal da outra.
Para outros drivers (baseado em ieee80211, por exemplo), simplesmente execute o seguinte comando para habilitar para o modo monitor (use o nome de sua interface de rede ao invés de “rausb0”):
# airmon-ng start rausb0 9
O sistema responderá:
Interface Chipset Driver
rausb0 Ralinkrt 73 (monitor mode enalble)
Neste ponto, a interface deverá está pronta para uso.
O propósito deste passo é executar o airodump-ng para capturar pacotes dos 4 modos de autenticação ( do tipo handshake) com o AP no qual estamos interessados.
A autenticação handshake é feita de uma só vez.
Entre com o comando abaixo:
# airodump-ng -c 9 --bssid 00:14:6C:7E:40:80 -w psk ath0
Onde:
Importante:
Não use a opção “- -ivs”. Você deve capturar os pacotes completos.
Se quiser, não precisará usar o filtro “–bssid <MAC do AP>, daí, você vai capturar todos os pacotes wireless que estiverem ao seu alcance, daí então escolher um AP com o seu respectivo endereço MAC, que vai aparecer para você.
Abaixo está o que parece ser, se um cliente wireless estiver conectado na rede:
CH 9 ] [ Elapsed: 4 s ] [ 2007-03-24 16:58 ] [ WPA handshake: 00:14:6C:7E:40:80 BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 00:14:6C:7E:40:80 39 100 51 116 14 9 54 WPA2 CCMP PSK teddy BSSID STATION PWR Lost Packets Probes 00:14:6C:7E:40:80 00:0F:B5:FD:FB:C2 35 0 116
Na saida acima note que “WPA handshake: 00:14:6C:7E:40:80 ” está no topo à direita. Isto quer dizer que “airodump-ng” capturou os pacotes de autenticação handshake com sucesso.
Abaixo será mostrado como ocorre quando um cliente não está conectado:
CH 9 ] [ Elapsed: 4 s ][ 2007-03-24 17:51 BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 00:14:6C:7E:40:80 39 100 51 0 0 9 54 WPA2 CCMP PSK teddy BSSID STATION PWR Lost Packets Probes
Dicas de resolução de problemas:
Para ver se você capturou algum pacote de autenticação (tipo handshake), existem duas maneiras.
Este passo é opcional. Se você for paciente, você poderá esperar até que o airodump-ng capture os pacotes de autenticação handshake quando um ou mais clientes se conectar ao AP. Você somente executará este passo se você optar por acelerar a atividade do processo. A outra restrição é que deverá existir um cliente wireless associado ao AP. Se não existir um cliente corretamente associado com o AP, então você deverá ser paciente e esperar por alguém conectar ao AP, então os pacotes de conexão com o AP poderão ser capturados. Desnecessário dizer, que se um cliente wireless se conectou e o airodump-ng não capturou os pacotes de conexão handshake, você poderá voltar a executar este passo do início para que ele possa capturar, estando o cliente já conectado.
Este passo envia uma mensagem para o cliente wireless desconectando-o com o AP, mas uma desconexão rápida. O cliente wireless então se re-autenticará com o AP . A re-autenticação é que gera os pacotes de autenticação handshake que nós estamos interessado em coletar. Estes pacotes são o que precisamos para quebrar a senha correspondente a chave compartilhada WPA/WPA2.
Baseado na informação de saída do airodump-ng referida no passo anterior, você determina um cliente que está corretamente conectado. Você precisa do endereço MAC para os passos seguintes.
Abra um outro console e tecle o comando abaixo:
# aireplay-ng -0 1 -a 00:14:6C:7E:40:80 -c 00:0F:B5:FD:FB:C2 ath0
Onde:
Abaixo é mostrado como ficará a saída do comando:
11:09:28 Sending DeAuth to station - - STMAC: [00:0F:B5:34:30:30]
Com sorte isto causará uma reautenticação do cliente wireless e produzirá os pacotes de autenticação handshake.
Dica de resolução de problemas:
Os pacotes de desautenticação são enviados diretamente do seu PC para o cliente. Logo você deverá está fisicamente próximo ao cliente para que a transmissão de sua placa de rede wireless o alcance (alcance o cliente). Para confirmar se o cliente recebeu os pacotes de desautenticação, use o tcpdump ou similar para ver os pacotes ACK que voltaram do cliente. Se você não obteve pacotes ACK de volta, então o cliente não “ouviu” o pacote de desautenticação.
O propósito deste passo atual é craquear as chaves pre-compartilhadas WPA/WPA2. Para isto, você precisará de um dicionario de palavras (word list). Basicamente, o aircrack-ng pega cada palavra e testa para ver se esta é de fato a chave pre-compartilhada. Existe um pequeno dicionario que vem com o aircrack-ng – “password.lst”. Este arquivo pode ser encontrado no diretório de “test”, que contém os codigos fonte do aircrack-ng. Você pode usar o “John the Ripper (JRP)” para gerar sua própria “word list” e usá-la no aircrack-ng. O uso do JRT em conjunto com o aircrack-ng está além do escopo deste tutorial.
Abra um outro console e entre com o comando abaixo:
# aircrack-ng -w password.lst -b 00:14:6C:7E:40:80 psk*.cap
Onde:
Abaixo está sendo mostrado a saida do comando quando um pacote handshake não for encontrado:
Opening psk-01.cap Opening psk-02.cap Opening psk-03.cap Opening psk-04.cap Read 1827 packets No valid WPA handshakes found.
Quando isto acontecer ou você terá que refazer o passo 3 (desautenticar o cliente wireless) ou esperar mais tempo se você estiver usando a abordagem passiva. Quando usamos a abordagem passiva, você deve esperar até que um cliente wireless se autentique no AP.
Aqui abaixo está a saída quando um pacote handshake é encontrado:
Opening psk-01.cap Opening psk-02.cap Opening psk-03.cap Opening psk-04.cap Read 1827 packets. # BSSID ESSID Encryption 1 00:14:6C:7E:40:80 teddy WPA (1 handshake) Choosing first network as target.
Agora neste ponto, o aircrack-ng iniciará a tentativa de craquear a chave pre-compartilhada. Dependendo da velocidade de sua CPU e do tamanho do dicionario de palavras (word list), isto poderá levar algum tempo, até mesmo dias.
Abaixo é mostrado o sucesso do craqueamento de uma chave pre-compartilhada:
Aircrack-ng 0.8
[00:00:00] 2 keys tested (37.20 k/s)
KEY FOUND [ 12345678 ] Master Key : CD 69 0D 11 8E AC AA C5 C5 EC BB 59 85 7D 49 3E B8 A6 13 C5 4A 72 82 38 ED C3 7E 2C 59 5E AB FD
Transcient Key : 06 F8 BB F3 B1 55 AE EE 1F 66 AE 51 1F F8 12 98 CE 8A 9D A0 FC ED A6 DE 70 84 BA 90 83 7E CD 40 FF 1D 41 E1 65 17 93 0E 64 32 BF 25 50 D5 4A 5E 2B 20 90 8C EA 32 15 A6 26 62 93 27 66 66 E0 71
EAPOL HMAC : 4E 27 D9 5B 00 91 53 57 88 9C 66 C8 B1 29 D1 CB
Problema:
Não consigo captura os pacotes de conexão do tipo handshake!
Algumas vezes pode ser difícil capturar os pacotes de conexão handshake.
Aqui estão algumas dicas de solução:
Infelizmente, algumas vezes você precisará capturar vários bits pela sua placa de rede wireless até que propriamente consiga capturar os pacotes de conexão handshake. O ponto é, se você não conseguir craquear a rede na primeira tentativa, tenha paciencia e continue tentando. Com certeza você conseguirá.
Uma outra abordagem, é o uso do Wireshark para revisar e analisar seus pacotes capturados. Isto pode algumas vezes te dar algumas dicas, como o que está acontecendo de errado e ter algumas ideias em como corrigi-los.
Em um mundo ideal, você deveria ter um dispositivo wireless dedicado para captura de pacotes. Isto é por causa de alguns drivers tais como o RTL8187L que são ruins para capturar pacotes mas faz com que as placas de rede contendo este driver envie pacotes automaticamente (ou seja, são bons para enviar mas ruins para capturar).
Já os driver que usam RT73 são drivers ruins para capturar pacotes de clientes wireless.
Quando usamos o Wireshark, com filtro para “eapol” irá rapidamente mostrar na tela somente os pacotes EAPOL. Baseado no que os pacotes EAPOL foram capturados, determine o seu plano de correção. Por exemplo, se você perdeu ou está faltando pacotes de clientes wireless então tente determinar o “porquê” e “como” coletar pacotes wireless.
Se quiser coletar todos os pacotes, você deve iniciar o airodump-ng sem o filtro BSSID e então irá iniciar a captura de todos os pacotes, não só os IV s. Desnecessário dizer que, deverá está no mesmo canal do AP. A razão de eliminar o filtro BSSID é para se certificar que todos os pacotes, incluindo ACK, foram capturados.
Todos os pacotes enviados ao cliente ou AP devem ser ACK (pacotes de conexão handshake). Isto é feito com “acknowledment” pacotes que tem como destinação o endereço MAC do dispositivo que enviou o pacote original. Isto confirma que o cliente recebeu o pacote de desautenticação. Falha no recebimento de pacotes “ack” infelizmente quer dizer que o cliente está fora de área de transmissão.
Para analisar pacotes capturados é impossível criar instruções detalhadas. Esta é uma área que exige esforço próprio para se desenvolver habilidades em interpretar conexões WPA/WPA2, acrescido de conhecimentos em como usar o Wireshark.
Se o aircrack-ng declarar: “0 handshakes”
Verifique a dica de resolução de problemas “Eu não consigo capturar os quatros modos de conexão Handshak !”
Se o aircrack-ng declarar: “Nenhuma conexão handshake WPA válida foi encontrada”
Verifique a dica de resolução de problemas “Eu não consigo capturar os quatros modos de conexão Handshak !”
Tabela 1 Wireless Frequencies and Channels ________________________________________________________________________________________ Frequency Channel Number Frequency Channel Number 2.412 GHz 1 2.484 GHz 14 2.417 GHz 2 5.180 GHz 36 2.422 GHz 3 5.200 GHz 40 2.427 GHz 4 5.220 GHz 44 2.432 GHz 5 5.240 GHz 48 2.437 GHz 6 5.260 GHz 52 2.442 GHz 7 5.280 GHz 56 2.447 GHz 8 5.300 GHz 60 2.452 GHz 9 5.320 GHz 64 2.457 GHz 10 5.745 GHz 149 2.462 GHz 11 5.765 GHz 153 2.467 GHz 12 5.785 GHz 157 2.472 GHz 13 5.805 GHz 161 ________________________________________________________________________________________