最近一项备受瞩目的法医调查报告 指出,“由于 WhatsApp 采用了端到端加密,实际上无法解密下载器 [.enc 文件] 的内容,以确定除传输视频外是否包含任何恶意代码。”
本项目演示如何解密从 WhatsApp 下载的加密媒体文件。
$ go get github.com/ddz/whatsapp-media-decrypt
用法: ./whatsapp-media-decrypt -o 文件 -t 类型 加密文件 十六进制媒体密钥
选项:
-o 文件
将解密后的输出写入文件
-t 类型
媒体类型 (1 = 图片, 2 = 视频, 3 = 音频, 4 = 文档)
媒体密钥存储在一个 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 使用 iOS 数据保护 来加密用户数据文件(包括 ChatStorage.sqlite),该加密同时使用了设备特定的、不可恢复的硬件 UID 密钥以及从用户密码派生出的密钥。如果没有物理访问创建该文件的特定 iOS 设备,并且不知道用户的密码,则无法解密这些文件。
不能。
Engelke, Lucas. go-whatsapp
Graham, Robert. 如何解密 WhatsApp 端到端媒体文件
Marczak, Bill. "贝佐斯黑客案中进一步调查的一些方向"
Sigalor. WhatsApp Web 逆向工程
WhatsApp. WhatsApp 加密概述