miércoles, 16 de abril de 2014

Desencriptar archivos crypt de Whastsapp

OJO ESTO ES SOLO EDUCATIVO, NO ME HAGO RESPONSABLE  DE SU MAL USO 

Whatsapp, ese magnífico programa que permite que nos comuniquemos al instante sin tener que volver a usar SMS’s… podemos enviar fotos, vídeo, audio, contactos, ubicaciones… ¡Qué bonito!.
Pero no todo iba a ser bueno, aunque según cómo se mire, ¿no?. El caso es que este maravilloso programa tiene múltiples y graves vulnerabilidades de seguridad que han ido corrigiendo a medida que los hackers advertían sobre ello o miles de cuentas eran hackeadas.
Ahora mismo recuerdo dos de ellas:
  • En el inicio, el envío de mensajes se hacía sin cifrar… Sí, ¡¡¡sin cifrar!!!
  • Los historiales de conversación se guardaban en el teléfono sen texto plano… ¡¡¡sin cifrar!!!
Pues bien, a día de hoy, ya se guardan cifrados los historiales de conversación pero se almacenan en base64 sin clave maestra por lo que su desencriptación es bastante sencilla de hacer.
Como otras entradas NO me responsabilizo del mal uso de esta herramienta, yo lo he hecho con fines lúdicos y formativos.

copiar la base de datos

Introducimos la tarjeta SD en nuestro ordenador y copiamos la carpeta entera WhatsApp/Databases en una carpeta de nuestro equipo local, para no dañar las de la tarjeta.

instalar dependencias

En este caso python y sqlite3
sudo apt-get install python sqlite3

descargar Whatsapp Xtract

Vamos a descargar el script en Python que permite desencriptar el base64 de la base de datos de Whatsapp:
Descargar Whatsapp Xtract V2.2

Lo extraemos, navegamos a la carpeta de extracción y con la consola, ejecutamos el fichero whatsapp_xtract.py con el intérprete de python:
python whatsapp_xtract.py ruta/a/msgstore.db.crypt

Esperamos un rato, y nos generará un fichero HTML de un tamaño bastante considerable, donde aparecerá un listado de los números de teléfono además de las conversaciones que estén almacenadas en el fichero msgstore.db.crypt. Lo abrimos con el navegador preferido y ya lo podremos visualizar.
Los número de teléfono se guardan con el prefijo del país más el número de teléfono, en mi caso mi número es 675186880 y el prefijo de España es +34, pues mi número sería: 034675186880 . De esta manera podemos saber de quién es cada conversación.
Podemos repetir la ejecución del script anterior para el resto de ficheros .crypt que whatsapp ha ido almacenando a lo largo del tiempo, por ejemplo: msgstore-2012-08-14.1.db


No hay comentarios:

Publicar un comentario