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

Next revision
Previous revision
Last revisionBoth sides next revision
doc:appunti:linux:sa:wifi_wep_crack [2009/08/19 00:26] – created niccolodoc:appunti:linux:sa:wifi_wep_crack [2009/08/19 15:40] niccolo
Line 15: Line 15:
 Pare - per fortuna - che i moduli kernel per EeePC forniti dal pacchetto **''madwifi-modules-2.6.26-2-686''** (moduli speciali compilati per EeePC, disponibili su [[http://eeepc.debian.net/debian|eeepc.debian.net]]) forniscano il supporto alla **modalità monitor** e al **packet injection** per il **chip WiFI Atheros** contenuto nell'Asus. Pare - per fortuna - che i moduli kernel per EeePC forniti dal pacchetto **''madwifi-modules-2.6.26-2-686''** (moduli speciali compilati per EeePC, disponibili su [[http://eeepc.debian.net/debian|eeepc.debian.net]]) forniscano il supporto alla **modalità monitor** e al **packet injection** per il **chip WiFI Atheros** contenuto nell'Asus.
  
-===== Attivare un'interfaccia in modo monitor =====+===== Interfaccia in modo monitor =====
  
 Il chip Atheros viene visto dal kernel come interfaccia **wifi0**, su questa possono essere attivate una o più **VAP** (access point o stazioni virtuali). Al normale avvio dell'Asus troviamo attiva l'interfaccia **ath0**, configurata in modo **managed** (detto anche modo **station**). Il chip Atheros viene visto dal kernel come interfaccia **wifi0**, su questa possono essere attivate una o più **VAP** (access point o stazioni virtuali). Al normale avvio dell'Asus troviamo attiva l'interfaccia **ath0**, configurata in modo **managed** (detto anche modo **station**).
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 =====
 +
 +A questo punto si inizia l'analisi del traffico WiFi con il programma **''airodump-ng''**. Utilizzare l'interfaccia **ath1** oppure **kis0**, a seconda del caso:
 +
 +<code>
 +airodump-ng -w wifidump kis0
 +</code>
 +
 +In un'altra console ogni tanto si verifica **quanto traffico WiFi** è stato catturato, in particolare interessa il numero di pacchetti WEP:
 +
 +<code>
 +airdecap-ng -b 00:41:14:5F:43:12 wifidump-01.cap
 +Total number of packets read         22708
 +Total number of WEP data packets      1635
 +Total number of WPA data packets         0
 +Number of plaintext data packets         0
 +Number of decrypted WEP  packets         0
 +Number of corrupted WEP  packets         0
 +Number of decrypted WPA  packets         0
 +</code>
 +
 +Con il parametro **-b** abbiamo filtrato solo il traffico proveniente dall'access point che ci interessa.
 +
 +Il risultato di soli 1635 pacchetti in una intera notte è estremamente deludente: servono tra i 50000 e i 100000 pacchetti criptati prima di tentare la forzatura della chiave WEP. Il problema è che **l'access point non aveva client collegati che facessero traffico**.
 +
 +Infatti il tentativo di forzatura fallisce:
 +
 +<code>
 +aircrack-ng -a wep -n 128 -b 00:41:14:5F:43:12 wifidump-01.cap
 +</code>
 +
 +È necessario ricorrere a un trucco: bisogna inviare dei falsi pacchetti ARP request, ai quali l'access point risponderà con altrettanti pacchetti ARP reply. Sfrutteremo questo sistema per generare traffico sufficiente per condurre l'attacco. Fermiamo il programma ''airodump-ng'' e lanciamo invece **''wesside-ng''**:
 +
 +<code>
 +wesside-ng -v 00:41:14:5F:43:12 -i kis0
 +</code>
 +
 +In questo modo siamo riusciti ad ottenere quasi **50000 pacchetti WEP** in circa **20 ore di attacco**. Purtroppo anche con 50000 pacchetti il tentativo di crack è fallito!
 +
 +===== Come dovrebbe funzionare =====
 +
 +Per vedere come avviene il crack, generiamo un falso dump di pacchetti WEP ed eseguiamo ''aircrack-ng'' su di esso:
 +
 +<code>
 +makeivs-ng -b 00:41:14:5F:43:12 -w wififakedump.ivs -k 011ab5634e357cbaca9a4b3b2b5 -c 50000
 +aircrack-ng -a wep -n 128 -b 00:41:14:5F:43:12 wififakedump.ivs
 +</code>
 +
 +Il comando ''makeivs-ng'' genera pacchetti WiFi contenenti gli IV (initialization vector) utili al crack. dagli esperimenti fatti il crack funziona se si hanno oltre 50000 pacchetti IV.
 +
 +Se si hanno a disposizione diversi file .cap è possibile estrarre tutti i pacchetti contenenti gli IV e concatenare i file in uno solo:
 +
 +<code>
 +ivstools --convert file.cap file.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.
 +
doc/appunti/linux/sa/wifi_wep_crack.txt · Last modified: 2009/08/19 15:55 by niccolo