
Vous souhaitez savoir quels types d'artefacts judiciaires de WhatsApp existent dans diffĂ©rents systĂšmes d'exploitation et oĂč ils peuvent ĂȘtre trouvĂ©s ? Alors, ce site est fait pour vous. Cet article est prĂ©sentĂ© par un spĂ©cialiste du Laboratoire d'informatique judiciaire de Group-IB. Igor Mikhailov ouvre une sĂ©rie de publications sur l'enquĂȘte judiciaire de WhatsApp et sur les informations qui peuvent ĂȘtre obtenues lors de l'analyse d'un appareil.
Il convient de noter que diffĂ©rents types d'artefacts WhatsApp sont stockĂ©s dans diffĂ©rents systĂšmes d'exploitation, et si un chercheur peut extraire certains types de donnĂ©es WhatsApp d'un appareil, cela ne signifie pas nĂ©cessairement que des types similaires de donnĂ©es peuvent ĂȘtre extraits d'un autre appareil. Par exemple, si un bloc systĂšme sous Windows est saisi, il se peut que les discussions WhatsApp ne soient pas trouvĂ©es sur ses disques (Ă l'exception des sauvegardes d'appareils iOS qui peuvent ĂȘtre dĂ©couvertes sur ces mĂȘmes supports). Lors de la saisie de laptops et d'appareils mobiles, il y aura des particularitĂ©s. Examinons cela plus en dĂ©tail.
Artefacts WhatsApp sur un appareil Android
Pour extraire les artefacts WhatsApp d'un appareil fonctionnant sous Android, le chercheur doit avoir des droits d'administrateur (ârootâ) sur l'appareil examinĂ© ou ĂȘtre en mesure d'extraire d'une autre maniĂšre un dump physique de la mĂ©moire de l'appareil, ou son systĂšme de fichiers (par exemple, en utilisant des vulnĂ©rabilitĂ©s logicielles spĂ©cifiques Ă un appareil mobile).
Les fichiers de l'application sont situĂ©s dans la mĂ©moire du tĂ©lĂ©phone dans la partition oĂč sont stockĂ©es les donnĂ©es de l'utilisateur. En gĂ©nĂ©ral, cette partition est appelĂ©e âuserdataâ. Les sous-rĂ©pertoires et fichiers du programme se trouvent au chemin : â/data/data/com.whatsapp/â.

Les principaux fichiers contenant des artefacts judiciaires de WhatsApp sur Android sont les bases de donnĂ©es âwa.dbâ et âmsgstore.dbâ.
La base de donnĂ©es âwa.dbâ contient la liste complĂšte des contacts de l'utilisateur WhatsApp, y compris le numĂ©ro de tĂ©lĂ©phone, le nom affichĂ©, les horodatages et toute autre information fournie lors de l'inscription Ă WhatsApp. Le fichier âwa.dbâ se trouve au chemin : â/data/data/com.whatsapp/databases/â et a la structure suivante :

Les tables les plus intĂ©ressantes de la base de donnĂ©es âwa.dbâ pour le chercheur sont :
- âwa_contactsâ
Ce tableau contient des informations sur les contacts : l'identifiant du contact dans WhatsApp, les informations de statut, le nom d'affichage de l'utilisateur, les horodatages, etc.Apparence du tableau :

Structure du tableauNom du champ Valeur _id numéro d'ordre de l'enregistrement (dans la table SQL) jid ID WhatsApp du contact, enregistré au format @s.whatsapp.net is_whatsapp_user contient '1' si le contact correspond à un utilisateur WhatsApp réel, '0' sinon statut contient le texte affiché dans le statut du contact status_timestamp contient un horodatage au format Unix Epoch Time (ms) number numéro de téléphone associé au contact raw_contact_id numéro d'ordre du contact display_name nom d'affichage du contact phone_type type de téléphone phone_label étiquette associée au numéro de contact unseen_msg_count nombre de messages envoyés par le contact mais non lus par le destinataire photo_ts contient un horodatage au format Unix Epoch Time thumb_ts contient un horodatage au format Unix Epoch Time photo_id_timestamp contient un horodatage au format Unix Epoch Time (ms) given_name la valeur du champ correspond à 'display_name' pour chaque contact wa_name nom du contact dans WhatsApp (nom affiché dans le profil du contact) sort_name nom du contact utilisé dans les opérations de tri nickname surnom du contact dans WhatsApp (surnom affiché dans le profil du contact) company entreprise (entreprise affichée dans le profil du contact) title salutation (madame/monsieur ; salutation affichée dans le profil du contact) offset offset - 'sqlite_sequence'
Ce tableau contient des informations sur le nombre de contacts ; - 'android_metadata'
Ce tableau contient des informations sur la localisation linguistique de WhatsApp.
La base de donnĂ©es âmsgstore.dbâ contient des informations sur les messages envoyĂ©s, telles que le numĂ©ro de contact, le texte du message, le statut du message, les horodatages, les dĂ©tails des fichiers envoyĂ©s inclus dans les messages, etc. Fichier âmsgstore.dbâ se trouve au chemin : â/data/data/com.whatsapp/databases/â et a la structure suivante :

Les tableaux les plus intĂ©ressants dans le fichier âmsgstore.dbâ pour le chercheur sont :
- 'sqlite_sequence'
Ce tableau contient des informations générales sur cette base de données, telles que le nombre total de messages stockés, le nombre total de chats, etc.Apparence du tableau :

- 'message_fts_content'
Contient le texte des messages envoyés.Apparence du tableau :

- 'messages'
Ce tableau contient des informations telles que le numéro de contact, le texte du message, le statut du message, les horodatages, les détails des fichiers envoyés inclus dans les messages.Apparence du tableau :

Structure du tableauNom du champ Valeur _id numĂ©ro d'ordre de l'enregistrement (dans la table SQL) key_remote_jid ID WhatsApp de la personne en communication key_from_me direction du message : '0' â entrant, '1' â sortant key_id identifiant unique du message statut statut du message : '0' â livrĂ©, '4' â en attente, le serveur'5' â reçu Ă destination, '6' â message de contrĂŽle, '13' â message ouvert par le destinataire (lu) need_push a une valeur '2' si c'est un message de diffusion, sinon contient '0' data texte du message (lorsque le paramĂštre 'media_wa_type' est Ă©gal Ă '0') timestamp contient un horodatage au format Unix Epoch Time (ms), la valeur est prise Ă partir de l'horloge de l'appareil media_url contient l'URL du fichier transmis (lorsque le paramĂštre 'media_wa_type' est Ă©gal Ă '1', '2', '3') media_mime_type type MIME du fichier transmis (lorsque le paramĂštre 'media_wa_type' est Ă©gal Ă '1', '2', '3') media_wa_type type de message : '0' â texte, '1' â fichier graphique, '2'- fichier audio, '3' â fichier vidĂ©o, '4' â carte de contact, '5' â donnĂ©es gĂ©ographiques media_size taille du fichier transmis (lorsque le paramĂštre 'media_wa_type' est Ă©gal Ă '1', '2', '3') media_name nom du fichier transmis (lorsque le paramĂštre 'media_wa_type' est Ă©gal Ă '1', '2', '3') media_caption contient les mots 'audio', 'video' pour les valeurs correspondantes du paramĂštre 'media_wa_type' (lorsque le paramĂštre 'media_wa_type' est Ă©gal Ă '1', '3') media_hash hachage du fichier transmis codĂ© en base64, calculĂ© par l'algorithme HAS-256 (lorsque le paramĂštre 'media_wa_type' est Ă©gal Ă '1', '2', '3') media_duration durĂ©e en secondes du fichier multimĂ©dia (lorsque le paramĂštre 'media_wa_type' est Ă©gal Ă '1', '2', '3') origin. a une valeur '2' si c'est un message de diffusion, sinon contient '0' latitude donnĂ©es gĂ©ographiques : latitude (lorsque le paramĂštre 'media_wa_type' est Ă©gal Ă '5') longitude donnĂ©es gĂ©ographiques : longitude (lorsque le paramĂštre 'media_wa_type' est Ă©gal Ă '5') thumb_image informations de service remote_recource ID de l'expĂ©diteur (uniquement pour les chats de groupe) received_timestamp heure de rĂ©ception, contient un horodatage au format Unix Epoch Time (ms), la valeur est prise Ă partir de l'horloge de l'appareil (lorsque le paramĂštre 'key_from_me' a '0', '-1' ou une autre valeur) send_timestamp non utilisĂ©, a gĂ©nĂ©ralement la valeur '-1' receipt_server_timestamp heure de rĂ©ception par le serveur central, contient un horodatage au format Unix Epoch Time (ms), la valeur est prise Ă partir de l'horloge de l'appareil (lorsque le paramĂštre 'key_from_me' a '1', '-1' ou une autre valeur) serveurreceipt_device_timestamp heure de rĂ©ception du message par un autre abonnĂ©, contient un horodatage au format Unix Epoch Time (ms), la valeur est prise Ă partir de l'horloge de l'appareil (lorsque le paramĂštre 'key_from_me' a '1', '-1' ou une autre valeur) read_device_timestamp read_device_timestamp le temps d'ouverture (de lecture) du message, contient un horodatage au format Unix Epoch Time (ms), la valeur est prise Ă partir de l'horloge de l'appareil played_device_timestamp le temps de lecture du message, contient un horodatage au format Unix Epoch Time (ms), la valeur est prise Ă partir de l'horloge de l'appareil raw_data miniature du fichier transmis (lorsque le paramĂštre âmedia_wa_typeâ est Ă©gal Ă â1â ou â3â) recipient_count nombre de destinataires (pour les messages de diffusion) participant_hash utilisĂ© lors de l'envoi de messages avec des donnĂ©es de localisation starred non utilisĂ© quoted_row_id inconnu, contient gĂ©nĂ©ralement la valeur â0â mentioned_jids non utilisĂ© multicast_id non utilisĂ© offset offset Cette liste de champs n'est pas exhaustive. Pour diffĂ©rentes versions de WhatsApp, certains champs peuvent ĂȘtre prĂ©sents ou absents. D'autres champs peuvent Ă©galement ĂȘtre prĂ©sents âmedia_enc_hashâ, âedit_versionâ, âpayment_transaction_idâ etc.
- âmessages_thumbnailsâ
Cette table contient des informations sur les images transmises et les horodatages. Dans la colonne âtimestampâ, le temps est indiquĂ© au format Unix Epoch Time (ms). - âchat_listâ
Cette table contient des informations sur les discussions.Apparence du tableau :

Lors de l'examen de WhatsApp sur un appareil mobile sous Android, il faut Ă©galement prĂȘter attention aux fichiers suivants :
- Le fichier âmsgstore.db.cryptXXâ (oĂč XX est un ou deux chiffres de 0 Ă 12, par exemple, msgstore.db.crypt12). Contient une sauvegarde chiffrĂ©e des messages WhatsApp (sauvegarde du fichier msgstore.db). Le fichier (ou les fichiers) âmsgstore.db.cryptXXâ se trouve au chemin : â/data/media/0/WhatsApp/Databases/â (carte SD virtuelle), â/mnt/sdcard/WhatsApp/Databases/â (carte SD physique).
- Le fichier âkeyâ. Contient la clĂ© cryptographique. Disponible Ă l'emplacement : â/data/data/com.whatsapp/files/â. UtilisĂ© pour dĂ©chiffrer les sauvegardes chiffrĂ©es de WhatsApp.
- Le fichier âcom.whatsapp_preferences.xmlâ. Contient des informations sur le profil du compte WhatsApp. Le fichier est situĂ© Ă l'emplacement : â/data/data/com.whatsapp/shared_prefs/â.
Extrait du contenu du fichier
⊠9123456789 (numĂ©ro de tĂ©lĂ©phone associĂ© au compte WhatsApp) ⊠2.17.395 (version de WhatsApp) ⊠Hey there! I am using WhatsApp. (message affichĂ© dans le statut du compte) ⊠Alex (nom du propriĂ©taire du compte) ⊠- Le fichier âregistration.RegisterPhone.xmlâ. Contient des informations sur le numĂ©ro de tĂ©lĂ©phone associĂ© au compte WhatsApp. Le fichier est situĂ© Ă l'emplacement : â/data/data/com.whatsapp/shared_prefs/â.
Contenu du fichier
- Le fichier âaxolotl.dbâ. Contient des clĂ©s cryptographiques et d'autres donnĂ©es nĂ©cessaires Ă l'identification du propriĂ©taire du compte. Se trouve Ă l'emplacement : â/data/data/com.whatsapp/databases/â.
- Le fichier âchatsettings.dbâ. Contient des informations sur la configuration de l'application.
- Le fichier âwa.dbâ. Contient des dĂ©tails sur les contacts. Une base de donnĂ©es trĂšs intĂ©ressante (d'un point de vue judiciaire) et informative. Elle peut contenir des informations dĂ©taillĂ©es sur les contacts supprimĂ©s.
Il faut Ă©galement prĂȘter attention aux rĂ©pertoires suivants :
- Le rĂ©pertoire â/data/media/0/WhatsApp/Media/WhatsApp Images/â. Contient des fichiers graphiques transmis.
- Le rĂ©pertoire â/data/media/0/WhatsApp/Media/WhatsApp Voice Notes/â. Contient des messages vocaux dans des fichiers au format .OPUS.
- Le rĂ©pertoire â/data/data/com.whatsapp/cache/Profile Pictures/â. Contient des fichiers graphiques â images des contacts.
- Le rĂ©pertoire â/data/data/com.whatsapp/files/Avatars/â. Contient des fichiers graphiques â miniatures de l'image des contacts. Ces fichiers ont l'extension â.jâ, mais restent des fichiers graphiques au format JPEG (JPG).
- Le rĂ©pertoire â/data/data/com.whatsapp/files/Avatars/â. Contient des fichiers graphiques â image et miniature de l'image dĂ©finie comme avatar par le propriĂ©taire du compte.
- Le rĂ©pertoire â/data/data/com.whatsapp/files/Logs/â. Contient le journal d'activitĂ© du programme (fichier âwhatsapp.logâ) et des sauvegardes des journaux d'activitĂ© (fichiers nommĂ©s au format whatsapp-aaaa-mm-jj.1.log.gz).
Fichiers journaux de WhatsApp :

Fragment du journal2017-01-10 09:37:09.757 LL_I D [524:WhatsApp Worker #1] notification d'appel manqué/init count:0 timestamp:0
2017-01-10 09:37:09.758 LL_I D [524:WhatsApp Worker #1] notification d'appel manqué/mise à jour annuler vrai
2017-01-10 09:37:09.768 LL_I D [1:main] app-init/charger-moi
2017-01-10 09:37:09.772 LL_I D [1:main] fichier de mot de passe manquant ou illisible
2017-01-10 09:37:09.782 LL_I D [1:main] statistiques Messages Textuels : 59 envoyés, 82 reçus / Messages Média : 1 envoyé (0 octets), 0 reçu (9850158 octets) / Messages Hors ligne : 81 reçus (19522 msec de délai moyen) / Service de message : 116075 octets envoyés, 211729 octets reçus / Appels Voip : 1 appel sortant, 0 appel entrant, 2492 octets envoyés, 1530 octets reçus / Google Drive : 0 octets envoyés, 0 octets reçus / Roaming : 1524 octets envoyés, 1826 octets reçus / Données Totales : 118567 octets envoyés, 10063417 octets reçus
2017-01-10 09:37:09.785 LL_I D [1:main] media-state-manager/rafraßchir-l'état-des-médias/écriture-media
2017-01-10 09:37:09.806 LL_I D [1:main] app-init/initialiser/ minuterie/arrĂȘter : 24
2017-01-10 09:37:09.811 LL_I D [1:main] msgstore/vérifierla santé
2017-01-10 09:37:09.817 LL_I D [1:main] msgstore/checkhealth/journal/delete false
2017-01-10 09:37:09.818 LL_I D [1:main] msgstore/checkhealth/back/delete false
2017-01-10 09:37:09.818 LL_I D [1:main] msgstore/checkdb/data/data/com.whatsapp/databases/msgstore.db
2017-01-10 09:37:09.819 LL_I D [1:main] msgstore/checkdb/list _jobqueue-WhatsAppJobManager 16384 drw=011
2017-01-10 09:37:09.820 LL_I D [1:main] msgstore/checkdb/list _jobqueue-WhatsAppJobManager-journal 21032 drw=011
2017-01-10 09:37:09.820 LL_I D [1:main] msgstore/checkdb/list axolotl.db 184320 drw=011
2017-01-10 09:37:09.821 LL_I D [1:main] msgstore/checkdb/list axolotl.db-wal 436752 drw=011
2017-01-10 09:37:09.821 LL_I D [1:main] msgstore/checkdb/list axolotl.db-shm 32768 drw=011
2017-01-10 09:37:09.822 LL_I D [1:main] msgstore/checkdb/list msgstore.db 540672 drw=011
2017-01-10 09:37:09.823 LL_I D [1:main] msgstore/checkdb/list msgstore.db-wal 0 drw=011
2017-01-10 09:37:09.823 LL_I D [1:main] msgstore/checkdb/list msgstore.db-shm 32768 drw=011
2017-01-10 09:37:09.824 LL_I D [1:main] msgstore/checkdb/list wa.db 69632 drw=011
2017-01-10 09:37:09.825 LL_I D [1:main] msgstore/checkdb/list wa.db-wal 428512 drw=011
2017-01-10 09:37:09.825 LL_I D [1:main] msgstore/checkdb/list wa.db-shm 32768 drw=011
2017-01-10 09:37:09.826 LL_I D [1:main] msgstore/checkdb/list chatsettings.db 4096 drw=011
2017-01-10 09:37:09.826 LL_I D [1:main] msgstore/checkdb/list chatsettings.db-wal 70072 drw=011
2017-01-10 09:37:09.827 LL_I D [1:main] msgstore/checkdb/list chatsettings.db-shm 32768 drw=011
2017-01-10 09:37:09.838 LL_I D [1:main] msgstore/checkdb/version 1
2017-01-10 09:37:09.839 LL_I D [1:main] msgstore/canquery
2017-01-10 09:37:09.846 LL_I D [1:main] msgstore/canquery/count 1
2017-01-10 09:37:09.847 LL_I D [1:main] msgstore/canquery/timer/stop: 8
2017-01-10 09:37:09.847 LL_I D [1:main] msgstore/canquery 517 | time spent:8
2017-01-10 09:37:09.848 LL_I D [529:WhatsApp Worker #3] media-state-manager/refresh-media-state/internal-storage available:1,345,622,016 total:5,687,922,688
- Le rĂ©pertoire â/data/media/0/WhatsApp/Media/WhatsApp Audio/â. Contient les fichiers audio reçus.
- Le rĂ©pertoire â/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/â. Contient les fichiers audio envoyĂ©s.
- Le rĂ©pertoire â/data/media/0/WhatsApp/Media/WhatsApp Images/â. Contient les fichiers graphiques reçus.
- Le rĂ©pertoire â/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/â. Contient les fichiers graphiques envoyĂ©s.
- Le rĂ©pertoire â/data/media/0/WhatsApp/Media/WhatsApp Video/â. Contient les fichiers vidĂ©o reçus.
- Le rĂ©pertoire â/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/â. Contient les fichiers vidĂ©o envoyĂ©s.
- Le rĂ©pertoire â/data/media/0/WhatsApp/Media/WhatsApp Profile Photos/â. Contient les fichiers graphiques associĂ©s au propriĂ©taire du compte WhatsApp.
- Pour Ă©conomiser de l'espace sur les smartphones Android, certaines donnĂ©es WhatsApp peuvent ĂȘtre stockĂ©es sur une carte SD. Sur la carte SD, Ă la racine, se trouve le rĂ©pertoire âWhatsAppâ, oĂč les artefacts de ce programme peuvent ĂȘtre trouvĂ©s :

- Le rĂ©pertoire â.Shareâ (â/mnt/sdcard/WhatsApp/.Share/â). Contient des copies de fichiers qui ont Ă©tĂ© transfĂ©rĂ©s Ă d'autres utilisateurs WhatsApp.
- Le rĂ©pertoire â.trashâ (â/mnt/sdcard/WhatsApp/.trash/â). Contient des fichiers supprimĂ©s.
- Le rĂ©pertoire âDatabasesâ (â/mnt/sdcard/WhatsApp/Databases/â). Contient des sauvegardes chiffrĂ©es. Elles peuvent ĂȘtre dĂ©chiffrĂ©es avec un fichier âkeyâ, extrait de la mĂ©moire de l'appareil analysĂ©.
Fichiers situĂ©s dans le sous-rĂ©pertoire âDatabasesâ:

- Le rĂ©pertoire âMĂ©diaâ (â/mnt/sdcard/WhatsApp/MĂ©dia/â). Contient des sous-rĂ©pertoires âMur d'imagesâ, âAudio WhatsAppâ, âImages WhatsAppâ, âPhotos de profil WhatsAppâ, âVidĂ©o WhatsAppâ, âNotes vocales WhatsAppâ, dans lesquels se trouvent les fichiers multimĂ©dias reçus et envoyĂ©s (fichiers graphiques, fichiers vidĂ©o, messages vocaux, photos, associĂ©s au profil du propriĂ©taire du compte WhatsApp, fonds d'Ă©cran).
- Le rĂ©pertoire âPhotos de profilâ (â/mnt/sdcard/WhatsApp/Photos de profil/â). Contient des fichiers graphiques associĂ©s au profil du propriĂ©taire du compte WhatsApp.
- Parfois, une carte SD peut contenir un rĂ©pertoire âfichiersâ (â/mnt/sdcard/WhatsApp/Fichiers/â). Dans ce rĂ©pertoire se trouvent des fichiers qui contiennent les paramĂštres du programme et les prĂ©fĂ©rences de l'utilisateur.
Particularités du stockage des données sur certains modÚles de dispositifs mobiles
Sur certains modĂšles de dispositifs mobiles fonctionnant sous Android, il est possible que les artefacts WhatsApp soient stockĂ©s Ă un autre endroit. Cela est dĂ» au changement de l'espace de stockage des donnĂ©es des applications par le logiciel systĂšme du dispositif mobile. Par exemple, sur les dispositifs mobiles Xiaomi, il existe une fonctionnalitĂ© de crĂ©ation d'un deuxiĂšme espace de travail («SecondSpace»). Lors de l'activation de cette fonction, la localisation des donnĂ©es change. Ainsi, si sur un dispositif mobile classique sous Android, les donnĂ©es de l'utilisateur sont stockĂ©es dans le rĂ©pertoire â/data/user/0/â (ce qui est un lien vers le courant â/data/data/â), dans le deuxiĂšme espace de travail, les donnĂ©es des applications sont stockĂ©es dans le rĂ©pertoire â/data/user/10/â. C'est-Ă -dire, Ă titre d'exemple de localisation du fichier âwa.dbâ:
- dans un smartphone classique fonctionnant sous Android : /data/user/0/com.whatsapp/databases/wa.dbâ (ce qui Ă©quivaut Ă â/data/data/com.whatsapp/databases/wa.dbâ);
- dans le deuxiĂšme espace de travail d'un smartphone Xiaomi : â/data/user/10/com.whatsapp/databases/wa.dbâ.
Artefacts WhatsApp sur un dispositif iOS
Contrairement Ă Android, sur iOS, les donnĂ©es de l'application WhatsApp sont transmises Ă une sauvegarde (sauvegarde iTunes). Par consĂ©quent, l'extraction des donnĂ©es de cette application ne nĂ©cessite pas l'extraction du systĂšme de fichiers ou la crĂ©ation d'un vidage physique de la mĂ©moire du dispositif Ă©tudiĂ©. La plus grande partie des informations significatives se trouve dans la base de donnĂ©es âChatStorage.sqliteâ, qui se situe Ă l'emplacement : â/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/â (dans certains programmes, cet emplacement est affichĂ© comme âAppDomainGroup-group.net.whatsapp.WhatsApp.sharedâ).
Structure âChatStorage.sqliteâ:

Les tables les plus informatives dans la base de donnĂ©es âChatStorage.sqliteâ sont âZWAMESSAGEâ et âZWAMEDIAITEMâ.
Apparence de la table âZWAMESSAGEâ:

Structure de la table âZWAMESSAGEâ
| Nom du champ | Valeur |
|---|---|
| Z_PK | numéro d'ordre de l'enregistrement (dans la table SQL) |
| Z_ENT | identifiant de la table, a la valeur â9â |
| Z_OPT | inconnu, contient gĂ©nĂ©ralement des valeurs allant de â1â Ă â6â |
| ZCHILDMESSAGESDELIVEREDCOUNT | inconnu, contient gĂ©nĂ©ralement la valeur â0â |
| ZCHILDMESSAGESPLAYEDCOUNT | inconnu, contient gĂ©nĂ©ralement la valeur â0â |
| ZCHILDMESSAGESREADCOUNT | inconnu, contient gĂ©nĂ©ralement la valeur â0â |
| ZDATAITEMVERSION | inconnu, contient gĂ©nĂ©ralement la valeur â3â, est probablement un pointeur vers le message texte |
| ZDOCID | inconnu |
| ZENCRETRYCOUNT | inconnu, contient gĂ©nĂ©ralement la valeur â0â |
| ZFILTEREDRECIPIENTCOUNT | inconnu, contient gĂ©nĂ©ralement les valeurs â0â, â2â, â256â |
| ZISFROMME | direction du message : '0' â entrant, '1' â sortant |
| ZMESSAGEERRORSTATUS | statut de transmission du message. Si le message a Ă©tĂ© envoyĂ©/reçu, alors il a la valeur â0â |
| ZMESSAGETYPE | type du message transmis |
| ZSORT | inconnu |
| ZSPOTLIGHSTATUS | inconnu |
| ZSTARRED | inconnu, non utilisé |
| ZCHATSESSION | inconnu |
| ZGROUPMEMBER | inconnu, non utilisé |
| ZLASTSESSION | inconnu |
| ZMEDIAITEM | inconnu |
| ZMESSAGEINFO | inconnu |
| ZPARENTMESSAGE | inconnu, non utilisé |
| ZMESSAGEDATE | timestamp au format OS X Epoch Time |
| ZSENTDATE | heure d'envoi du message au format OS X Epoch Time |
| ZFROMJID | ID WhatsApp de l'expéditeur |
| ZMEDIASECTIONID | contient l'année et le mois d'envoi du fichier multimédia |
| ZPHASH | inconnu, non utilisé |
| ZPUSHPAME | nom du contact ayant envoyé le fichier multimédia au format UTF-8 |
| ZSTANZID | identifiant unique du message |
| ZTEXT | texte du message |
| ZTOJID | ID WhatsApp du destinataire |
| OFFSET | offset |
Apparence de la table âZWAMEDIAITEMâ:

Structure de la table âZWAMEDIAITEMâ
| Nom du champ | Valeur |
|---|---|
| Z_PK | numéro d'ordre de l'enregistrement (dans la table SQL) |
| Z_ENT | identifiant de la table, a la valeur â8â |
| Z_OPT | inconnu, contient gĂ©nĂ©ralement des valeurs allant de â1â Ă â3â. |
| ZCLOUDSTATUS | contient la valeur â4â si le fichier est chargĂ©. |
| ZFILESIZE | contient la taille du fichier (en octets) pour les fichiers chargés |
| ZMEDIAORIGIN | inconnu, contient gĂ©nĂ©ralement la valeur â0â |
| ZMOVIEDURATION | durée du fichier multimédia, pour les fichiers pdf peut contenir le nombre de pages du document |
| ZMESSAGE | contient le numĂ©ro de sĂ©quence (diffĂ©rent de celui indiquĂ© dans la colonne âZ_PKâ) |
| ZASPECTRATIO | ratio d'aspect, non utilisĂ©, contient gĂ©nĂ©ralement la valeur â0â |
| ZHACCURACY | inconnu, contient gĂ©nĂ©ralement la valeur â0â |
| ZLATTITUDE | largeur en pixels |
| ZLONGTITUDE | hauteur en pixels |
| ZMEDIAURLDATE | timestamp au format OS X Epoch Time |
| ZAUTHORNAME | auteur (pour les documents, peut contenir le nom de fichier) |
| ZCOLLECTIONNAME | non utilisé |
| ZMEDIALOCALPATH | nom du fichier (avec chemin) dans le systĂšme de fichiers de l'appareil |
| ZMEDIAURL | URL oĂč se trouvait le fichier multimĂ©dia. Si le fichier a Ă©tĂ© transmis d'un abonnĂ© Ă un autre, il a Ă©tĂ© chiffrĂ©, et son extension sera indiquĂ©e comme l'extension du fichier transfĂ©rĂ© â .enc |
| ZTHUMBNAILLOCALPATH | chemin vers la miniature du fichier dans le systĂšme de fichiers de l'appareil |
| ZTITLE | titre du fichier |
| ZVCARDNAME | hash du fichier multimédia, lors de l'envoi de fichier à un groupe peut contenir l'identifiant de l'expéditeur |
| ZVCARDSTRING | contient des informations sur le type de fichier transmis (par exemple, image/jpeg), lors de l'envoi de fichier Ă un groupe peut contenir l'identifiant du destinataire |
| ZXMPPTHUMBPATH | chemin vers la miniature du fichier dans le systĂšme de fichiers de l'appareil |
| ZMEDIAKEY | inconnu, probablement contient la clé pour déchiffrer le fichier chiffré. |
| ZMETADATA | métadonnées du message transmis |
| Décalage | offset |
D'autres tableaux de base de donnĂ©es intĂ©ressants âChatStorage.sqliteâ are:
- âZWAPROFILEPUSHNAMEâ. Relie l'ID WhatsApp au nom du contact ;
- âZWAPROFILEPICTUREITEMâ. Relie l'ID WhatsApp Ă l'image de profil du contact ;
- âZ_PRIMARYKEYâ. Le tableau contient des informations gĂ©nĂ©rales sur cette base de donnĂ©es, telles que le nombre total de messages stockĂ©s, le nombre total de chats, etc.
De plus, lors de l'examen de WhatsApp sur un appareil mobile fonctionnant sous iOS, il convient de prĂȘter attention aux fichiers suivants :
- Le fichier âBackedUpKeyValue.sqliteâ. Contient des clĂ©s cryptographiques et d'autres donnĂ©es nĂ©cessaires Ă l'identification du propriĂ©taire du compte. Se trouve Ă l'emplacement : /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- Le fichier âContactsV2.sqliteâ. Contient les informations de contact de l'utilisateur, telles que nom complet, numĂ©ro de tĂ©lĂ©phone, statut de contact (sous forme de texte), ID WhatsApp, etc. SituĂ© Ă l'emplacement : /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- Le fichier âconsumer_versionâ. Contient le numĂ©ro de version de l'application WhatsApp installĂ©e. SituĂ© Ă l'emplacement : /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- Le fichier âcurrent_wallpaper.jpgâ. Contient le fond d'Ă©cran actuel de l'application WhatsApp. SituĂ© Ă l'emplacement : /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Dans les anciennes versions de l'application, le fichier utilisĂ© est âwallpaperâ, situĂ© Ă l'emplacement : â/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/â.
- Le fichier âblockedcontacts.datâ. Contient des informations sur les contacts bloquĂ©s. SituĂ© Ă l'emplacement : /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
- Le fichier âpw.datâ. Contient le mot de passe chiffrĂ©. SituĂ© Ă l'emplacement : â/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/â.
- Le fichier ânet.whatsapp.WhatsApp.plistâ (ou le fichier âgroup.net.whatsapp.WhatsApp.shared.plistâ). Contient des informations sur le profil du compte WhatsApp. Le fichier est situĂ© Ă l'emplacement : â/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/â.
Le contenu du fichier âgroup.net.whatsapp.WhatsApp.shared.plistâ
Il faut Ă©galement prĂȘter attention aux rĂ©pertoires suivants :
- Le rĂ©pertoire â/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/â. Contient des miniatures de contacts, de groupes (fichiers avec l'extension .thumb), des avatars de contacts, avatar du propriĂ©taire du compte WhatsApp (fichier âPhoto.jpgâ).
- Le rĂ©pertoire â/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/ Message/Media/â. Contient les fichiers multimĂ©dias et leurs vignettes
- Le rĂ©pertoire â/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/â. Contient le journal d'activitĂ© de l'application (fichier âcalls.logâ) et des sauvegardes des journaux d'activitĂ© de l'application (fichier âcalls.backup.logâ).
- Le rĂ©pertoire â/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/â. Contient des stickers (fichiers au format â.webpâ).
- Le rĂ©pertoire â/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/â. Contient les journaux d'activitĂ© de l'application.
Artifacts WhatsApp sur Windows
Les artefacts WhatsApp sur Windows peuvent ĂȘtre trouvĂ©s Ă plusieurs endroits. Tout d'abord, ce sont les rĂ©pertoires contenant les fichiers exĂ©cutables et auxiliaires de l'application (pour Windows 8/10) :
- âC:Program Files (x86)WhatsAppâ
- âC:Users%User profile% AppDataLocalWhatsAppâ
- âC:Users%User profile% AppDataLocalVirtualStore Program Files (x86)WhatsAppâ
Dans le rĂ©pertoire âC:Users%User profile% AppDataLocalWhatsAppâ se trouve le fichier journal âSquirrelSetup.logâ, qui contient des informations sur la vĂ©rification des mises Ă jour et l'installation du programme.
Dans le rĂ©pertoire âC:Users%User profile% AppDataRoamingWhatsAppâ il contient plusieurs sous-rĂ©pertoires :
Le fichier âmain-process.logâ contient des informations sur le fonctionnement du programme WhatsApp.
Sous-rĂ©pertoire âdatabasesâ contient le fichier âDatabases.dbâ, mais ce fichier ne contient aucune information sur les chats ou les contacts.
Les fichiers les plus intĂ©ressants d'un point de vue forensique sont ceux qui se trouvent dans le rĂ©pertoire âCacheâ. Ce sont principalement des fichiers nommĂ©s âf_*******â oĂč * est un chiffre de 0 Ă 9, contenant des fichiers multimĂ©dia et des documents chiffrĂ©s, mais parmi eux se trouvent Ă©galement des fichiers non chiffrĂ©s. Les fichiers âdata_0â, âdata_1â, âdata_2â, âdata_3â, qui se trouvent dans ce mĂȘme sous-rĂ©pertoire, sont particuliĂšrement intĂ©ressants. Les fichiers âdata_0â, âdata_1â, âdata_3â contiennent des liens externes vers des fichiers multimĂ©dia chiffrĂ©s et des documents transmis.
Un exemple d'informations contenues dans le fichier âdata_1â
Le fichier âdata_3â peut Ă©galement contenir des fichiers graphiques.
Le fichier âdata_2â contient les avatars des contacts (peuvent ĂȘtre rĂ©cupĂ©rĂ©s par des recherches dans les noms de fichiers).
Les avatars contenus dans le fichier âdata_2â:

Ainsi, il n'est pas possible de trouver les chats eux-mĂȘmes dans la mĂ©moire de l'ordinateur, mais il est possible de retrouver :
- des fichiers multimédia ;
- des documents échangés via WhatsApp ;
- des informations sur les contacts du titulaire du compte.
Artefacts WhatsApp sur MacOS
Sur MacOS, il est possible de trouver des types d'artefacts WhatsApp similaires à ceux présents sur Windows.
Les fichiers du programme se trouvent dans les répertoires :
- âC:ApplicationsWhatsApp.appâ
- âC:Applications._WhatsApp.appâ
- âC:Users%User profile%LibraryPreferencesâ
- âC:Users%User profile%LibraryLogsWhatsAppâ
- âC:Users%User profile%LibrarySaved Application StateWhatsApp.savedStateâ
- âC:Users%User profile%LibraryApplication Scriptsâ
- âC:Users%User profile%LibraryApplication SupportCloudDocsâ
- âC:Users%User profile%LibraryApplication SupportWhatsApp.ShipItâ
- âC:Users%User profile%LibraryContainerscom.rockysandstudio.app-for-whatsappâ
- âC:Users%User profile%Library Mobile Documents WhatsApp Accountsâ
Dans ce rĂ©pertoire se trouvent des sous-rĂ©pertoires, dont les noms sont les numĂ©ros de tĂ©lĂ©phone associĂ©s au titulaire du compte WhatsApp. - âC:Users%User profile%LibraryCachesWhatsApp.ShipItâ
Dans ce rĂ©pertoire se trouvent des informations sur l'installation du programme. - âC:Users%User profile%PicturesMĂ©diathĂšque iPhoto.photolibraryMastersâ, âC:Users%User profile%PicturesMĂ©diathĂšque iPhoto.photolibraryThumbnailsâ
Ces rĂ©pertoires contiennent des fichiers systĂšme de l'application, y compris des photos et des miniatures des contacts WhatsApp. - âC:Users%User profile%LibraryCachesWhatsAppâ
Ce rĂ©pertoire contient plusieurs bases de donnĂ©es SQLite, utilisĂ©es pour la mise en cache des donnĂ©es. - âC:Users%User profile%LibraryApplication SupportWhatsAppâ
Ce rĂ©pertoire contient plusieurs sous-rĂ©pertoires :
Dans le rĂ©pertoire âC:Users%User profile%LibraryApplication SupportWhatsAppCacheâ contiennent des fichiers âdata_0â, âdata_1â, âdata_2â, âdata_3â et des fichiers avec des noms âf_*******â (oĂč * est un chiffre de 0 Ă 9). Les informations concernant le contenu de ces fichiers sont dĂ©crites dans la section « Artefacts WhatsApp sous Windows ».Dans le rĂ©pertoire âC:Users%User profile%LibraryApplication SupportWhatsAppIndexedDBâ peuvent contenir des fichiers multimĂ©dias (les fichiers n'ont pas d'extensions).
Le fichier âmain-process.logâ contient des informations sur le fonctionnement du programme WhatsApp.
Sources
- Analyse forensic de WhatsApp Messenger sur les smartphones Android, par Cosimo Anglano, 2014.
- Forensique de WhatsApp : Exploration du systÚme de fichiers et des bases de données sur les applications Android et iOS par Ahmad Pratama, 2014.
Dans les prochains articles de cette série :
Décryptage des bases de données chiffrées de WhatsAppArticle dans lequel nous fournirons des informations sur la maniÚre dont la clé de chiffrement de WhatsApp est générée, avec des exemples pratiques montrant comment déchiffrer les bases de données chiffrées de cette application.
Extraction des données WhatsApp depuis les stocks en cloudArticle dans lequel nous expliquerons quelles données WhatsApp sont stockées dans le cloud et décrirons les méthodes d'extraction de ces données depuis des stocks en cloud.
Extraction des données WhatsApp : exemples pratiquesArticle dans lequel nous décrirons étape par étape quels programmes utiliser et comment extraire les données WhatsApp de divers appareils.
Source : habr.com








