Depuis la naissance des réseaux sans fils, les tentatives d'attaques sur les réseaux se sont multipliées. Pour auditer un réseaux Wifi il est souvent indispensable de se munir de la bonne carte Wifi afin que les outils spécialisés puissent envoyer des données sans forcément être associé à une borne. Depuis peu, le chipset Intel IPW3945ABG (le IPW2200 le pouvait déjà, tandis que pour le IPW4695BGN je n'ai pas encore trouvé d'informations à ce sujet) ces outils sont accessibles, nous allons voir comment installer et configurer notre poste avec la distribution Ubuntu installée dessus.





0x01. PRÉREQUIS


Afin de bénéficier des drivers IPWRAW, il est indispensable de posséder une carte Wifi de chipset Intel. Pour savoir si c'est le cas il suffit de faire :


lsmod | grep "ipw" 

et vérifier qu'il y ai bien quelque chose qui ressemble à ça :


ipw3945               186536  1
ieee80211              30024  1 ipw3945 

Il faut également avoir un noyau supérieur ou égal au noyau 2.6.20, le tout sur une distribution de type Debian (Ubuntu étant une distribution dérivée de Debian) :


uname -a 



0x02. UN PEU DE THEORIE


Il y a deux fichiers à télécharger, le pilote proprement dit ainsi que le logiciel qui permettra de gérer l'interface nouvellement créée. En effet, cette procédure d'installation des drivers IPWRAW, ne remplecera votre interface habituelle eth1 mais créera une nouvelle interface, nommée rtap0 . Un schéma expliquera le pourquoi d'une nouvelle interface. En temps normal les opérations de transfert de donnée par la carte Wifi se fait de cette manière :


Ubuntu --> driver IPW3945 --> eth1 --> Echange de données  

L'interface rtap0 est en fait un "pont" entre le système et l'interface eth1, de sorte qu'une fois le nouveau drivers IPWRAW chargé, le transfert de données se fera de cette manière :


Carte physique +--> driver IPW3945 <--+--> eth1 --> Echange de données 
Carte physique +--> driver IPWRAW  <--+--> eth1 <- rtap0 -> Echange de données 

Ainsi de cette manière nous avons deux interfaces à notre disposition, eth1 et rtap0. Il est possible d'injecter des paquets via rtap0 tout en étant associé à un point d'accès avec eth1 : par exemple vous êtes connectés à une bornes Wifi ouverte (McDo du coin, par exemple) et vous devez auditer le réseau Wifi d'une entreprise à proximité ou bien même d'un particulier, il est donc tout à fait envisageable d'être connecté à internet. Pour simplifier les choses, c'est comme si on avait deux cartes Wifi.





0x03. INSTALLATION


Voici la procédure pour l'installation :


 
# Téléchargement des fichiers nécessaires
# ---------------------------------------
 
# Le driver/firmware
wget http://w.its.free.fr/dl/outils/Securite/iwlwifi-ucode-2.14.1.tgz .
 
# Le module de chargement
wget http://w.its.free.fr/dl/outils/Securite/ipwraw-ng.tar.gz
 
 
# Installation du firmware
# ------------------------
 
# Variable du dossier de destination pour le firmware (driver)
DIR=/lib/firmware/`uname -r`
 
# On extrait les fichiers téléchargés
tar xvf iwlwifi-ucode-2.14.1.tgz 
 
# On affiche la license
less iwlwifi-ucode-2.14.1/LICENSE.iwlwifi-ucode
 
# On copie le fichier dans le dossier cible
sudo cp iwlwifi-ucode-2.14.1/iwlwifi-3945.ucode $DIR
 
 
# Installation du logiciel
# ------------------------
 
# Extraction des fichiers
tar xzf ipwraw-ng.tar.gz
 
# Compilation du programme
cd ipwraw-ng
make
sudo make install
 
# Ajout du module dans la liste des modules connus d'Ubuntu.
sudo echo ipwraw-ng >> /etc/modules 

Il faut ensuite charger les modules nécessaires, si cette opération ne fonctionne pas, il suffira de redémarrer le PC.


sudo modprobe ipwraw rtap_iface=1 channel=6
sudo modprobe modprobe mac80211 

On peut vérifier que le module a bien été chargé :


lsmod | grep "ipwraw"
lsmod | grep "mac80211"
dmesg | tail 

En suite il faut modifier le fichier load, set_channel et set_power, (bien que ces deux derniers ne nous servirons très probablement pas) afin de choisir l'interface à être prise en compte. Une fois modifié, il est normalement possible de charger le driver, en associant la nouvelle interface sur un canal arbitraire :


./load 6 




0x04. VERIFICATION


Voyons voir maintenant si l'interface permet réellement d'envoyer des paquets :


./airodump-ng eth1 -w ipwraw_tmp.log
./aireplay-ng -2 -e "POINT_D_ACCES" rtap0 

./aireplay-ng -9 eth1 

Pour simplifier et automatiser tout ça j'ai copié les scripts dans un dossier du PATH :


sudo cp load-eth1 set_power set_channel dvals status config /usr/bin/ 

Et fait un script permettant de faciliter le chargement du module. A copier lui aussi dans un dossier du PATH :


#!/bin/bash
 
# Charge les modules un à un
sudo modprobe ipwraw rtap_iface=1 channel=6
sudo modprobe mac80211
 
# Vérifie que les modules sont chargés
lsmod | grep "ipwraw"
lsmod | grep "mac80211"
 
# Permet de créer l'interface rtap0
sudo load 6 

Pour terminer, il faut rendre le fichier exécutable :


chmod +x /usr/bin/ipwraw 




0x05. CONCLUSION


Il est désormais possible de transformer sa distribution Ubuntu en véritable système d'audit (nUbuntu 7 ?). Le lien http://tinyshell.be/aircrackng/forum/index.php?topic=1387.45 m'a beaucoup aidé ;)




   =>   Écrit par : Nicolas, le 22 novembre 2010


 
Mots clés :  
  network 
  
  linux 
    >   Articles connexes :

GitVuln



HTTP Server, tell me who you are ?


Discuter avec un serveur web *apparement* muet ? Voici comment faire...

Comment gagner du temps sur Internet



Cheat Sheet OpenSSL



7087298