Bulletins

Snappy : Un outil pour détecter les points d'accès WiFi indésirables sur les réseaux ouverts

bs1.jpg

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.