
एक फ़ोन नंबर यह प्रकट कर सकता है कि कोई डिवाइस सक्रिय है, स्टैंडबाय में है या ऑफ़लाइन है (और भी बहुत कुछ)। यह PoC दर्शाता है कि कैसे डिलीवरी रसीदें + RTT टाइमिंग संवेदनशील डिवाइस-गतिविधि पैटर्न लीक करती हैं। (WhatsApp / Signal)
RTT विश्लेषण के माध्यम से WhatsApp और Signal एक्टिविटी ट्रैकर
⚠️ अस्वीकरण: यह केवल शैक्षिक और सुरक्षा अनुसंधान उद्देश्यों के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट है। यह WhatsApp और Signal में गोपनीयता संबंधी कमजोरियों को प्रदर्शित करता है।
यह प्रोजेक्ट Gabriel K. Gegenhuber, Maximilian Günther, Markus Maier, Aljosha Judmayer, Florian Holzbauer, Philipp É. Frenzel, और Johanna Ullrich (University of Vienna और SBA Research) द्वारा लिखित "Careless Whisper: Exploiting Silent Delivery Receipts to Monitor Users on Mobile Instant Messengers" शोध पत्र के निष्कर्षों को लागू करता है।
यह क्या करता है: WhatsApp मैसेज डिलीवरी रसीदों के राउंड-ट्रिप समय (RTT) को मापकर, यह उपकरण निम्न का पता लगा सकता है:
सुरक्षा निहितार्थ: यह मैसेजिंग ऐप्स में एक महत्वपूर्ण गोपनीयता कमजोरी को प्रदर्शित करता है जिसका उपयोग निगरानी के लिए किया जा सकता है।
![]()
वेब इंटरफ़ेस रीयल-टाइम RTT माप, डिवाइस स्थिति का पता लगाने और गतिविधि पैटर्न दिखाता है।
# 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 ..
आवश्यकताएँ: Node.js 20+, npm, WhatsApp खाता
एप्लिकेशन चलाने का सबसे आसान तरीका Docker का उपयोग करना है:
# Copy environment template
cp .env.example .env
# (Optional) Customize ports in .env file
# BACKEND_PORT=3001
# CLIENT_PORT=3000
# Build and start containers
docker compose up --build
एप्लिकेशन निम्न पर उपलब्ध होगा:
CLIENT_PORT)BACKEND_PORT)कंटेनरों को रोकने के लिए:
docker compose down
# Terminal 1: Start backend
npm run start:server
# Terminal 2: Start frontend
npm run start:client
http://localhost:3000 खोलें, WhatsApp से QR कोड स्कैन करें, फिर ट्रैक करने के लिए फोन नंबर दर्ज करें (जैसे, 491701234567)।
npm start
प्रमाणित करने और लक्षित नंबर दर्ज करने के लिए संकेतों का पालन करें।
उदाहरण आउटपुट:
╔════════════════════════════════════════════════════════════════╗
║ 🟡 Device Status Update - 09:41:51 ║
╠════════════════════════════════════════════════════════════════╣
║ JID: ***********@lid ║
║ Status: Standby ║
║ RTT: 1104ms ║
║ Avg (3): 1161ms ║
║ Median: 1195ms ║
║ Threshold: 1075ms ║
╚════════════════════════════════════════════════════════════════╝
ट्रैकर प्रोब संदेश भेजता है और डिवाइस गतिविधि का पता लगाने के लिए राउंड-ट्रिप समय (RTT) मापता है। दो प्रोब विधियाँ उपलब्ध हैं:
| विधि | विवरण |
|---|---|
| Delete (डिफ़ॉल्ट) | गैर-मौजूद संदेश आईडी के लिए "delete" अनुरोध भेजता है। |
| Reaction | गैर-मौजूद संदेश आईडी पर रिएक्शन इमोजी भेजता है। |
प्रोब संदेश भेजने और CLIENT ACK (Status 3) प्राप्त करने के बीच के समय को RTT के रूप में मापा जाता है। डिवाइस स्थिति का पता माध्यिका RTT के 90% के रूप में गणना की गई एक गतिशील सीमा का उपयोग करके लगाया जाता है: सीमा से कम मान सक्रिय उपयोग का संकेत देते हैं, सीमा से अधिक मान स्टैंडबाय मोड का संकेत देते हैं। माप इतिहास में संग्रहीत किए जाते हैं और विभिन्न नेटवर्क स्थितियों के अनुकूल होने के लिए माध्यिका को लगातार अपडेट किया जाता है।
वेब इंटरफ़ेस में, आप कंट्रोल पैनल में ड्रॉपडाउन का उपयोग करके प्रोब विधियों के बीच स्विच कर सकते हैं। CLI मोड में, डिफ़ॉल्ट रूप से delete विधि का उपयोग किया जाता है।
auth_info_baileys/ फ़ोल्डर को हटाएं और QR कोड को फिर से स्कैन करें।device-activity-tracker/
├── src/
│ ├── tracker.ts # WhatsApp RTT analysis logic
│ ├── signal-tracker.ts # Signal RTT analysis logic
│ ├── server.ts # Backend API server (both platforms)
│ └── index.ts # CLI interface
├── client/ # React web interface
└── package.json
सबसे प्रभावी उपाय WhatsApp में Settings → Privacy → Advanced के अंतर्गत "Block unknown account messages" को सक्षम करना है।
यह सेटिंग अज्ञात नंबरों से प्रोब रिएक्शन स्पैम करने की हमलावर की क्षमता को कम कर सकती है, क्योंकि WhatsApp अज्ञात खातों से उच्च-मात्रा वाले संदेशों को ब्लॉक करता है। हालाँकि, WhatsApp यह खुलासा नहीं करता है कि "उच्च-मात्रा" का क्या अर्थ है, इसलिए यह किसी हमलावर को रेट-लिमिटिंग शुरू होने से पहले महत्वपूर्ण संख्या में प्रोब रिएक्शन भेजने से पूरी तरह नहीं रोकता है।
रीड रसीदें अक्षम करने से नियमित संदेशों में मदद मिलती है लेकिन यह इस विशिष्ट हमले से सुरक्षा नहीं करता है। दिसंबर 2025 तक, यह कमजोरी WhatsApp और Signal में शोषणीय बनी हुई है।
⚠️ केवल अनुसंधान और शैक्षिक उद्देश्यों के लिए। स्पष्ट सहमति के बिना कभी भी लोगों को ट्रैक न करें - यह गोपनीयता कानूनों का उल्लंघन हो सकता है। प्रमाणीकरण डेटा (auth_info_baileys/) स्थानीय रूप से संग्रहीत किया जाता है और इसे कभी भी वर्जन कंट्रोल में कमिट नहीं किया जाना चाहिए।
Gegenhuber एट अल., University of Vienna और 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 लाइसेंस - LICENSE फ़ाइल देखें।
@whiskeysockets/baileys के साथ निर्मित
जिम्मेदारी से उपयोग करें। यह उपकरण वास्तविक सुरक्षा कमजोरियों को प्रदर्शित करता है जो लाखों उपयोगकर्ताओं को प्रभावित करती हैं।