Comment enregistrer les trames WiFi des smartphones avec Probemon ?

By | November 24, 2017

Les smartphones émettent des trames WiFi en permanence pour faciliter la géolocalisation.
Malheureusement, cette fonction peut être abusée pour des fins de surveillance.
En effet, elle est activée par défaut sur la plupart des smartphones Android du marché, et même si vous désactivez le WiFi, vos téléphones continueront d’émettre des trames.
Tel est le résultat d’une récente étude menée par des chercheurs français.

Pour comprendre de quoi il s’agit concrètement, nous réaliserons un simple test avec Probemon.

Probemon est un script Python qui peut être utilisé pour répérer des appareils émettant des trames Wi-Fi. Probemon enregistre notamment les adresses MAC de tous les appareils environnants ainsi que la force de leur signal.

Installation

Commençons d’abord par installer Netaddr et Scapy , les seules dépendances réquises pour l’utilisation de Probemon.

# git clone https://github.com/drkjam/netaddr
# cd netaddr
# python setup.py install

# git clone https://github.com/secdev/scapy.git
# cd scapy
# python setup.py install

Clonons ensuite le repo de Probemon:

# git clone https://github.com/nikharris0/probemon.git

Voici le menu d’aide de Probemon:

Avant d’utiliser Probemon, il est nécessaire de mettre notre carte Wi-Fi en mode moniteur à l’aide de airmon-ng:

# airmon-ng start wlan0

Test

Pour cette expérience, nous utiliserons un smartphone Samsung sur lequel nous prendrons le soin de désactiver le WiFi.

Lorsque nous lançons Probemon, l’adresse MAC du smartphone reste détectable malgré la désactivation du WiFi.

Réalisons une nouvelle expérience. Cette fois après avoir désactivé le WiFi, nous activons l’option Rechercher uniquement lorsque le WiFi est activé. Vous trouverez cette option en suivant ce chemin sur votre smartphone:
Paramètres/WiFi/Plus/Toujours autoriser la recherche.

Dans cette nouvelle expérience, l’adresse MAC du smartphone n’est pas détectée par Probemon.

Capter une telle requête peut confirmer la présence d’un utilisateur.
Les conséquences de ces émissions peuvent être énormes. Par exemple, les spécialistes du marketing de la distribution peuvent se servir de telles informations pour analyser les fréquentations de certains magasins par de potentiels clients. Aussi, ces requêtes pourraient faciliter une phase de reconnaissance au sein d’une entreprise. Des pirates pourraient s’en servir également pour espionner des employés.

Probemon est un outil très intéressant dans la mesure où il vous permettra de savoir si vos appareils (smartphones, laptops, imprimantes, objet connecté, etc.) émettent ces trames WiFi à votre insu.
Dans notre exemple, l’option Rechercher uniquement lorsque le WiFi est activé nous a permis de bloquer ces émissions. Il peut arriver que cette option soit absente sur certains smartphones voire impossible à désactiver. Cette option n’est pas clairement décrite dans l’ensemble des versions d’Android. La désactiver de façon permanente peut être problématique car l’exécution de certaines applications comme Google Maps requiert son activation.

mdestroy

One thought on “Comment enregistrer les trames WiFi des smartphones avec Probemon ?

  1. sosltice

    * Il faut évidemment que la carte wifi supporte le mode monitor pour que cela soit possible.
    * On peut très bien utiliser netaddr et scapy fournit par votre distribution favorite. Pas besoin de la version git.

    On peut changer dans le code de probemon.py, la valeur notdecoded[-4:-3] en notdecoded[-2:-1] pour certaines cartes. Cela permettra d’avoir des valeurs correctes du RSSI.

    Et un peu d’auto-promotion: j’ai fait un fork de probemon qui loggue dans une base sqlite3, et permet aussi de faire des zolis graphiques en fonction du temps. https://github.com/solsticedhiver/probemon

    https://imgur.com/a/Gir5Y

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *