Kismet est un paquet sniffeur pour réseau wifi. Il écoute simplement les informations qui passent dans l'air et les analysent. Le problème est que finalement assez peu de cartes wifi ont la capacité de simplement écouter et que les systèmes d'exploitation ne facilitent pas la tâche (ne marche pas sous windows). La solution consiste donc a utiliser le wrt54g comme une oreille, un drone et d'utiliser son pc/mac pour l'analyse de donnée (kismet-server et kismet_client)
pour plus de détail, voici une introduction sur harakiwi.net
Installer kismet drone, le plat de résistance …
tomato n'a pas de système de gestion de package, mais rien n'empêche de copier l'exécutable (compilé avec les librairies en statique) sur le linksys.
1er chose à faire, autoriser les connections ssh dans tomato.
dans le menu ⇒ administration ⇒ Admin Access
SSH daemon, enable at startup, allow pass, je n'ai pas donné de clef, il n'y a pas de remote access, pas de gros risque.
J'ai chargé kismet-drone http://www.kismetwireless.net/code/kismet-drone-2005-08-R1-wrt54.ipk
Noté que j'ai passé des heures sur ce point, les drones de 2004 n'utilise le même protocole, il démarre bien mais impossible de les lier à kismet-server. j'ai aussi tester des drone de 2008 et 2007 mais ils ont besoin d'une librairie non présente sur tomato… (une compilation croisée devrait solutionner ce problème, mais vu que cette version 2005 fonctionne !!)
Renommé en tgz, décompacté, vous avez 2 tar.gz dedans.
on edit kismet_drone.conf, voici les champs a adapter:
allowedhosts=192.168.0.6 #source=wrt54g,eth1:prism0,wrt54g #source=wrt54g,prism0,drone source=wrt54g,eth2:prism0,wrt54g # WRT v1, v1.1 #source=wrt54g,eth2,wrt54g # WRT v2 #source=wrt54g,eth1,wrt54g channelhop=true splitchannels=false
j'ai indiqué toute les “source” que j'ai trouvé, celle qui n'est pas en commentaire est utilisée sur ma configuration.
puis il faut les copier sur le linksys.
scp Downloads/kismet-drone/kismet_drone root@192.168.0.1:/root/ scp Downloads/kismet-drone/kismet_drone.conf root@192.168.0.1:/root/
ensuite vous vous connectez en ssh sur le linksys
ssh -l root 192.168.0.1 password: cd /root ./kismet_drone -f kismet_drone.conf Suid priv-dropping disabled. This may not be secure. No specific sources given to be enabled, all will be enabled. Disabling channel hopping. Source 0 (drone): Enabling monitor mode for wrt54g source interface eth1 channel 0... Source 0 (drone): Opening wrt54g source interface eth1... FATAL: pcap reported netlink type 1 (EN10MB) for eth1. This probably means you're not in RFMON mode or your drivers are reporting a bad value. Make sure you have the correct drivers and that entering monitor mode succeeded.
marche pas, il ne peut passer le WRT en mode écoute, la source n'est peut être pas bonne dans le fichier de configuration et il faudrait vérifier l'état du linksys.
Voici un script qui passe le linksys en mode écoute, à nouveau, j'ai pas mal chipoter dessus. Il faudra surement l'adapter suivant le modèle que vous utilisez.
#desactive les interfaces reseaux ifconfig prism0 down ifconfig eth2 down #on les reactive ifconfig prism0 up ifconfig eth2 up #on passe en mode passif d'écoute wl ap 0 wl passive 1 wl promisc 1 #wl disassoc #cette commande ne marche pas pour moi #on fait un scan, histoire de tester wl scan sleep 5 #attendre un peu wl scanresults
si l'interface est bien configurée, “wl scanresults” devrait afficher qq chose comme
SSID: "XXXXXXXXXXX" Mode: Managed RSSI: -78 dBm noise: -99 dBm Channel: 6 BSSID: 00:12:BF:XX:XX:XX Capability: ESS WEP ShortPre ShortSlot Supported Rates: [ 1(b) 2(b) 5.5(b) 11(b) 22 6 9 12 18 24 36 48 54 ] SSID: "XXXXXXXXXXXX" Mode: Managed RSSI: -84 dBm noise: -99 dBm Channel: 6 BSSID: 00:1A:2A:XX:XX:XX Capability: ESS WEP ShortPre ShortSlot Supported Rates: [ 1(b) 2(b) 5.5(b) 11(b) 22 6 9 12 18 24 36 48 54 ]
la commande “ifconfig” permet aussi de contrôler les interfaces activent:
# ifconfig
br0 ...
eth0 ...
eth1 ...
eth2 Link encap:Ethernet HWaddr 00:0C:41:XX:XX:XX
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:6 Base address:0x2000
lo ...
prism0 Link encap:UNSPEC HWaddr 00-0C-41-XX-XX-XX-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:0 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
de mon expérience, il vaut mieux s'arranger pour que le wl scanresults fonctionne puis commencer a chipoter avec la source du fichier de config. et il vaut mieux reinitialiser l'interface apres chaque test (ifconfig … puis les wl)
après ca marche
# ./kismet_drone -f kismet_drone.conf Using alternate config file: kismet_drone.conf Suid priv-dropping disabled. This may not be secure. No specific sources given to be enabled, all will be enabled. Enabling channel hopping. Disabling channel splitting. NOTICE: Disabling channel hopping, no enabled sources are able to change channel. Source 0 (drone): Enabling monitor mode for wrt54g source interface prism0 channel 0... Source 0 (drone): Opening wrt54g source interface prism0... NOTICE: bind address not specified, using INADDR_ANY. Kismet Drone 2005.08.R1 (Kismet) Listening on port 3501 (protocol 9). Allowing connections from 192.168.0.6/255.255.255.255
Un autre truc à savoir, /root c'est de la ram, donc si on reboot le linksys, il oublie. Il est donc plus simple d'avoir un répertoire avec les fichiers sur son pc et copier quand on en a besoin.
scp Documents/kismet-drone/* root@192.168.0.1:/root/
dans ce répertoire, j'ai kismet_drone, la fichier de config, et un script d'initialisation avec les ifconfig et wl.puis on va simplement le lancer en ssh.
./init_kismet ./kismet_drone -f kismet_drone.conf
voici trois liens qui m'ont bien aidé:
bon j'installe kismet sur le mac (avec macport)
sudo port install kismet
modifier /etc/kismet.conf (en fonction de vos parametres)
source=kismet_drone,192.168.0.1:3501,drone suiduser= moi
j'ai remarqué ici qu'il y a un problème avec leopard et libpcap si vous essayez d'utiliser kismet avec la carte wifi de votre mac, vous serez obliger d'installer une version plus récente de libpcap que celle présente dans macport. mais ce bug n'a pas d'impact si vous utilisez le drone wrt54g.