
व्हाट्सएप के एन्क्रिप्टेड मीडिया फ़ाइलों (इमेज, वीडियो, ऑडियो, दस्तावेज़) को iOS ChatStorage.sqlite या Android msgstore.db डेटाबेस से निकाली गई मीडिया कुंजियों का उपयोग करके डिक्रिप्ट करें।
हाल ही में एक हाई-प्रोफाइल फोरेंसिक जांच ने बताया कि "WhatsApp द्वारा उपयोग किए जाने वाले एंड-टू-एंड एन्क्रिप्शन के कारण, डाउनलोडर [.enc फ़ाइल] की सामग्री को डिक्रिप्ट करना लगभग असंभव है ताकि यह निर्धारित किया जा सके कि इसमें वितरित वीडियो के अलावा कोई दुर्भावनापूर्ण कोड था या नहीं।"
यह प्रोजेक्ट दर्शाता है कि WhatsApp से डाउनलोड की गई एन्क्रिप्टेड मीडिया फ़ाइलों को कैसे डिक्रिप्ट किया जाए।
$ go get github.com/ddz/whatsapp-media-decrypt
Usage: ./whatsapp-media-decrypt -o FILE -t TYPE ENCFILE HEXMEDIAKEY
Options:
-o FILE
write decrypted output to FILE
-t TYPE
media TYPE (1 = image, 2 = video, 3 = audio, 4 = doc)
मीडिया कुंजी एक protobuf संदेश के भीतर संग्रहीत की जाती है जो ZMEDIAKEY कॉलम में हेक्स-एन्कोडेड रूप में संग्रहीत होती है।
$ sqlite ChatStorage.sqlite
SQLite version 3.27.2 2019-03-09 15:45:46
Enter ".help" for usage hints.
sqlite> select ZMEDIAURL,ZVCARDSTRING,hex(ZMEDIAKEY) from ZWAMEDIAITEM where Z_PK = 1795;
https://mmg-fna.whatsapp.net/d/f/Atzc5Drr8l7ngis8GmUTMI6vMQNjOU9zGQ2SYRkjwq44.enc|video/mp4|0A2069A349914734B9359DA0CD8923E6DFDE06F1E2BCE23222C738C521570BA8242A1220A1F5AEB2E620F73007FA853200559B2669455BB5818F619397C638042D8F7F2A18B984A5F1052000
sqlite> .quit
मीडिया कुंजी media_key कॉलम में हेक्स-एन्कोडेड रूप में संग्रहीत होती है।
$ sqlite msgstore.db
SQLite version 3.27.2 2019-03-09 15:45:46
Enter ".help" for usage hints.
sqlite> select message_url,mime_type,hex(media_key) from message_media where message_row_id = 1337;
https://mmg-fna.whatsapp.net/d/f/AnUpYQ390rgUBOQRhuwCyNqo_9KGATdmLUq-ghYEx-D9.enc|video/mp4|14F9C1B3BB5E66D9A593999A5E0ED3D03ABFECA84320D17763C2B44205E91C17
sqlite> .quit
$ curl -O https://mmg-fna.whatsapp.net/d/f/Atzc5Drr8l7ngis8GmUTMI6vMQNjOU9zGQ2SYRkjwq44.enc
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 389k 100 389k 0 0 1966k 0 --:--:-- --:--:-- --:--:-- 1956k
$ whatapp-media-decrypt -o Atzc5Drr8l7ngis8GmUTMI6vMQNjOU9zGQ2SYRkjwq44.mp4 -t 2 ./Atzc5Drr8l7ngis8GmUTMI6vMQNjOU9zGQ2SYRkjwq44.enc 0A2069A349914734B9359DA0CD8923E6DFDE06F1E2BCE23222C738C521570BA8242A1220A1F5AEB2E620F73007FA853200559B2669455BB5818F619397C638042D8F7F2A18B984A5F1052000
नहीं। WhatsApp का एन्क्रिप्शन एंड-टू-एंड है, जो सुनिश्चित करता है कि केवल प्रेषक और प्राप्तकर्ता ही संदेश पढ़ सकते हैं, और विशेष रूप से उनके बीच कोई सर्वर (या हमलावर!) नहीं। यह एक क्रिप्टोग्राफ़िक कुंजी का उपयोग करता है जो किसी एक एंडपॉइंट पर संग्रहीत होती है, ताकि मीडिया अटैचमेंट को उसी तरह डिक्रिप्ट किया जा सके जैसे WhatsApp ऐप इसे स्क्रीन पर प्रदर्शित करने के लिए करता है।
नहीं। WhatsApp उपयोगकर्ता डेटा फ़ाइलों (जिसमें ChatStorage.sqlite शामिल है) को एन्क्रिप्ट करने के लिए iOS Data Protection का उपयोग करता है, जिसमें डिवाइस-विशिष्ट और अपुनर्प्राप्तिय हार्डवेयर UID कुंजी के साथ-साथ उपयोगकर्ता के पासकोड से प्राप्त एक कुंजी का उपयोग किया जाता है। विशिष्ट iOS डिवाइस तक भौतिक पहुंच और उपयोगकर्ता के पासकोड के ज्ञान के बिना इसे डिक्रिप्ट नहीं किया जा सकता।
नहीं।
Engelke, Lucas. go-whatsapp
Graham, Robert. WhatsApp एंड-टू-एंड मीडिया फ़ाइलों को कैसे डिक्रिप्ट करें
Marczak, Bill. "Bezos हैक मामले में आगे की जांच के लिए कुछ दिशाएँ"
Sigalor. WhatsApp Web Reverse Engineered
WhatsApp. WhatsApp Encryption Overview