Wifitap
Un article de Page Personnelle de Cédric Blancher, l'encyclopéde libre.
(http://sid.rstack.org/index.php/Wifitap_EN) English version
| Sommaire |
News
Wifitap 0.4.0 (http://sid.rstack.org/code/wifitap/wifitap-0.4.0.tgz) est sorti !
Un training Wi-Fi (http://www.syscan.org/practical.html) est prévu pour SyScan'07 (http://syscan.org/) à Singapour. Wifitap y sera évidemment décrit et utilisé.
Un autre (http://deepsec.net/schedule/) est prévu pour Deepsec 2007 (http://deepsec.net/media/logo.png) à Vienne, en Autriche.
Description
Wifitap est une preuve de concept d'outil de communication sur les réseaux WiFi par injection de trafic.
Exemples d'utilisation
Communication directe sans association
Wifitap permet de communiquer directement avec une station associée à un point d'accès directement, c'est à dire :
- sans avoir à être associé soi-même ;
- sans passer par le point d'accès.
~# modprobe prism54
~# ifconfig eth1 up
~# iwlist eth1 scan
eth1 Scan completed :
Cell 01 - Address: 00:13:10:30:22:5C
ESSID:"linksys"
Mode:Master
Encryption key:off
Frequency:2.462 GHz (Channel 11)
Quality:19/0 Signal level:-28 dBm Noise level:-47 dBm
Nous plaçons notre interface WiFi en mode monitor sur le channel 11.
~# iwconfig eth1 mode monitor channel 11 ~# ifconfig eth1 promisc
Wifitap est prêt à être lancé pour communiquer avec les stations associées au point d'accès 00:13:10:30:22:5C dans notre zone de portée.
~# wifitap.py
Error: BSSID not defined
Usage: wifitap -b <BSSID> [-o <iface>] [-i <iface>] [-s <SMAC>] [-w <WEP key> [-k <key id>]] [-d [-v]] [-h]
-b <BSSID> specify BSSID for injection
-o <iface> specify interface for injection (default: ath0)
-i <iface> specify interface for listening (default: ath0)
-s <SMAC> specify source MAC address
-w <key> WEP mode and key
-k <key id> WEP key id (default: 0)
-d activate debug
-v verbose debugging
-h this so helpful output
~# wifitap.py -b 00:13:10:30:22:5C -i eth1 -p -o eth1 IN_IFACE: eth1 (no Prism headers in capture) OUT_IFACE: eth1 BSSID: 00:13:10:30:22:5c tcpdump: WARNING: eth1: no IPv4 address assigned Interface wj0 created. Configure it and use it [...]
Lancer Wifitap entraine la création d'une interface tuntap appelée wj0 à travers laquelle nous allons injecter le trafic IP.
~# ifconfig wj0 192.168.11.11 mtu 1400
~# ifconfig wj0
wj0 Lien encap:Ethernet HWaddr 66:F6:C9:1E:E2:13
inet adr:192.168.11.11 Bcast:192.168.11.255 Masque:255.255.255.0
UP BROADCAST RUNNING ALLMULTI MULTICAST MTU:1400 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:500
RX bytes:0 (0.0 b) TX bytes:18 (18.0 b)
~# route -n
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
192.168.11.0 0.0.0.0 255.255.255.0 U 0 0 0 wj0
Nous pouvons atteindre le réseau 192.168.11.0/24 à travers wj0. En écoutant sur l'interface eth1 (avec tcpdump par exemple), nous pouvons découvrir des stations associées et communiquer avec elles sur IP.
NB : l'adresse MAC de wj0 est utilisée comme source des trames émises, aussi peut-il être utile de la modifier en utilisant -s <SMAC>.
~# ping 192.168.11.10 PING 192.168.11.10 (192.168.11.10): 56 data bytes 64 bytes from 192.168.11.10: icmp_seq=0 ttl=64 time=37.222 ms 64 bytes from 192.168.11.10: icmp_seq=1 ttl=64 time=0.200 ms 64 bytes from 192.168.11.10: icmp_seq=2 ttl=64 time=0.188 ms 64 bytes from 192.168.11.10: icmp_seq=3 ttl=64 time=0.206 ms --- 192.168.11.10 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.188/9.454/37.222/16.032 ms
Autres applications de Wifitap
Wifitap permet à n'importe quelle application d'envoyer et recevoir des paquets par capture et injection de trame 802.11 sur un réseau WiFi simplement en configurant l'interface wj0 de manière adéquate, c'est à dire :
- en lui affectant une adresse IP cohérente avec l'adressage du réseau cible ;
- en routant le trafic désiré à travers elle.
En particulier, c'est une méthode simple d'injection de paquets arbitraires dans des trames 802.11 sans avoir à utiliser de bibliothèque spécifique.
De plus, elle permet de s'affranchir de toute limitation imposée par le point d'accès, comme contourner les système de prévention des communication inter-clients (par exemple PSPF de Cisco) ou encore atteindre plusieurs SSID gérés par le même point d'accès.
Modification de Wifitap
Wifitap peut être simplement modifier pour réaliser des tâches simples comme générer des réponses arbitraires à des trames lues sur le réseau étudié.
Si on veut utiliser Scapy pour la lecture de paquets capturés et la génération des réponses, il est nécessaire d'ajouter l'import des classes concernées. Si on veut travailler sur de l'ICMP par exemple, il suffira d'ajouter :
from scapy import IP,ICMP
Ensuite, on supprimera le code responsable de la gestion de l'interface tuntap :
- initialisation ;
- lecture ;
- écriture.
Enfin, on modifiera la boucle principale pour gérer l'identification des trames intéressantes, la lecture des champs, la génération puis l'injection des réponses, éventuellement en fonction des requêtes.
L'archive de Wifitap contient des exemples de programmes :
- injection de réponses à des requêtes ARP (wifiarp.py) ;
- injection de réponses à des requêtes DNS (wifidns.py) ;
- injection de réponses à des ICMP Echo Requests (wifiping.py).
Dépendances
Wifitap dépend de :
- Python (http://www.python.org/) >= 2.2
- Scapy (http://secdev.org/projects/scapy/), version de developement avec support 802.11 (inclus dans le tgz)
- Psyco (http://psyco.sourceforge.net/), un optimisateur Python (optionel, mais chaudement recommandé)
- Une carte WiFi et son driver supportant l'injection :
- Chipset Prism54 FullMAC chipset avec le driver prism54 (http://prism54.org/) (patch optionnel mais recommandé) ;
- Chipset Atheros avec le driver Madwifi (http://madwifi.sourceforge.net) patché ;
- Chipset Prism2/2.5/3 avec les drivers hostap (http://hostap.epitest.fi/) ou wlan-ng (http://www.linux-wlan.org/) patchés ;
- Chipset Ralink RT2500 avec le driver rt2500 (http://rt2x00.serialmonkey.com/) ;
- Chipset Ralink RT2750 avec le driver rt2750 (http://rt2x00.serialmonkey.com/) patché ;
- Chipset Realtek RTL8180 avec le driver rtl8180 (http://rtl8180-sa2400.sourceforge.net/) patché.
Voir le fichier PATCHING pour l'installation des drivers. Les patches ont été écrits par Christophe Devine et sont actuellement maintenu par l'équipe de Aircrack-ng (http://www.aircrack-ng.org/).
Téléchargements
Code Source de Wifitap
- Tar.gz : http://sid.rstack.org/code/wifitap.tgz (109Ko, version 0.4.0)
- Répertoire : http://sid.rstack.org/code/wifitap/
- Drivers et patches : http://patches.aircrack-ng.org/ (ou http://sid.rstack.org/code/mirror/aircrack-ng.org.tgz, 14Ko)
- README
- PATCHING
- Changelog
Wifitap est également disponible sur Packetstorm (http://www2.packetstormsecurity.org/cgi-bin/search/search.cgi?searchvalue=wifitap&type=archives).
Sources externes
- Le Live CD Linux BackTrack (http://www.remote-exploit.org/index.php/BackTrack) inclut Wifitap 0.3.7 depuis la version 1.0 Final
- Le Live CD Linux Pentoo (http://www.pentoo.ch/) propose un package Wifitap 0.3.7 (http://www.pentoo.ch/isos/modules/wifitap-0.3.7.mo)
- Le Live CD Linux Troppix (http://distrowatch.com/troppix) (discontinued) contient Wifitap depuis la version 1.1beta
- Wifitap est listé sur Wireless Vulnerabilities & Exploits (http://www.wirelessve.org/) sous l'identifiant WVE-2005-0058 (http://www.wirelessve.org/entries/show/168)
Ressources liées
Vidéos
- Attacking WiFi Networks With Traffic Injection (145Mo) (http://sid.rstack.org/videos/confs/0506_Recon_WirelessInjection.avi) à la Recon 2005 (http://recon.cx/) à Montréal.
- Vidéos de Christophe Devine:
- Cracking WEP in 10 easy steps (http://sid.rstack.org/videos/aircrack/whax-aircrack-wep.html) (et 10 minutes)
- Cracking WPA in 10 easy steps (http://sid.rstack.org/videos/aircrack/whax-aircrack-wpa.html)
Conférences
- Hack.lu 2006 (http://hack.lu/), Luxembourg : PDF, 3Mo (http://sid.rstack.org/pres/0610_Hacklu_WifiWorkshop.pdf)
- Bellua Cyber Security Asia 2006 (http://bellua.com/bcs/asia06.index.html), Jakarta, Indonésie : PDF, 3Mo (http://sid.rstack.org/pres/0608_BCS_OpenWireless.pdf)
- Lightning talk à Eusecwest/core06 (http://eusecwest.com/), Londres, Royaume Uni : PDF, 393Ko (http://sid.rstack.org/pres/0602_ESW_CaptiveBypass.pdf).
- SecureCon 2006 (http://securecon.unimelb.edu.au/), Melbourne, Australie : PDF, 2,1Mo (http://sid.rstack.org/pres/0602_Securecon_WirelessInjection.pdf)
- Pacsec/core05 (http://pacsec.jp/), Tokyo, Japon : PDF, 1,9Mo (http://sid.rstack.org/pres/0511_Pacsec_WirelessInjection_en.pdf)
- Ruxcon 2005 (http://ruxcon.au.org/), Sydney, Australie : PDF, 2Mo (http://sid.rstack.org/pres/0510_Ruxcon_WirelessInjection.pdf)
- Syscan'05 (http://syscan.org/), Bangkok, Thaïlande : PDF, 2,1Mo (http://sid.rstack.org/pres/0509_Syscan_WirelessInjection.pdf)
- LSM 2005 (http://www.rencontresmondiales.org/), Dijon : PDF, 1,9Mo (http://sid.rstack.org/pres/0507_LSM05_WirelessInjection.pdf)
- Recon 2005 (http://recon.cx/), Montréal, Canada, et release publique de Wifitap : PDF, 1,2Mo (http://sid.rstack.org/pres/0506_Recon_WirelessInjection.pdf)
- Rump Session du SSTIC 2005 (http://www.sstic.org/), Rennes : PDF, 220Ko (http://sid.rstack.org/pres/0506_SSTIC_Wifitap.pdf)
Trainings
- Pacsec/core06 (http://pacsec.jp), Tokyo, Japon
- Bellua Cyber Security Asia 2006 (http://bellua.com/bcs/asia06.index.html), Jakarta, Indonésie
- SyScan 2006 (http://syscan.org/), Singapore
- Cansecwest/core06 (http://cansecwest.com/), Vancouver, Canada
- Eusecwest/core06 (http://eusecwest.com/), Londres, Royaume Uni
Trackbacks
- FR
- http://www.weka.fr/informatique/securite/itsecurite/actu/failles/42721/
- http://www.mtl2600.org/forum/viewtopic.php?t=752&postdays=0&postorder=asc&start=30
- http://www.cccure.net/modules.php?name=News&file=article&sid=161
- http://www.hsc-news.com/archives/2005/000024.html
- http://www.reseaux-telecoms.com/cso_btree/05_07_01_124058_106/CSO/Newscso_view
- http://bruno.kerouanton.net/papers/sstic05-bk-synthese.doc
- http://www.mag-securs.com/article.php3?id_article=2789
- http://synhack.org/?p=14
- http://www.brest-wireless.net/wiki/softs:securite
- http://www.rezalfr.org/francois.ropert/index.php?2005/10/04
- http://revhosts.net/
- EN
- http://packetstormsecurity.org/filedesc/wifitap-0.3.7.html
- http://www.wi-foo.com/index-3.html
- http://www.attackprevention.com/article/Wifitap-2813.html
- http://ejohansson.se/archives/2006/02/17/wep-cracking-and-wifi-security/
- http://www.learnsecurityonline.com/forum/viewtopic.php?t=189
- http://www.wardrive.net/wardriving/tools (http://802.11-security.net/wardriving/tools)
- http://www.wirelessdefence.org/Contents/WifitapMain.htm
- http://www.rockyh.net/blog/2005/10/2/impressions-of-ruxcon-2005.html
- http://blog.pentester.com.au/2005/10/ruxcon-wrap-up.html
- http://isc.sans.org/diary.php?date=2005-06-26
- http://www.pauldotcom.com/oct-2005-oshean.pdf
- http://www.monkey.org/~jose/blog/viewpage.php?page=june_05_moblog
- http://www.researchzilla.com/node/3535
- http://www.raulsiles.com/resources/wifi.html
- http://www.wardrivingonline.com/downloads/wardriving.htm
- http://del.icio.us/url/bab396f0b27c0f29753e577e39064cb5
- JP







