Assez rapidement j'ai remarqué un problème, mon mac détectait 6 wifi autour de moi,
le wrt54g uniquement 4, dont 2 que le mac ne voyait pas (SSID caché).
La raison était assez simple, la fonction de channel hopping du WRT ne marche pas.
Le routeur restait bloquer sur le channel 1, et n'écoutait jamais les 13 autres channels
Après quelques recherches, il semble que ce soit “normal”.
J'ai donc désactive la channel hopping du kismet-drone.conf
channelhop=false
Puis installer sur le routeur un petit script trouvé sur le site de dd-wrt qui va changer régulièrement le canal d'écoute.
#!/bin/sh
#
# hop.sh Hop true all channels
#
# Version: @(#)hop 1.78 06-Feb-2006 ramiro.rikkert [AT] hva.nl
# http://www.dd-wrt.com/wiki/index.php/Channel_hopping_on_kismet_drone
#
# USA channels
#CHANNELS=1,6,11,2,7,3,8,4,9,5,10
#NBHOPS=11
# EU channels
CHANNELS=1,7,13,2,8,3,14,9,4,10,5,11,6,12
NBHOPS=14
# How many seconds to dwell on channel
SECONDS=2
# End of settings
INDEX=0
while true
do
let INDEX=INDEX+1
[ $INDEX -gt $NBHOPS ] && INDEX=1
CURRENT=`echo $CHANNELS | cut -d ',' -f $INDEX`
echo -n -e "\r\33[KCurrent channel: $CURRENT\r"
wl channel $CURRENT
sleep $SECONDS
done
Grâce à ce script, Kismet a maintenant une vue sur l'ensemble des wifi actifs (une bonne dizaine ici)
Quelques idées:
Le plus simple est d'utiliser kismet pour détecter les wifi ouverts.
Une fois trouvé le SSID d'un wifi ouvert, il suffit de s'y connecter.
Si jamais il y a un filtre sur l'adresse MAC, il faut s'y connecter en utilisant l'adresse mac d'un client de ce wifi (visible dans kismet).
La fonction de channel hopping est très pratique pour voir les statuts des réseaux, trouver les wifi non-protégés, les types de protection, ceux qui sont actifs, etc.
Mais si vous voulez aller plus loin, il va falloir le couper. Et vous concentrer sur un channel ou même juste le SSID du réseau wifi que vous voulez écouter.
Cette commande lancée sur votre routeur permet par exemple d'écouter le 6ème channel.
wl channel 6
A partir de ce moment, Kismet devrait commencer à sauvegarder l'ensemble du trafic sur le channel 6.
Si vous ne trouvez pas le fichier dump, il faut regarder dans la config de kismet.
Une fois que vous avez assez de dump, il est possible de retrouver la clef en utilisant des outils comme aircrack-ng.
Pour cela, il suffit d'avoir assez de vecteur d'initialisation (IV). Pour donner une idée, j'ai chargé 1giga de dump, qui contenait 200000 IV, au bout de quelques heures de calcul, j'avais la clef.
Vous pouvez maintenant vous connectez sur ce wifi et/ou decrypter le dump avec airdecap-ng.
On peut faire pas mal d'analyse à partir d'un dump kismet (wifi ouvert ou decrypté avec airdecap-ng).
De manière manuelle, avec wireshark
il est notamment facile de retrouver les cookies de session d'utilisateur.
Ou bien en mode automatique avec des outils comme dsniff et drifnet.
Le script ci-dessous va, par exemple,
Lancé chaque ligne dans un terminal différant et nom.dump est le nom du dump à analyser.
dsniff -i eth1 urlsnarf -i eth1 driftnet -a -i eth1 -d . tcpreplay -i eth1 -t nom.dump