Skip to content

Instantly share code, notes, and snippets.

@ikarius
Last active March 24, 2017 16:12
Show Gist options
  • Save ikarius/a00a75ba2745223e90870dacdb9c41a1 to your computer and use it in GitHub Desktop.
Save ikarius/a00a75ba2745223e90870dacdb9c41a1 to your computer and use it in GitHub Desktop.
RTSInfo - Création d'un faux hotspot WiFi

Objectifs

  • Créer un faux point d'accès Wifi public (hotspot) portable,
  • Créer un phishing Facebook phishing
  • Informer les utilisateurs de hotspots gratuits des dangers d'une connexion directe à un wifi ouvert.

Durant les expérimentations effectués dans l'espace public, aucune information personnelle (login, mot de passe..) n'a été interceptée, stockée ou visualisée.

Quelques précisions

La configuration précise des différents éléments logiciels est ici volontairement imprécise.

Le but du jeu n'est pas de décrire la création de genre de piège, mais plutot de montrer la facilité de la tâche...

Pas besoin d'être un "hacker de génie" pour réussir ce tour de passe-passe.

Matériel utilisé

  • Raspberry Pi (Pi 1 model B+)
  • Antenne ALFA Network (AWUS036HNA)
  • Batterie xtorm 18000mAh (AL390)

Note:

Cette batterie est largement surdimensionnée pour alimenter un Pi, mais nous en avions une à disposition.

N'inmporte quelle batterie de plus de 2500mAh avec une sortie USB convient pour l'expérience (budget approximatif: 20CHF).

L'utilisation d'une batterie externe standard porte le coût total du dispositif à environ 50CHF.

Logiciels utilisés

Note:

Tous ces logiciels sont opensource et librement télechargeables via 'apt' (sans autre configuration).

Configuration du matériel

L'installation et la préparation du matériel est extrémement simple.

Il suffit d'installer une distribution Linux, dans notre cas une distribution Debian adaptée au Pi: Raspbian.

Le processus complet d'installation de Raspian est décrit à l'adresse suivante: installation de la distribution Raspbian (en anglais).

Création d'une fausse page de connexion

Nous avons opté pour une fausse page d'accueil Facebbok optimisé pour le mobile: l'utilisation du faux hotspot nous a donné raison, toutes les tentatives de connexion ayant été effectuées via des téléphones portables.

Nous avons donc extrait la page m.facebook.com comme base de travail.

Nous avons ensuite enlevé tous les éléments "actifs" de la page (javascript) et simplifié son code pour n'obtenir qu'une coquille vide conservant exactement la même apparence.

Enfin, nous avons modifié le formulaire de connexion et la saisie de l'utilisateur et du mot de passe.

Toute connexion via ce formulaire redirige vers une page d'information.

NB: Cette modification a été effectuée en prenant soin de ne pas faire transiter via le réseau les informations de connexion qu'un utilisateur du hotspot pourrait malencontreusement fournir.

Utilisation de 'hostapd'

hostapd est un utilitaire réseau permettant d'effectuer facilement plusieurs tâches techniques pour la création d'un point d'accès wifi, et plus particulièrement:

  • la configuration de la carte wifi pour permettre la connexion des appareils cherchant un point d'accès
  • le transfert des informations de connexion pour les appareils (DHCP)

Utilisation de 'dnsmasq'

dnsmasq permet d'intercepter tout ou partie du trafic DNS.

Dans notre cas, la totalité du trafic est redirigée vers le serveur web lighttpd pour afficher la fausse page d'identification Facebook.

L'utilisation sur la page d'accueil du faux site d'un nom de domaine comme facebook.com est complexe à configurer (sans être impossible toutefois), nous avons donc opté pour le domaine facebook.ch.

Toute requête effectuée sur facebook.ch (où tout autre site) est donc redirigée vers notre fausse page d'accueil.

Utilisation de 'lighttpd'

lighttpd est un serveur web.

Extrement léger, il fonctionne parfaitement sur une machine de faible puissance comme un Raspberry Pi 1.

Dans notre cas, il permet de transmettre la fausse page de connexion à Facebook aux appareils se connectant au faux hotspot.

Toutes les erreurs HTTP (codes 40x et 50x) sont attrapées et redirigées vers la fausse page d'accueil.

Cette petite astuce permet de rediriger tous le trafic web sans avoir à utiliser et configurer des utilitaires plus complexes (iptables par ex.).

Elle permet également de simuler facilement le comportement d'un portail captif sans avoir à utiliser d'autres logiciels (comme nodogsplash par ex.).

Note: Encore une fois, par soucis de discrétion, aucune information de connexion n'est loggée (stockée de manière permanente).

Dans le cadre de cette expérience, aucune information de connexion n'a transité sur le réseau, et aucune trace n'a été enregistrée.

Mais il aurait été très facile de le faire.

Capture des connexions

Le matériel une fois assemblé et connecté est suffisament compact pour tenir dans un petit sac à dos.

L'antenne utilisée est suffisament puissante pour fournir du wifi à tout appareil dans un rayon de 100m en extérieur (même à l'intérieur d'un sac).

L'idéal est de se placer dans un espace semi-ouvert, si possible en hauteur, et d'attendre.

L'autonomie du dispositif est suffisante pour tenir une bonne journée.

Plus de détails sur la démarche et les résultats obtenus ici: article RTSInfo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment