Traquer des contacts WhatsApp – device-activity-tracker

Dans mon flux RSS, je suis tombé sur un dépôt Github très intéressant : device-activity-tracker

Ce dépôt fait suite à un article scientifique : Careless Whisper: Exploiting Silent Delivery Receipts to Monitor Users on Mobile Instant Messengers

device-activity-tracker est un proof-of-concept open source montrant comment les temps de réponse (RTT) des accusés de réception dans WhatsApp ou Signal peuvent permettre de traquer l’activité d’un appareil : actif, en veille, ou changeant de réseau (Wi-Fi / données mobiles).

Important : Cet outil est destiné à la recherche et aux tests de sécurité.
Il ne doit jamais être utilisé pour surveiller des personnes sans leur consentement.
Les tests sont à effectuer sur votre propre matériel.

1) Installation de Node.js & npm

Pour exécuter le projet, vous devez installer Node.js (qui inclut automatiquement npm).

Windows :

Télécharger l’installateur officiel : https://nodejs.org

Linux (Debian/Ubuntu)

# Mettre à jour les paquets
sudo apt update

# Installer Node.js et npm
sudo apt install nodejs npm

# Vérifier les versions
node -v
npm -v

Version récente via NodeSource

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

2) Installation du projet

# Cloner le dépôt
git clone https://github.com/gommzystudio/device-activity-tracker.git
cd device-activity-tracker

# Installer les dépendances
npm install

# Installer les dépendances du client
cd client && npm install && cd ..

Lancer l’application (interface Web)

Dans un terminal :
# Démarrer le backend
npm run start:server

Dans un autre terminal :

# Démarrer le frontend
npm run start:client

# Accéder à l’interface
http://localhost:3000 ou par l'adresse IP indiqué

Puis dans l’interface, il faut scanner le QRcode généré sur l’appli web :

# Scanner le QR-code avec WhatsApp
Dans Whatsapp --> Menu --> Appareil connecté

 

Lecture de l’interface Web

Il faut démarrer le backend, et le front end :

# Terminal 1: Start backend
npm run start:server

# Terminal 2: Start frontend
npm run start:client

Il faut ajourer un numéro au format plein, avec l’indicatif : 3306XXXXXXXX

J’ai testé sur deux numéros que je possède, et on voit bien l’activité ou non, sur le smartphone. Ce qui est également pratique, c’est qu’il existe un « Privacy Mode« , vous permettant de ne pas afficher les informations sensibles des victimes.

 

 

L’interface affiche notamment :

– RTT en temps réel : latence mesurée entre probe et accusé.
Historique : variations d’activité dans le temps.

3) Statut estimé :

Si le RTT est faible → appareil probablement actif, par contre si le RTT est élevé → inactif / veille / réseau lent.

L’approche utilisée par device-activity-tracker repose sur des phénomènes analysés en détail dans l’article scientifique
Careless Whisper: Exploiting Stealthy End-to-End Leakage in Mobile Instant Messengers.

Les messageries utilisent des silent delivery receipts : accusés de réception invisibles pour l’utilisateur. Ces accusés permettent de « pinguer » un appareil sans qu’il ne s’en rende compte.

Les variations de RTT révèlent des informations sensibles :
– écran allumé / éteint,
– type de réseau (Wi-Fi / mobile),
– activité de l’utilisateur,
– nombre d’appareils liés au compte,
– éventuellement le système d’exploitation.

Ces fuites existent même lorsque les messages sont entièrement chiffrés (E2EE). Il est possible d’automatiser des probes réguliers sans notification visible. Les RTT suffisent pour inférer des patterns quotidiens d’activité. Un attaquant peut potentiellement profiler un utilisateur (heures d’activité, sommeil, déplacements…). Ces attaques ne nécessitent aucune interaction de la victime et c’est là tout le danger.

Ainsi, device-activity-tracker constitue une implémentation pratique démontrant exactement les mécanisme décrits dans ce travail scientifique : une mise en application directe d’une vulnérabilité théorisée et validée par la recherche.

Références

Dépôt GitHub – device-activity-tracker
Article scientifique – Careless Whisper (arXiv)
– Korben.info

Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *