Mise en place d'un Rogue Access Point

Depuis quelques années, les fournisseurs d’accès à Internet ont permis à leurs clients de se connecter au réseau via des points d’accès disposés un peu partout dans les villes nommés « FreeWiFi », « OrangeWiFi » etc… Mais avec cette nouveauté est apparue un nouveau vecteur d’attaque : les Rogue Access Point

Le principe est simple, on met à disposition des victimes un point d’accès internet trafiqué, on attend qu’elles se connectent dessus et, soit on vole leurs identifiants, soit on leur laisse un accès illimité à Internet de manière à suivre leurs activités.

Dans cet article je vais vous montrer comment configure un Rogue Access point pour qu’il soit le plus transparent possible et ce avec différents modes de sécurité.

I/ Qu’est ce qu’un Rogue Access Point ?

Un Rogue Access Point (Rogue AP) est un point d’accès Wi-Fi contrôlé par un pirate. Concrètement l'attaquant va mettre à disposition un point d’accès Wi-Fi gratuit « empoisonné ». Si une personne se connecte dessus alors le pirate sera en situation de Man In The Middle et donc il pourra effectuer tout un tas d’actions : détourner le trafic, lire le contenu des trames etc etc…

Pour monter un Rogue AP nous allons avoir besoin de plusieurs interfaces Wi-Fi. Par défaut vous en avez une sur votre PC. Mais dans le cadre de cet article je vais en utiliser une supplémentaire : la carte AWUS036NHA :

rap1.pngAttention, cette carte utilise le drive atheros. Suivant votre distribution il est possible que vous ne l’ayez. Dans ce cas là il vous suffira de l’installer via la commande:

sudo apt install firmware-atheros

Suivant ce que vous voulez faire avec votre point d’accès il pourrait être intéressant d’investir dans une antenne à longue portée. Comme on me l’a déjà demandé en MP, je vous donne la référence des antennes que j’utilise :

rap2.png
Mais notez bien que ce n’est pas obligatoire  !

II/ Configurer un Rogue AP ?

Pour monter nos Rogue AP nous allons utiliser un outil appelé Hostapd. Pour l’installer on utilisera cette ligne de commande :

sudo apt install hostapd

L’avantage d’Hostapd, c’est qu’on va pouvoir monter des points d’accès ouverts (sans authentification), WEP, WPA, WPA2 et même WPE et ce assez facilement (une dizaine de lignes de configuration).

Avant de lancer Hostapd il va falloir, et ce à chaque fois, configurer notre carte externe. La première chose à faire, c’est de s’assurer qu’elle est UP. Un simple « ip a » va nous l’indiquer :

rap3.png

Ici on peut voir que l’interface est down. Il va donc falloir l’activer à l’aide de la commande suivante :

En plus de l’activer, on va lui attribuer une IP statique :

ip addr add 192.168.0.51/24 dev wlx00c0ca9795bf

Ensuite il va falloir mettre en place un service DHCP afin d’attribuer une adresse IP à nos futurs clients. Pour cela je me sers de l’outil dnsmasq qui permet de faire à la fois de la résolution DNS et de l’attribution d’IP via DHCP :

sudo apt install dnsmasq

Le fichier de configuration de dnsmasq se trouve dans le répertoire suivant : /etc/dnsmasq.conf et voici la configuration que j’utilise :

#Nom de l'interface qui jouera le rôle du Rogue AP
interface=wlx00c0ca9795bf
# Rane d'IP distribuées ainsi que durée du bail
dhcp-range=192.168.43.52,192.168.43.60,12h
# IP de la gateway (i.e: IP de l'interface Rogue)
dhcp-option=3,192.168.43.51
# IP du serveur DNS (i.e: IP de l'interface Rogue)
dhcp-option=6,192.168.43.51
# Indique que l'on log les requêtes DNS et DHCP
log-queries
log-dhcp

Pour redémarrer le service dnsmasq il nous suffira de taper cette commande :

sudo dnsmasq -C dnsmasq.conf -d

Arguments:
-C: Spécifie le fichier de configuration à utiliser
-d: Ne passe pas en mode daemon (et accessoirement affiche les requêtes DNS reçues)

Si on s’arrête là, tous les paquets qui seront envoyés sur notre Rogue AP seront détruits par notre PC. En effet par défaut tout paquet dont l'IP destinataire n'est pas celle de notre PC seront détruis. Pour éviter ça il faudra activer l’IP forwarding :

echo 1 > /proc/sys/net/ipv4/ip_forward

Dernière chose, nous ajouterons une règle iptables qui nous permettra de forward tous les paquets qui ne nous sont pas destinés sur l'interface reliée à Internet:

iptables -t nat -A POSTROUTING -o "nom_interface_connectée_à_internet" -j MASQUERADE

Ci-dessous je vous ai mis le contenu des fichiers de configuration que j’utilise avec hostapd pour monter des points d’accès sécurisés ou non :

  • Configuration pour un point d’accès ouvert :
#Le nom de l'interface 
interface=wlx00c0ca9795bf
#Le driver à utiliser
driver=nl80211
#Le SSID du point d'accès
ssid=DO_NOT_CONNECT
#La fréquence utilisée
hw_mode=g
#Le channel
channel=6

######Configuration basique du tool###############################
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346
  • Configuration d’un point d’accès protégé par WEP :
interface=wlx00c0ca9795bf
driver=nl80211
ssid=DO_NOT_CONNECT
hw_mode=g
channel=6

######Configuration basique du tool###############################
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346

######Configuration WEP###########################################
# Algorithme d'authentification : 1 = WPA; 2 = WEP ; 3 = WEP/WPA
auth_algs=2
# Nombre de clés disponibles : valeur comprise entre 0 et 3
wep_default_key=0
# Passphrase (soit 5 soit 13 caractères)
wep_key0="whiteflaggggg"
##################################################################
  • Configuration d’un point d’accès protégé par WPA PSK :
interface=wlx00c0ca9795bf
driver=nl80211
ssid=DO_NOT_CONNECT
hw_mode=g
channel=6

######Configuration basique du tool###############################
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346

######Configuration WPA PSK#######################################
# Algorithme d'authentification : 1 = WPA; 2 = WEP ; 3 = WEP/WPA
auth_algs=1
# Version de WPA gérée : 1 = WPA; 2 = WPA2; 3 = WPA/WPA2
wpa=1
# Passphrase
wpa_passphrase=whiteflag
#Gestion du chiffrement avec secret partagé
wpa_key_mgmt=WPA-PSK
#Algorithme de chiffrement. Ici TKIP = RC4
wpa_pairwise=TKIP
##################################################################
  • Configuration d’un point d’accès protégé par WPA2 PSK :
interface=wlx00c0ca9795bf
driver=nl80211
ssid=DO_NOT_CONNECT
hw_mode=g
channel=6

######Configuration basique du tool###############################
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346

######Configuration WPA2##########################################
# Algorithme d'authentification : 1 = WPA; 2 = WEP ; 3 = WEP/WPA
auth_algs=1
# Version de WPA gérée : 1 = WPA; 2 = WPA2; 3 = WPA/WPA2
wpa=2
# Passphrase
wpa_passphrase=whiteflag
#Gestion du chiffrement
wpa_key_mgmt=WPA-PSK
#Algorithme de chiffrement. Ici TKIP = RC4
rsn_pairwise=CCMP
##################################################################

Vous n’avez plus qu’à copier/coller le contenu (en modifiant l'interface à utiliser) et lancer l’outil hostapd à l’aide de cette commande :

hostapd "votre_fichier_de_configuration"

Pour que votre point d’accès soit utilisable et que les clients puissent naviguer sur le web