
Eine Telefonnummer kann verraten, ob ein Gerät aktiv, im Standby oder offline ist (und mehr). Diese PoC demonstriert, wie Zustellbestätigungen + RTT-Timing sensible Geräte-Aktivitätsmuster preisgeben. (WhatsApp / Signal)
WhatsApp- & Signal-Aktivitäts-Tracker mittels RTT-Analyse
⚠️ HINWEIS: Proof-of-Concept nur für Bildungs- und Sicherheitsforschungszwecke. Zeigt Datenschutzschwachstellen in WhatsApp und Signal auf.
Dieses Projekt implementiert die Forschung aus dem Paper „Careless Whisper: Exploiting Silent Delivery Receipts to Monitor Users on Mobile Instant Messengers“ von Gabriel K. Gegenhuber, Maximilian Günther, Markus Maier, Aljosha Judmayer, Florian Holzbauer, Philipp É. Frenzel und Johanna Ullrich (Universität Wien & SBA Research).
Was es tut: Durch Messung der Round-Trip-Zeit (RTT) von WhatsApp-Zustellbestätigungen kann dieses Tool Folgendes erkennen:
Sicherheitsimplikationen: Dies zeigt eine erhebliche Datenschutzlücke in Messaging-Apps auf, die für Überwachung ausgenutzt werden kann.
![]()
Die Weboberfläche zeigt Echtzeit-RTT-Messungen, Erkennung des Gerätezustands und Aktivitätsmuster.
# Clone repository
git clone https://github.com/gommzystudio/device-activity-tracker.git
cd device-activity-tracker
# Install dependencies
npm install
cd client && npm install && cd ..
Anforderungen: Node.js 20+, npm, WhatsApp-Konto
Die einfachste Möglichkeit, die Anwendung auszuführen, ist die Verwendung von Docker:
# Kopieren der Umgebungsvorlage
cp .env.example .env
# (Optional) Anpassen der Ports in der .env-Datei
# BACKEND_PORT=3001
# CLIENT_PORT=3000
# Container bauen und starten
docker compose up --build
Die Anwendung ist unter folgenden Adressen erreichbar:
CLIENT_PORT)BACKEND_PORT)Zum Stoppen der Container:
docker compose down
# Terminal 1: Backend starten
npm run start:server
# Terminal 2: Frontend starten
npm run start:client
Öffnen Sie http://localhost:3000, scannen Sie den QR-Code mit WhatsApp und geben Sie dann die zu verfolgende Telefonnummer ein (z. B. 491701234567).
npm start
Folgen Sie den Aufforderungen zur Authentifizierung und Eingabe der Zielnummer.
Beispielausgabe:
╔════════════════════════════════════════════════════════════════╗
║ 🟡 Gerätestatus-Aktualisierung - 09:41:51 ║
╠════════════════════════════════════════════════════════════════╣
║ JID: ***********@lid ║
║ Status: Standby ║
║ RTT: 1104ms ║
║ Avg (3): 1161ms ║
║ Median: 1195ms ║
║ Threshold: 1075ms ║
╚════════════════════════════════════════════════════════════════╝
Der Tracker sendet Testnachrichten und misst die Round-Trip-Zeit (RTT), um die Geräteaktivität zu erkennen. Zwei Testmethoden stehen zur Verfügung:
| Methode | Beschreibung |
|---|---|
| Löschen (Standard) | Sendet eine „Löschanfrage“ für eine nicht vorhandene Nachrichten-ID. |
| Reaktion | Sendet ein Reaktions-Emoji auf eine nicht vorhandene Nachrichten-ID. |
Die Zeit zwischen dem Senden der Testnachricht und dem Empfang des CLIENT ACK (Status 3) wird als RTT gemessen. Der Gerätezustand wird mittels eines dynamischen Schwellenwerts erkannt, der als 90 % des Median-RTT berechnet wird: Werte unter dem Schwellenwert zeigen aktive Nutzung an, Werte darüber zeigen Standby-Modus an. Die Messungen werden im Verlauf gespeichert und der Median wird kontinuierlich aktualisiert, um sich an unterschiedliche Netzwerkbedingungen anzupassen.
In der Weboberfläche können Sie über das Dropdown-Menü im Steuerungsfeld zwischen den Testmethoden wechseln. Im CLI-Modus wird standardmäßig die Löschmethode verwendet.
auth_info_baileys/ und scannen Sie den QR-Code erneut.device-activity-tracker/
├── src/
│ ├── tracker.ts # WhatsApp RTT-Analyselogik
│ ├── signal-tracker.ts # Signal RTT-Analyselogik
│ ├── server.ts # Backend-API-Server (beide Plattformen)
│ └── index.ts # CLI-Oberfläche
├── client/ # React-Weboberfläche
└── package.json
Die wirksamste Gegenmaßnahme ist die Aktivierung von „Nachrichten von unbekannten Konten blockieren“ in WhatsApp unter
Einstellungen → Datenschutz → Erweitert.
Diese Einstellung kann die Fähigkeit eines Angreifers einschränken, Testreaktionen von unbekannten Nummern zu spammen, da WhatsApp Nachrichten in hohem Volumen von unbekannten Konten blockiert.
WhatsApp gibt jedoch nicht bekannt, was „hohes Volumen“ bedeutet, sodass dies einen Angreifer nicht vollständig daran hindert, eine beträchtliche Anzahl von Testreaktionen zu senden, bevor die Ratenbegrenzung greift.
Das Deaktivieren von Lesebestätigungen hilft bei regulären Nachrichten, schützt jedoch nicht vor diesem spezifischen Angriff. Stand Dezember 2025 ist diese Schwachstelle in WhatsApp und Signal weiterhin ausnutzbar.
⚠️ Nur für Forschungs- und Bildungszwecke. Verfolgen Sie niemals Personen ohne deren ausdrückliche Zustimmung – dies kann gegen Datenschutzgesetze verstoßen. Authentifizierungsdaten (auth_info_baileys/) werden lokal gespeichert und dürfen niemals in die Versionskontrolle eingecheckt werden.
Basierend auf Forschung von Gegenhuber et al., Universität Wien & SBA Research:
@inproceedings{gegenhuber2024careless,
title={Careless Whisper: Exploiting Silent Delivery Receipts to Monitor Users on Mobile Instant Messengers},
author={Gegenhuber, Gabriel K. and G{\"u}nther, Maximilian and Maier, Markus and Judmayer, Aljosha and Holzbauer, Florian and Frenzel, Philipp {\'E}. and Ullrich, Johanna},
year={2024},
organization={University of Vienna, SBA Research}
}
MIT-Lizenz – Siehe LICENSE-Datei.
Erstellt mit @whiskeysockets/baileys
Verantwortungsvoll nutzen. Dieses Tool zeigt echte Sicherheitslücken auf, die Millionen von Nutzern betreffen.