Come funziona l'acquisizione forense WhatsApp con C.E.R.T.O.

Come C.E.R.T.O. Desktop 3.1 acquisisce chat WhatsApp con valore legale: estrazione DOM+IndexedDB, decifrazione media AES-256, video sessione, hash forensi.

Perché uno screenshot di WhatsApp non ha valore probatorio

Uno screenshot di una conversazione WhatsApp è trivialmente falsificabile. Chiunque può modificare il contenuto di una pagina web tramite l'Inspector del browser (Modifica HTML, Inspect Element), alterando nomi, messaggi, orari e stati di consegna. Il risultato è visivamente identico a una conversazione autentica.

Uno screenshot non prova che il messaggio sia mai esistito sul server WhatsApp, non contiene metadati verificabili, non documenta la catena di custodia e non garantisce che il contenuto visualizzato corrisponda a dati reali.

L'acquisizione forense con C.E.R.T.O. funziona in modo radicalmente diverso: scarica i dati direttamente da WhatsApp Web tramite Chrome DevTools Protocol e DOM, estrae i messaggi da IndexedDB, decifra i media con HKDF-SHA256 e AES-256-CBC, e registra l'intera sessione in video. Ogni file viene sottoposto a hash forense quadruplo (MD5, SHA-1, SHA-256, SHA-512) e marca temporale RFC 3161.

Come funziona l'acquisizione: i 3 passaggi operativi

L'acquisizione forense WhatsApp con C.E.R.T.O. Desktop 3.1 si svolge in tre passaggi all'interno dell'applicazione. L'operatore non deve installare nulla sul dispositivo del titolare dell'account: serve solo l'accesso a WhatsApp Web tramite scansione del codice QR.

Passaggio 1 — Connessione a WhatsApp Web

C.E.R.T.O. apre una sessione browser controllata e naviga su WhatsApp Web. L'operatore scansiona il codice QR con il dispositivo del titolare dell'account, esattamente come avviene nell'uso normale di WhatsApp Web.

Il software rileva automaticamente il completamento del login tramite polling ogni 2 secondi sullo stato della pagina. Al primo accesso vengono catturati i dati di sessione critici:

  • WAToken1 e WAToken2 — token di autenticazione della sessione
  • WABrowserId — identificativo univoco del browser
  • WASecretBundle — bundle crittografico della sessione
  • WID — WhatsApp ID dell'account (numero di telefono)
  • LID — Linked Device ID del dispositivo collegato

L'intercettazione CDP (Chrome DevTools Protocol) si attiva immediatamente dopo il login. La registrazione video inizia contestualmente, catturando frame a 1 FPS in formato JPEG.

C.E.R.T.O. - Interfaccia acquisizione WhatsApp con pulsante WhatsApp Web aperto e avviso tempistica

WhatsApp Web - Schermata di login con QR code da inquadrare con il telefono

Passaggio 2 — Selezione delle chat da acquisire

Una volta connesso, C.E.R.T.O. estrae la lista completa delle conversazioni dal DOM di WhatsApp Web tramite lo script SCRIPT_GET_CHAT_LIST. Per ogni chat vengono recuperati:

  • Nome del contatto o del gruppo
  • Anteprima dell'ultimo messaggio
  • Timestamp dell'ultima attività
  • Avatar del contatto
  • Contatore messaggi non letti

L'operatore seleziona le chat specifiche da acquisire. È disponibile un filtro di ricerca cross-chat per individuare rapidamente le conversazioni di interesse.

Per ogni chat selezionata, il software effettua una stima delle dimensioni: esegue uno scroll verso l'alto per contare i messaggi caricati nel mirror e analizza i pattern testuali delle dimensioni media (kB, MB, GB) per stimare il peso totale dei file allegati.

Passaggio 3 — Acquisizione, cifratura e sblocco

Fase di acquisizione (per ogni chat)

  1. Scroll UP — il software scorre verso l'alto la conversazione (fino a 2.000 tentativi) per caricare l'intera cronologia nel mirror DOM di WhatsApp Web
  2. Scroll DOWN — scorrimento verso il basso con estrazione progressiva del testo dal DOM
  3. Doppia estrazione DOM + IndexedDB — i messaggi vengono estratti sia dal DOM (testo visibile, stato consegna, timestamp) sia da IndexedDB (corpo completo, metadati, chiavi media). Le due fonti vengono unite per ID messaggio, garantendo ridondanza
  4. Download e decifrazione media — ogni file allegato viene scaricato dalla CDN di WhatsApp e decifrato localmente con AES-256-CBC (chiave derivata con HKDF-SHA256). La verifica dell'integrità avviene tramite confronto filehash SHA-256
  5. Generazione chat HTML — viene prodotto un file HTML autocontenuto con bolle stile WhatsApp, contenente testo, media inline e metadati
  6. Metadati chat — salvataggio di partecipanti, ruoli, timestamp primo/ultimo messaggio, conteggi per tipo

Fase post-acquisizione

  • Sincronizzazione NTP — verifica dell'ora di sistema tramite server NTP
  • Snapshot processi di sistema — fotografia dei processi attivi al momento dell'acquisizione
  • Report PDF e TXT — rapporto dettagliato con tutti i parametri dell'acquisizione
  • Manifest hash — ogni file viene sottoposto a quadruplo hash: MD5, SHA-1, SHA-256, SHA-512
  • Cifratura escrow AES-256-CBC — l'intero pacchetto viene cifrato con una chiave custodita dal server, impedendo qualsiasi alterazione tra acquisizione e registrazione
  • Marca temporale RFC 3161 — timestamp certificato sul pacchetto
  • Compressione ZIP — pacchetto finale pronto per lo sblocco

Flusso di sblocco

Il pacchetto cifrato viene sbloccato solo al momento della registrazione: il server fornisce la chiave di decifratura, il pacchetto viene decifrato, registrato e archiviato per 5 anni con piena integrità della catena di custodia.

Esempio reale: acquisizione di una chat WhatsApp

Account +39 3XX XXXXXXX
Chat "Nome Contatto" (chat 1:1)
Messaggi estratti 342
Media scaricati e decifrati 28 file (18 foto, 6 video, 3 documenti, 1 messaggio vocale)
Dimensione media 47,3 MB

I file generati dall'acquisizione

Al termine dell'acquisizione, C.E.R.T.O. genera un pacchetto strutturato contenente tutti i dati estratti, i registri hash e la documentazione della sessione. Ecco la struttura completa.

Rapporto e log

rapporto-acquisizione.pdf
rapporto-acquisizione.txt
rapporto-acquisizione.tsr
acquisizione-log.txt
freetsa-cacert.pem
tsr-verifica.txt

Dati sessione (json/)

json/auth-session-data.json — WAToken1, WAToken2, WABrowserId, WASecretBundle, WID, LID, EncKeySalt
json/cookies-whatsapp.json
json/local-storage.json
json/session-storage.json
json/contacts-map.json — mappatura LID → numero di telefono + nome, partecipanti gruppi con ruoli
json/whatsapp-session-info.json — platform, userAgent, language
json/ntp-info.json

Dati per chat (json/)

json/{N}-chat-metadata.json
json/{N}-messages.json — messaggi DOM + IndexedDB uniti per ID
json/{N}-decrypted-messages.json — corpi IndexedDB decifrati
json/{N}-network-log.json — richieste HTTP e CDN per chat

Media (media/)

media/CDN_*.jpg / .mp4 / .pdf / .ogg — file scaricati dalla CDN e decifrati
media/media-manifest.json
media/MEDIA_ERROR_log.json

Chat HTML (chats/chat_N/)

chats/chat_N/chat.html — HTML autocontenuto con bolle stile WhatsApp
chats/chat_N/messages.json
chats/chat_N/metadata.json

Video sessione (screenshot-recorded/)

screenshot-recorded/frame_NNNNN_Nms.jpg — frame JPEG a 1 FPS
screenshot-recorded/session-recording.webm — video compilato con FFmpeg
screenshot-recorded/recording-info.json

Registri hash (registri/)

registri/registro-immagini.txt
registri/registro-video.txt
registri/registro-documenti.txt
registri/registro-json.txt
registri/registro-screenshot.txt
Ogni registro contiene: MD5, SHA-1, SHA-256, SHA-512 per ogni file

Manifest

file-manifest.json
{id}-hashes.json

Cosa rende completa un'acquisizione WhatsApp

Ogni acquisizione forense WhatsApp con C.E.R.T.O. integra otto elementi tecnici che, insieme, garantiscono completezza, autenticità e non ripudiabilità dei dati estratti.

Elemento Dettaglio tecnico
Doppia estrazione DOM + IndexedDB I messaggi vengono estratti sia dal DOM visibile sia da IndexedDB e uniti per ID messaggio. La doppia fonte garantisce ridondanza: se un dato manca nel DOM (es. messaggi non renderizzati), viene recuperato da IndexedDB e viceversa.
Decifrazione media Ogni file media viene decifrato localmente: la mediaKey estratta da IndexedDB viene espansa con HKDF-SHA256, producendo IV (16 byte), CipherKey (32 byte), MacKey (32 byte) e RefKey (32 byte). Il contenuto viene decifrato con AES-256-CBC e l'integrità verificata con filehash SHA-256. Stringhe informative specifiche per tipo media (image, video, document, audio, sticker).
Registrazione video L'intera sessione viene registrata a 1 frame al secondo in formato JPEG. I singoli frame vengono conservati individualmente (frame_NNNNN_Nms.jpg) e compilati in un video WebM tramite FFmpeg. Il video documenta visivamente tutto ciò che l'operatore ha visualizzato, dalla scansione del QR al completamento.
Intercettazione rete CDP Tutte le richieste HTTP, i frame WebSocket e le risposte CDN vengono intercettate e registrate tramite Chrome DevTools Protocol. Il log di rete documenta ogni singola comunicazione tra il browser e i server WhatsApp durante l'acquisizione.
Cattura dati sessione Vengono acquisiti token di autenticazione (WAToken1/2), chiavi crittografiche (WASecretBundle, EncKeySalt), identificativi (WID, LID, WABrowserId), cookie, localStorage, sessionStorage e la mappa completa dei contatti con numeri di telefono e ruoli nei gruppi.
Cifratura escrow Il pacchetto finale viene cifrato con AES-256-CBC utilizzando una chiave custodita esclusivamente dal server. Questo impedisce qualsiasi alterazione dei dati tra il momento dell'acquisizione e la registrazione formale.
Registri hash per tipologia I file vengono suddivisi per tipologia (immagini, video, documenti, JSON, screenshot) e per ciascuno viene generato un registro separato contenente quattro hash: MD5, SHA-1, SHA-256, SHA-512. La separazione per tipo facilita la verifica selettiva.
Verifica magic byte Dopo la decifrazione, il tipo di file viene confermato analizzando i magic byte iniziali: JPEG (FF D8 FF), PNG (89 50 4E 47), PDF (%PDF), MP4 (ftyp), OGG (OggS) e altri. Questo garantisce che la decifrazione sia avvenuta correttamente e che il file non sia corrotto.

Domande frequenti

Come vengono decifrati i media di WhatsApp?

Ogni file media su WhatsApp è cifrato end-to-end con una chiave unica. C.E.R.T.O. estrae la mediaKey da IndexedDB e la espande tramite HKDF-SHA256 in 112 byte, suddivisi in:

  • IV (16 byte) — vettore di inizializzazione
  • CipherKey (32 byte) — chiave di cifratura
  • MacKey (32 byte) — chiave di autenticazione
  • RefKey (32 byte) — chiave di riferimento

Il file viene decifrato con AES-256-CBC usando CipherKey e IV. L'integrità viene verificata confrontando il filehash SHA-256 del file decifrato con quello atteso. Il processo utilizza stringhe informative specifiche per tipo media (image, video, document, audio, sticker, ecc.).

L'acquisizione modifica lo stato dei messaggi?

No. L'acquisizione opera in modalità di sola lettura. Nessun messaggio viene inviato o modificato, e lo stato di consegna (spunte) non viene alterato. La sessione funziona in modo identico al normale utilizzo di WhatsApp Web: il software si limita a leggere e registrare i dati già presenti, senza interagire con la conversazione.

Cos'è la cifratura escrow e perché viene utilizzata?

Al termine dell'acquisizione, l'intero pacchetto (ZIP contenente TAR) viene cifrato con AES-256-CBC utilizzando una chiave custodita esclusivamente dal server di AcquisizioniForensi.it. La chiave viene rilasciata solo al momento dello sblocco. Questo meccanismo garantisce che i dati acquisiti non possano essere alterati, sostituiti o manomessi nel periodo che intercorre tra l'acquisizione e la registrazione formale.

Cosa documenta il video recording della sessione?

Il video documenta l'intera sessione di acquisizione, dalla scansione del codice QR al completamento. Viene catturato 1 frame al secondo in formato JPEG, e i frame vengono poi compilati in un video WebM. Il video prova visivamente ciò che l'operatore ha visto durante l'acquisizione. La sequenza dei singoli frame viene conservata individualmente oltre al video compilato, permettendo la verifica puntuale di qualsiasi momento della sessione.

Acquisisci le tue chat WhatsApp con valore legale

Scarica C.E.R.T.O. Desktop 3.1 e ottieni acquisizioni forensi complete, con doppia estrazione, media decifrati, video sessione e marca temporale certificata.

Registrati gratis Vedi i prezzi
Ultima revisione

il 07/04/2026 alle 18:52:06

Argomenti

acquisizione forense, whatsapp, certo desktop, guida tecnica, whatsapp web, estrazione messaggi