Acquisizione forense e decrittazione del backup WhatsApp “crypt.15” su Android in modo sicuro e gratuito

Oggigiorno l’acquisizione forense dei dati utente dell’applicazione WhatsApp durante le attività di perizia informatica si pone come una delle principali necessità nell’ambito della cristallizzazione di evidenze digitali ed è sempre più importante per il Digital Forensics Expert avere a disposizione più alternative quando si parla di tecniche di acquisizione del dato.

Ci sono ad esempio situazioni nelle quali non si può procedere con una copia forense integrale dello smartphone, per questioni di tempo o di spazio, oppure il Sistema Operativo non permette un’acquisizione FFS (Full File System) o Physical tale da poter accedere al database whatsapp decifrato, o ancora non si vuole correre il rischio di un APK downgrade che potrebbe non sempre funzionare a dovere o magari non si ha tempo/banda sufficiente per fare sincronizzazione con cloud Google Drive o iCloud per caricare online il backup per poi scaricarlo da remoto e richiedere a Whatsapp l’SMS o token di autenticazione.

Ancora più appetibili in informatica forense sono le soluzioni gratis ed open source, così come quelle che richiedono pochi e semplici passaggi, utilizzando al più qualche riga di codice. Un’interessante ricerca portata avanti dal team Forenser ha analizzato attentamente un metodo che pochi tra i principali strumenti di acquisizione dell’informatica forense commerciali impiegano, riuscendo a identificare e testare un metodo per produrre un’acquisizione forense dei dati utente di WhatsApp che si può potenzialmente eseguire anche da remoto, in forma cifrata e con la successiva decrittazione in un processo rapido, ripetibile e gratuito.

Questa guida vi condurrà attraverso gli aspetti teorici e di comparazione con altri metodi simili utilizzati sul mercato, mostrandovi i vantaggi e gli svantaggi di quello che verrà descritto indicando la strumentazione necessaria, lo svolgimento di dettaglio e infine fornendovi il codice per decifrare le chat Whatsapp acquisite.

Il metodo di acquisizione forense delle chat, gruppi o canali Whatsapp tramite backup cifrato si differenzia da quello utilizzato in diverse soluzioni a oggi esistenti (es. Oxygen, etc…) sul mercato e in ambito open source perché non si basa sull’esportazione di un backup su iCloud o Google e sincronizzazione (anche simulata) del dispositivo, procedimento che in genere funziona ma richiede poi l’accesso alla chiave con la quale Whatsapp ha cifrato il database, mediante invio dell’SMS di conferma da parte di Meta/Whatsapp.

Il vantaggio più evidente è che, utilizzando il metodo illustrato presenta diversi vantaggi:

  • il reperimento della chiave di cifratura Whatsapp è immediato;
  • non occorre produrre alcuna acquisizione integrale (FFS, Physical, Advanced Logical) del dispositivo perché si può sempre accedere al backup locale;
  • non occorre coinvolgere Meta/WhatsApp per richiedere il processo di autenticazione tramite SMS o token per ricevere la KEY;
  • non si rischia di causare la disattivazione temporanea dell’account legato alla generazione della chiave di decifratura del database;
  • non è necessario utilizzare il cloud come vettore per l’archiviazione e il successivo download del backup Whatsapp;
  • il dispositivo rimane offline e non c’è necessità che venga messo online;
  • non si rischia di perdere i dati dell’App dispositivo dovuti ad APK downgrade non andati a buon fine.

La metodologia informatica forense testata e consolidata dal team Forenser si basa sul fatto che utilizzando un dispositivo Android è possibile creare un backup crittografato end-to-end in locale mediante l’utilizzo di una chiave a 64 cifre, funzionalità che WhatsApp ha introdotto in un periodo relativamente recente. In questo modo è possibile ottenere una copia cifrata dei dati dell’applicazione, convenientemente trasferibile su un PC, per poterne quindi decifrare il database delle chat dallo stesso, senza i rischi che portano con sé altri metodi, come il più diffuso ma invasivo APK downgrade.

Per quanto l’esportazione cifrata del database senza acquisizione forense integrale del device non rappresenti una “copia forense” come la s’intende tradizionalmente, il metodo qui illustrato può comunque avere una valenza scientifica e probatoria integrandolo con elementi che tutelino e preservazione la catena di custodia dei reperti e dei dati, ad esempio verbalizzando le attività in dettaglio e i codici hash risultanti, riprendendo le attività svolte (con video ambientali e registrazione schermo), acquisendo i log ove disponibili, applicando marca temporale, timestamp per data certa o firma digitale per l’integrità del contenuto e la conferma circa l’autore, infine procedendo – eventualmente – a copia forense logica o estrazione di backup ADB dello smartphone, operazioni a seguito delle quali il database Whatsapp normalmente non sarebbe incluso ma invece in questo caso lo sarà dopo aver esportato in locale, in area accessibile, i dati cifrati del database Whatsapp.

Gli strumenti impiegati per decifrare il database delle chat sono:

  • il codice open source “WhatsApp Crypt Tools”, scaricabile al link https://github.com/ElDavoo/wa-crypt-tools
  • un semplice script, denominato “HexToCrypt15Key”, sviluppato ad hoc dallo studio Forenser.

Ciò è stato necessario in quanto il codice “WhatsApp Crypt Tools”, necessita di due file distinti per eseguire la decrittazione del database: il database cifrato end-to-end e la relativa chiave, nella forma di Java object.

Lo studio d’informatica forense Forenser ha sviluppato lo script “HexToCrypt15Key” con il preciso scopo di convertire la chiave a 64 cifre (salvata come file di testo) in un file binario e serializzarla in un Java object, in modo tale da renderla disponibile al codice “WhatsApp Crypt Tools” per la decrittazione del database cifrato.

In seguito alla decrittazione, il backup potrà essere importato, insieme alla cartella dei media, tramite strumenti che ne parsificano il contenuto oppure ispezionato come database Sqlite.

Si noti che il metodo che a breve verrà illustrato potrebbe comportare l’attivazione della funzione vacuum di Sqlite. Pertanto, se lo scopo delle attività di copia dei dati di WhatsApp riguarda il tentativo di recupero di messaggi eliminati, si raccomanda l’utilizzo di altre tecniche di acquisizione poiché il vacuum può ridurre la possibilità di recuperare chat cancellate ma ancora recuperabili perché presenti nel database. La procedura è stata testata e risulta funzionante anche per la versione di WhatsApp Business, su Android.


Procedura di acquisizione

Strumentazione impiegata

La strumentazione impiegata per eseguire la copia forense delle chat Whatsapp è la seguente:

Svolgimento

Per acquisire in maniera forense le chat Whatsapp tramite backup cifrato end-to-end, si può procedere come segue.

1. Dal dispositivo Android si avvia WhatsApp e si accede al menù delle impostazioni. Aperta la sezione “Chat”, si seleziona “Backup delle chat”, quindi “Backup crittografato end-to-end”. Confermare di voler procedere alla cifratura premendo il bottone “Attiva”.

Impostazioni > Chat > Backup delle chat > Backup crittografato end-to-end

Proteggi il tuo backup con la crittografia end-to-end - WhatsApp Android
Schermata di conferma di attivazione del backup end-to-end

2. Nella schermata successiva verrà proposto il metodo di generazione della chiave. Selezionare la voce “Usa invece una chiave di crittografia a 64 cifre”, quindi fare un tap sul box “Genera la tua chiave a 64 cifre”:

Backup crittografato end-to-end - WhatsApp Android
Backup crittografato end-to-end - Genera chiave di crittografia - WhatsApp Android

3. Successivamente sullo schermo apparirà la chiave:

Backup crittografato end-to-end - WhatsApp Esempio

Quindi, annotarla sul “blocco note” (o su un qualunque altro editor di testo) prima di procedere oltre.

Backup crittografato end-to-end - chiave di crittografia - WhatsApp Android Esempio

4. Dopo aver dato conferma di aver salvato la chiave a 64 cifre, la schermata successiva proporrà la creazione di un backup. È necessario selezionare “Crea” per procedere con l’operazione:

Crea backup crittografato end-to-end - WhatsApp Android

5. Al termine della creazione del backup, collegare lo smartphone al PC per effettuare una copia dell’intera cartella “WhatsApp presente in “Android/media/com.whatsapp” sul PC. La durata dell’operazione è solitamente breve, a meno che la cartella dei file multimediali non sia particolarmente grande.

Cartella backup crittografato - WhatsApp Android

6. All’interno del percorso “WhatsApp/Databases” sarà presente il backup generato al punto 4 e nominato “msgstore.db.crypt15” (database cifrato con modalità “crypt15”). A questo punto, prima di sfruttare lo script “WhatsApp Crypt Tools” per decrittare il database, occorre trasformare la chiave annotata sul blocco note in un file binario e serializzarla in un Java Object. Allo scopo utilizziamo lo script “HexToCrypt15Key” sviluppato dal team Forenser per ottenere la chiave di decifratura, partendo dalla stringa salvata precedentemente.

codice open source Forenser backup crittografato - WhatsApp Android
Testo dello script “HexToCrypt15Key”, scaricabile dal repository GitHub dello studio tramite il link https://github.com/Forenser-lab/HexToCrypt15Key.

L’esecuzione dello script genera il file “key” contenente la chiave di decifratura, che viene posizionata nello stesso percorso in cui si trova lo script.

7. A questo punto, è possibile eseguire lo script “WhatsApp Crypt Tools” utilizzando la chiave KEY di decifratura chat Whatsapp generata al punto precedente:

wadecrypt "[key_path]/key" "[enc_db_path]/msgstore.db.crypt15" "[decr_db_path]/msgstore.db"

Dove:

  1. “[key_path]/key” è il percorso del file “key”, precedentemente generato dallo script “HexToCrypt15Key“;
  2. “[enc_db_path]/msgstore.db.crypt15” è il percorso del database cifrato;
  3. “[decr_db_path]/msgstore.db” è il percorso di destinazione, per il database decifrato

Il risultato ottenuto è “msgstore.db” ovvero il backup decifrato, i cui campi sono perfettamente fruibili:

È dunque possibile importare il backup decifrato, insieme alla cartella contenente i media, all’interno di uno strumento specializzato nel parsing e nelle analisi.

Considerazioni finali:

La soluzione illustrata si pone come un metodo alternativo di acquisizione di backup dei dati di WhatsApp per Android, efficace e poco invasivo, nonché tecnicamente esente dal rischio della perdita dei dati. Tenendo a mente che per il recupero dei messaggi eliminati resta più opportuno ricorrere ad altre metodologie e strumenti specializzati, è possibile affermare che questa tecnica è da preferire all’applicazione del metodo di acquisizione APK Downgrade. Tale metodo, seppur abbastanza diffuso nella Mobile Forensics, comporta il rischio (anche se minimo) di perdita irrimediabile dei dati dell’applicazione WhatsApp.

È doveroso specificare che questo metodo fornisce minore “forensicità” o “forensically soundness” rispetto a una copia forense integrale del dispositivo informatico, ottimale per la stesura di una perizia informatica basata su evidenze digitali autoconsistenti. Considerato però che la cristallizzazione delle chat Whatsapp e dei relativi allegati multimediali (messaggi vocali, audio, video, foto, etc…) avviene in modalità controllata, ripetibile e documentata, riteniamo possa comunque essere strategica nelle attività preliminari oppure quando non vi è la possibilità di procedere con un’attività completa per mancanza di tempo o questioni logistiche.

Questo metodo permette di acquisire in maniera quasi forense una chat ma è comunque consigliabile, in caso di processi civili e penali, rivolgersi a un consulente informatico forense o uno studio che esegue perizie informatiche, al fine di produrre un’acquisizione forense integrale o comunque documentata da una perizia informatica che ne attesti la metodologia e i risultati ottenuti.

Nella prossima guida pubblicheremo le istruzioni su come procedere con l’acquisizione forense di Whatsapp da remoto, partendo dalle nozioni qui apprese e aggiungendo l’utilizzo del cloud Google Drive come canale per inviare e ricevere da remoto il database cifrato e i contenuti multimediali, oppure integrando il processo con il trasferimento dei dati cifrati tramite cloud alternativi, così da poter operare anche quando non si ha a disposizione fisicamente lo smartphone di cui è necessario operare cristallizzazione delle chat o dei gruppi/canali Whatsapp.


Per informazioni o preventivi contattate lo Studio Forenser Srl tramite la Pagina Contatti o compilando il modulo seguente.

    Nome o Ragione Sociale *

    Email *

    Telefono

    Messaggio *

    Ho letto l'informativa sul trattamento dati *
    Do il mio consenso al trattamento dati *