Skip to content

Instantly share code, notes, and snippets.

@vtombez

vtombez/README.md

Last active Jul 28, 2020
Embed
What would you like to do?
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ées 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'importe 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 tout 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 sur RTSInfo.ch

@polto

This comment has been minimized.

Copy link

@polto polto commented Mar 26, 2017

Très sympathique démonstration pour nos amis les utilisateurs. Mais reproduire des sites n'est certainement pas le meilleur moyen. Avec deux cartes wifi, vous pouvez être AP et client d'un vrai wifi (ou avec une connexion 4G). ça fais une passerelle internet sur laquelle vous pourriez faire tourner http://mitmproxy.org/ - ça fait bien plus peur comme démo.

@karlmarx80

This comment has been minimized.

Copy link

@karlmarx80 karlmarx80 commented Mar 26, 2017

J'imagine que l'idée était de faire une démonstration simple, qui parle vraiment à tout le monde et pas illégale....

@ExtraDev

This comment has been minimized.

Copy link

@ExtraDev ExtraDev commented Oct 9, 2019

Bonjour, est-il possible d'en savoir plus sur le processus (configuration du portal captif)? ça fait un moment que j'essaie plusieurs solution et la votre me semble la plus simple / efficace sans passer par des softs trop complexe. Merci de votre réponse.

@vtombez

This comment has been minimized.

Copy link
Owner Author

@vtombez vtombez commented Oct 9, 2019

Bonjour, comme expliqué dans le post, c'est voulu que les informations concernant la configuration restent imprécises. Il s'agit d'un projet qui a été développé dans le but d'informer sur cette problématique et pas de permettre à tout le monde de créer de faux hotspot pour voler des données.

@ExtraDev

This comment has been minimized.

Copy link

@ExtraDev ExtraDev commented Oct 9, 2019

Bonjour, il me paraît normal en effet qu'il ne soit pas expliqué les démarches pour éviter que ce projet soit reproduit à mauvais escient. J'ai demandé car dans le cadre d'un projet devais réaliser un jeu du morpion au format web répartit sur 9 smartphone dans le but de le présenté à la cité des métiers. Malheureusement je n'ai pas réussis et je suis passé par RaspAp. Aujourd'hui je vois une potentiel solution à mon problème et c'était à but informatif.

Merci beaucoup de votre réponse et bonne continuation.

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