User Tools

Site Tools


doc:appunti:linux:sa:wifi_wep_crack

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:wifi_wep_crack [2009/08/19 01:03] niccolodoc:appunti:linux:sa:wifi_wep_crack [2009/08/19 15:55] (current) niccolo
Line 27: Line 27:
 </code> </code>
  
-Come si vede la prima azione è di chiudere il networkmanager (io uso quello di KDE), che altrimenti si ostina a gestire il WiFi, fare scanning degli AP disponibili, ecc. Poi eliminiamo la normale interfaccia **ath0** che dice possa dare fastidio durante lo scanning. Infine con il comando **''airmon-ng''** attiviamo una nuova interfaccia **ath1** in modalità **monitor**.+Come si vede la prima azione è di chiudere il networkmanager (in questo caso quello di KDE), che altrimenti si ostina a gestire il WiFi, fare scanning degli AP disponibili, ecc. Poi eliminiamo la normale interfaccia **ath0** che dice possa dare fastidio durante il monitoraggio. Infine con il comando **''airmon-ng''** attiviamo una nuova interfaccia **ath1** in modalità **monitor**.
  
 Se invece vogliamo usare Kismet la procedura iniziale è leggermente diversa perché Kismet provvede autonomamente a creare un'interfaccia monitor, chiamandola **kis0**: Se invece vogliamo usare Kismet la procedura iniziale è leggermente diversa perché Kismet provvede autonomamente a creare un'interfaccia monitor, chiamandola **kis0**:
Line 42: Line 42:
 source=madwifi_ab,wifi0,wifi0 source=madwifi_ab,wifi0,wifi0
 </file> </file>
 +
 +Al termine delle operazioni di scanning, se volgiamo creare nuovamente l'interfaccia WiFi managed, questo è il comando:
 +
 +<code>
 +wlanconfig ath0 create wlandev wifi0
 +iwconfig ath0 mode managed
 +</code>
  
 ===== Cattura del traffico criptato ===== ===== Cattura del traffico criptato =====
Line 98: Line 105:
 ivstools --convert file.cap file.ivs ivstools --convert file.cap file.ivs
 ivstools --merge file*.ivs singlefile.ivs ivstools --merge file*.ivs singlefile.ivs
 +</code>
 +
 +===== Come è finita =====
 +
 +Dopo tre giorni di tentativi infruttuosi, il proprietario dell'appartamento mi ha chiesto se per caso avevo bisogno dell'accesso internet, visto che al piano di sotto aveva l'ADSL con il router WiFi acceso...
 +
 +La cosa che mi ha lasciato di sasso è che la password (128 bit) erano 13 semplici cifre, che ''aircrack-ng'' non riesce a trovare neanche con l'opzione **''-c''** (search alpha-numeric characters only).
 +
 +Per verificare la correttezza del mio operato ho controllato che i pacchetti WEP fossero davvero criptati con tale chiave, suggerendo ad aircrack-ng gli ultimi 12 caratteri della stessa (tutti tranne il primo!):
 +
 +<code>
 +aircrack-ng -b 00:41:14:5F:43:12 -d XX:38:32:37:32:36:36:39:37:33:34:35:31 wifidump-01.cap
 +</code>
 +
 +In questo caso ''aircrack-ng'' è stato in grado di verificare la chiave e trovare il byte mancante. 
 +
 +In conclusione - contrariamente a quanto si legge - craccare una chiave WEP non è lavoro da compiere in modo estemporaneo, ma richiede un po' di impegno.
 +
 +===== Mappa wardriving =====
 +
 +Alla ricerca di un access point libero abbiamo sfruttato anche **le capacità di Kismet unite ad un GPS**.
 +
 +Dopo aver configurato **''gpsd''** con il ricevitore GPS iBlue 747 USB, configuriamo Kismet agggiungendo nel file di configurazione:
 +
 +<file>
 +gps=true
 +gpshost=localhost:2947
 +</file>
 +
 +Avviamo Kismet e partiamo per un giro di wardriving. Al rientro controlliamo il file di log creato da Kismet, ci dovrebbero essere dei file in **''/var/log/kismet/''**, in particolare i file **.csv** e **.gps** servono al caso nostro.
 +
 +Con un po' di Python o Perl estraiamo dal .csv l'elenco (BSSID) degli access point senza protezione (campo 8 = None) e lo salviamo in un file di nome **''wifi-open''**.
 +
 +Poi lanciamo il comando **''gpsmap''** con questo script:
 +
 +<code bash>
 +#!/bin/sh
 +log_file="/var/log/kismet/Kismet-Aug-13-2009-11.gps"
 +center="--coords 43.5123,16.2804"
 +scale="--scale 2000"
 +MAC_LIST=""
 +for mac in $(cat wifi-open); do
 +    if [ -z "$MAC_LIST" ]; then
 +        MAC_LIST="$mac"
 +    else
 +        MAC_LIST="$MAC_LIST,$mac"
 +    fi
 +done
 +gpsmap \
 +    $center $scale \
 +    --draw-track --draw-range --feather-range \
 +    --filter $MAC_LIST --invert-filter \
 +    -l ssid \
 +    $log_file
 </code> </code>
doc/appunti/linux/sa/wifi_wep_crack.1250636629.txt.gz · Last modified: 2009/08/19 01:03 by niccolo