Hace ya casi año y medio que Whatsapp debido a la inseguridad en estos ficheros y por protección de privacidad para los usuarios; Whatsapp lanzó una actualización en la que corrige este "descuido" encriptando dichos ficheros, dificultando así la simple visualización en plaintext de las conversaciones realizadas.
Este cifrado dificulta la visualización a primera vista, pero no la impide. El cifrado (AES-192-ECB) que utiliza aplicación en los ficheros de backup siempre usa la misma key (346a23652a46392b4d73257c67317e352e3372482177652c) y es lo mismo para todos los dispositivos, es decir, que no se crea nada único por cada dispositivo que tenga instalado Whatsapp.
En el caso de los teléfonos IOS este fichero está en la ruta: [ID de App]/Documents/ChatStorage.sqlite.
En el caso de los teléfonos Android en: ../whatsapp/databases/msgstore.db.crypt.
- msgstore.db.crypt (conversaciones actuales).
- msgstore-YYYY-MM-DD.X.db.crypt (backups de conversaciones por fechas).
Para ello descargamos gratuitamente el binario (en mi caso) para Windows de OpenSSL, la cual es una herramienta que permite cifrar y descifrar ficheros mediante líneas de comandos.
Una vez los instalamos se nos instalará (por defecto) en la carpeta la raíz del sistema (C:\).
Copiamos ahora los ficheros de conversaciones que queramos del origen de Whatsapp a una carpeta cercana a la instalación de OpenSSL (da igual donde estén, aconsejo simplemente por comodidad a la hora de mapear el directorio en el comando).
[1] - Abrimos una consola y nos situamos en el directorio donde está el ejecutable OpenSSL.exe (C:\OpenSSL-Win32\bin).
openssl enc -d -aes-192-ecb -in copias\msgstore-entrada.db.crypt -out copias\msgstore-salida.db.sqlite -K 346a23652a46392b4d73257c67317e352e3372482177652cPaso a explicar los argumentos, aunque creo que son claros:
- -d: [Decrypt] argumento para empezar a desencriptar.
- -aes-192-ecb: El tipo de encriptación del fichero.
- -in: [Input] Especificar el fichero de entrada a descifrar (en este caso).
- -out: [Output] Especificar el fichero de salida ya descifrado (en este caso).
- -k: [Key] es la clave necesaria utiliza por la aplicación.
[2] - Una vez tenemos descifrado el fichero, podremos abrirlo simplemente un gestor de SQLite, por ejemplo SQLite Administrator.
Figura 1: Fichero de conversaciones de Whatsapp (ya descifrado) cargado en SQLite (tabla messages) |
Saludos!
No hay comentarios
Publicar un comentario