Introdução aos testes de segurança em redes sem fio com Aircrack-NG

O Aircrack-NG é conjunto de ferramentas para avaliar a segurança de redes sem fio. Ele foca em diferentes áreas da segurança do WiFi:

  • Monitoramento: Captura de pacote e exporatação de dados para arquivos de textos para processamento posterior em outras ferramentas;
  • Ataque: Replay attacks, deautenticação, falso access points e outros através de injeção de pacotes;
  • Testes: Verificar placas WiFi e capacidades dos drivers (capturar e injetar);
  • Cracking: WEP e WPA PSK (WPA 1 e 2).

Todas as ferramentas são através de linhas de comando, as quais permitem usar em scripting de forma pesada. Funciona, a princípio em Linux, mas também no Windows, OS X, FreeBSD, OpenBSD, NetBSD, assim como no Solaris e inclusive no eComStation 2.

Preparando

Estarei usando uma placa Alfa Networks AWUS036H USB wireless. Esta placa, e outros modelos similares Alfa USB, são ideias para análises de segurança wireless, particularmente quando se está trabalhando com máquinas virtuais. VMware não tem drivers para placas wireless, mas é capaz de atravessar USB, permitindo o uso dos drivers wireless da máquina virtual Kali. O uso de uma placa USB wireless nos permitirá avaliar as redes através desta máquina virtual.

Identificando as interfaces de redes disponíveis

Após colocar a placa wireless Alfa no Kali virtual, envie o comando iwconfig para ver as placas wireless disponíveis em sua máquina virtual. No meu caso, a placa Alfa está ligada na wlan0, como mostrado abaixo:

root@kali:~# iwconfig
wlan0        IEEE 802.11bg ESSID:off/any
             Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
             Retry long limit:7 RTS thr:off Fragment thr:off
             Encryption key:off
             Power Management:off
lo           no wireless extensions.
eth0         no wireless extensions.

Buscando por Access Points (AP’s)

Agora podemos escanear por access points próximos a nós. O comando iwlist wlan0 scan irá escanear por access points próximos usando a interface wlan0, como mostrado abaixo:

root@kali:~# iwlist wlan0 scan
  Cell 02 - Address: 00:23:69:F5:B4:2Bu
                    Channel:6v
                    Frequency:2.437 GHz (Channel 6)
                    Quality=47/70 Signal level=-63 dBm
                    Encryption key:offw
                    ESSID:"linksys"x
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
                              9 Mb/s; 14 Mb/s; 18 Mb/s
                    Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
                    Mode:Master

A partir deste scan inicial nós pegamos quase todas as informações que precisamos para realizar um ataque neste AP, que veremos mais a seguir. Nós temos o MAC address, o canal o qual ele está transmitindo, não está usando criptografia neste momento e nós temos o SSID.

Modo Monitor

Antes de continuar, vamos colocar a placa wireless no modo monitor. Semelhante ao modo promíscuo do Wireshark, o modo monitor nos permite ver o tráfego adicional além do qual é intencional para a nossa placa de rede wireless. Nós iremos utilizar o script Airmon-ng, parte da suíte de avaliação wireless do Aircrack-ng, para colocar a placa no modo monitor. Primeiro, tenha certeza de que não está rodando nenhum processo que irá interferir no modo monitor, enviando o comando airmon-ng check, como mostrado abaixo:

root@kali:~# airmon-ng check
Found 2 processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want to kill (some of) them!
-e
PID Name
2714 NetworkManager
5664 wpa_supplicant

Como podemos ver, Airmon achou dois processos rodando que podem interferir. Dependendo da sua placa wireless e o seu driver, você pode ou não ter problemas se você não matar estes programas. A placa que estou usando não deverá causar nenhum problema, mas algumas placas USB wireless podem. Para matar todos os processos em um passo, use o comando airmon-ng check kill, como mostrado abaixo:

root@kali:~# airmon-ng check kill
Found 2 processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want to kill (some of) them!
-e
PID Name
2714 NetworkManager
5664 wpa_supplicant
Killing all those processes...

Agora entre com o comando airmon-ng start wlan0 para trocar a interface wireless para o modo monitor, como mostrado abaixo. Isto permitirá capturar pacotes não direcionados a nossa placa. Airmon-ng cria uma interface de rede mon0.

root@kali:~# airmon-ng start wlan0
Interface Chipset Driver
wlan0 Realtek RTL8187L rtl8187 - [phy0]
(monitor mode enabled on mon0)

Capturando pacotes

Com nossa interface no modo monitor, vamos ver os dados que podemos capturar usando o Airodump-ng. Este programa é usado para capturar e salvar pacotes wireless. Veja abaixo como diremos ao Airodump-ng para usar a interface wireless no modo monitor mon0.

root@kali:~# airodump-ng mon0 --channel 6
CH     6 ][   Elapsed: 28 s ][ 2016-09-18 15:08
BSSID               PWR  Beacons  #Data,  #/s  CH  MB  ENC CIPHER AUTH  ESSID
00:23:69:F5:B4:2B   -30  53       2       0    6   54. OPN              linksys
BSSID               STATION             PWR  Rate  Lost  Frames  Probe
00:23:69:F5:B4:2B   70:56:81:B2:F0:53x  -21  0     -54   42      19

A saída do Airodump-ng coletou informações sobre os pacotes wireless, incluindo o basic service set identification (BSSID), o qual é o endereço MAC da estação. Podemos ver informações adicionais como o algoritmo de criptografia usado na segurança wireless e o Service Set Identification (SSID). Airodump-ng também pega o endereço MAC dos clientes conectados e o endereço MAC da minha máquina host ligada ao access point wireless. Sabemos que o access point Linksys está aberto, sem nenhuma segurança.

Diferença entre BSSID e ESSID

Antes de prosseguirmos, é importante conhecer e saber a diferença entre esses dois termos:

  • Service Set Identifier (SSID) – É o nome associado por um usuário para identificar um AP. É através deste nome que alguém procura pelo WiFi;
  • Basic Service Set Identification (BSSID) – É o MAC address do access point;
  • Extended Service Set Identifier (ESSID) – Está associado a vários AP em conjunto que compõe um único SSID. Mas o beacon terá informações do BSSID diferentes. Isto envolve o roaming. O usuário se conecta ao AP que tiver a maior força de sinal (RSSI).

Wireless aberto

Redes wireless abertas são um desastre real do ponto de vista de segurança porque qualquer um com uma antena que alcance a área de cobetura do access point poderá se conectar naquela rede. Enquanto redes abertas podem solicitar autenticação depois de conectado, a maioria deixa qualquer um se conectar. Outro ponto importante é que os pacotes que trafegam em redes abertas não são criptografados e qualquer um que esteja “escutando” poderão capturar e ver os dados em texto claro. Dados sensíveis podem ser seguros pelos protocolos como SSL, mas não é sempre o caso. Por exemplo, o tráfego FTP em uma rede wireless aberta é completamente descriptografada, incluindo informações de login, e nem precisamos usar ARP ou DNS cache poisoning para capturar os pacotes. Qualquer placa wireless no modo monitor será possível ver o tráfego descriptografado.

Fonte: Weidman, Georgia. Penetration Testing: A Hands-On Introduction to Hacking. 2014

Mapa Mental do Aircrack-ng

Mapa mental do Aircrack

Mapa mental do Aircrack

Sou bacharel em Sistemas de Informação pela Estácio de Sá (Alagoas), especialista em Gestão Estratégica da Tecnologia da Informação pela Univ. Gama Filho (UGF) e pós-graduando em Gestão da Segurança da Informação pela Univ. do Sul de Santa Catarina (UNISUL). Certificações que possuo: EC-Council CEH, CompTIA (Security+, CySA+ e Pentest+), EXIN (EHF e ISO 27001), MCSO, MCRM, ITIL v3. Tenho interesse por todas as áreas da informática, mas em especial em Gestão e Governança de TI, Segurança da Informação e Ethical Hacking.

Deixe um comentário

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