Snappy : Un outil pour détecter les points d'accès WiFi indésirables sur les réseaux ouverts
Les attaquants
peuvent créer de faux points d'accès, et comme ils contrôlent le routeur, ils
peuvent capturer et analyser les données transférées en effectuant des attaques
de type "man-in-the-middle".
Les appareils
de ceux qui revisitent les emplacements des réseaux sans fil ouverts auxquels
ils se sont précédemment connectés tenteront automatiquement de se reconnecter
à un point d'accès sauvegardé, et leurs propriétaires seront inconscients du
fait qu'ils se connectent à un appareil malveillant.
Neaves a
développé un outil qui s'attaque à ce risque courant, en aidant les gens à
détecter s'il pourrait s'agir d'un faux dispositif.
En analysant
les trames de gestion des balises, il a trouvé certains éléments statiques tels
que le fournisseur, le BSSID, les taux pris en charge, le canal, le pays, la
puissance d'émission maximale et d'autres éléments qui varient entre les
différents points d'accès sans fil 802.11, mais qui sont constants pour un
point d'accès spécifique au fil du temps.
Le chercheur a
pensé qu'il pouvait concaténer ces éléments et les hacher avec SHA256 pour
créer une signature unique pour chaque point d'accès, qui pourrait être
utilisée par un outil d'analyse pour générer des correspondances et des
non-concordances.
Les
correspondances signifient que le point d'accès est le même, donc digne de
confiance, tandis que les non-concordances dans la signature signifient que
quelque chose a changé, et que le point d'accès pourrait être malhonnête.
Cette
fonctionnalité a été intégrée dans un script Python appelé Snappy qui a été
publié sur le dépôt GitHub de Trustwave et mis à disposition gratuitement.
Snappy peut
également détecter les points d'accès créés par Airbase-ng, un outil que les
attaquants utilisent pour créer de faux points d'accès afin de capturer les
paquets des utilisateurs connectés ou même d'injecter des données dans leur
trafic réseau.
L'exécution de
scripts Python sur les ordinateurs portables devrait être simple tant que
Python est installé, mais les utilisateurs d'appareils mobiles devront faire un
effort supplémentaire pour trouver des interpréteurs et des émulateurs
spécifiques.
Les propriétaires d'appareils Android peuvent utiliser Pydroid, QPython ou Termux pour exécuter des scripts Python sur leurs téléphones, tandis que les utilisateurs d'iOS ont le choix entre Pythonista, Carnets et Juno.
Il est à espérer que Trustwave envisagera bientôt de publier l'outil sous une forme plus utilisable pour le grand public.