ClsHack Blog


WhatsApp: Decrypt msgstore.db.crypt

July 8th, 2012 by clshack


WhatsApp grazie ad una efficiente campagna di marketing e la sua disponibilità su diverse piattaforme è diventato molto utilizzato per scambiarsi messaggi foto e informazioni private.

WhatsApp non utilizza connessioni criptate quindi attraverso un attacco mitm è facile leggere i dati che vengono inviati o ricevuti.

Un’altra cosa molto interessante di whatsapp è che tutti i messaggi sono salvati in locale, nel file:
msgstore.db.crypt

In un android questo file si trova in questa posizione:
/sdcard/WhatsApp/Databases/msgstore.db.crypt

Nell’iphone cercate voi :D

Questo file come dicevamo prima è criptato.

Purtroppo, WhatsApp utilizza la crittografia (AES-192-ECB) e utilizza sempre la stessa chiave (346a23652a46392b4d73257c67317e352e3372482177652c) per questo motivo che utilizziate iphone o android o peggio nokia .-. il file sarà decriptabile sempre nello stesso modo :D

Su un normale linux, potremo decriptare il file in questo modo:
openssl enc -d -aes-192-ecb -in msgstore.db.crypt -out msgstore.db.sqlite -K 346a23652a46392b4d73257c67317e352e3372482177652c

In output avremo il file:
msgstore.db.sqlite
Facilmente apribile con un qualsiasi editor sqlite :)

Piccole suggerimento che vi aiuterà a capire i messaggi:
SELECT _id,key_from_me, data, key_remote_jid,timestamp FROM messages

  • _id: numero del messaggio;
  • key_from_me: valore booleano, 0= ricevuto, 1=inviato;
  • data: testo del messaggio;
  • key_remote_jid: numero di telefono della persona che sta scrivendo a questo contatto;
  • timestamp: quando ?

Un altro programma per facilitarci le operazioni è WhatsApp Xtract.
WhatsApp Xtract è un tool scritto in python per velocizzare le operazioni sopra descritte.
Tutte le info su questo programma le trovate qui:
http://forum.xda-developers.com/showthread.php?p=24569917

Buon forensics :D