WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?

WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?

Si vous souhaitez savoir quels types d'artefacts médico-légaux WhatsApp existent sur différents systèmes d'exploitation et où exactement ils peuvent être trouvés, alors cet endroit est fait pour vous. Cet article provient d'un spécialiste du laboratoire d'investigation informatique du Groupe-IB. Igor Mikhailov commence une série d’articles sur les analyses médico-légales de WhatsApp et les informations pouvant être obtenues en analysant l’appareil.

Notons immédiatement que différents systèmes d'exploitation stockent différents types d'artefacts WhatsApp, et si un chercheur peut extraire certains types de données WhatsApp d'un appareil, cela ne signifie pas que des types de données similaires peuvent être extraits d'un autre appareil. Par exemple, si une unité centrale exécutant le système d'exploitation Windows est supprimée, les discussions WhatsApp ne seront probablement pas trouvées sur ses disques (à l'exception des copies de sauvegarde des appareils iOS, qui peuvent être trouvées sur les mêmes lecteurs). La saisie d’ordinateurs portables et d’appareils mobiles aura ses propres caractéristiques. Parlons-en plus en détail.

Artefacts WhatsApp sur un appareil Android

Afin d'extraire les artefacts WhatsApp d'un appareil Android, le chercheur doit disposer des droits de superutilisateur ('racine') sur l'appareil étudié ou être capable d'extraire d'une autre manière un vidage physique de la mémoire de l'appareil ou de son système de fichiers (par exemple, en utilisant les vulnérabilités logicielles d'un appareil mobile spécifique).

Les fichiers d'application se trouvent dans la mémoire du téléphone dans la section dans laquelle les données utilisateur sont enregistrées. En règle générale, cette section est nommée 'données d'utilisateur'. Les sous-répertoires et les fichiers programme se trouvent le long du chemin : '/data/data/com.whatsapp/'.

WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?
Les principaux fichiers contenant des artefacts médico-légaux WhatsApp dans le système d'exploitation Android sont des bases de données 'wa.db' и 'msgstore.db'.

Dans la base de données 'wa.db' contient la liste complète des contacts d'un utilisateur WhatsApp, y compris le numéro de téléphone, le nom d'affichage, les horodatages et toute autre information fournie lors de l'inscription à WhatsApp. Déposer 'wa.db' situé le long du chemin : '/data/data/com.whatsapp/databases/' et a la structure suivante :

WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?
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 de contact : identifiant du contact WhatsApp, informations d'état, nom d'affichage de l'utilisateur, horodatages, etc.

    Aspect du tableau :

    WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?
    Structure du tableau

    Nom de domaine Valeur
    _id numéro de séquence d'enregistrement (dans la table SQL)
    jid ID de contact WhatsApp, écrit au format <numéro de téléphone>@s.whatsapp.net
    is_whatsapp_user contient '1' si le contact correspond à un utilisateur réel de WhatsApp, '0' sinon
    statuts contient le texte affiché dans l'état du contact
    statut_timestamp contient un horodatage au format Unix Epoch Time (ms)
    nombre numéro de téléphone associé au contact
    raw_contact_id contacter le numéro de série
    Afficher un nom nom d'affichage du contact
    Type de téléphone Type de téléphone
    étiquette_téléphone étiquette associée au numéro de contact
    invisible_msg_count nombre de messages envoyés par un contact mais non lus par le destinataire
    photo_ts contient un horodatage au format Unix Epoch Time
    pouce_ts contient un horodatage au format Unix Epoch Time
    photo_id_timestamp contient un horodatage au format Unix Epoch Time (ms)
    prénom la valeur du champ correspond à « display_name » pour chaque contact
    nom_wa Nom du contact WhatsApp (le nom spécifié dans le profil du contact est affiché)
    nom_tri nom du contact utilisé dans les opérations de tri
    surnom le pseudo du contact dans WhatsApp (le pseudo spécifié dans le profil du contact est affiché)
    Société entreprise (l'entreprise précisée dans le profil du contact est affichée)
    titre titre (Mme/M. ; le titre configuré dans le profil du contact est affiché)
    compenser déplacement
  • 'sqlite_séquence'
    Ce tableau contient des informations sur le nombre de contacts ;
  • 'android_metadata'
    Ce tableau contient des informations sur la localisation linguistique de WhatsApp.

Dans 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, l'état du message, les horodatages, les détails des fichiers transférés inclus dans les messages, etc. Déposer 'msgstore.db' situé le long du chemin : '/data/data/com.whatsapp/databases/' et a la structure suivante :

WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?
Les tableaux les plus intéressants du dossier 'msgstore.db' pour le chercheur sont :

  • 'sqlite_séquence'
    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.

    Aspect du tableau :

    WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?

  • 'message_fts_content'
    Contient le texte des messages envoyés.

    Aspect du tableau :

    WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?

  • 'messages'
    Ce tableau contient des informations telles que le numéro de contact, le texte du message, l'état du message, les horodatages, des informations sur les fichiers transférés inclus dans les messages.

    Aspect du tableau :

    WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?
    Structure du tableau

    Nom de domaine Valeur
    _id numéro de séquence d'enregistrement (dans la table SQL)
    key_remote_jid ID WhatsApp du partenaire de communication
    key_from_me direction du message : « 0 » – entrant, « 1 » – sortant
    id_clé identifiant unique du message
    statuts état du message : '0' – livré, '4' – en attente sur le serveur, '5' – reçu à destination, '6' – message de contrôle, '13' – message ouvert par le destinataire (lu)
    besoin_push a la valeur '2' s'il s'agit d'un message diffusé, sinon contient '0'
    données texte du message (lorsque le paramètre 'media_wa_type' est '0')
    horodatage contient un horodatage au format Unix Epoch Time (ms), la valeur est extraite de l'horloge de l'appareil
    url_média contient l'URL du fichier transféré (lorsque le paramètre 'media_wa_type' est '1', '2', '3')
    media_mime_type Type MIME du fichier transféré (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' - fiche de contact, '5' - géodonnées
    taille_média taille du fichier transféré (lorsque le paramètre 'media_wa_type' est '1', '2', '3')
    nom_média nom du fichier transféré (lorsque le paramètre 'media_wa_type' est '1', '2', '3')
    légende_média Contient les mots 'audio', 'video' pour les valeurs correspondantes du paramètre 'media_wa_type' (lorsque le paramètre 'media_wa_type' est '1', '3')
    hachage_média Hachage encodé en base64 du fichier transmis, calculé à l'aide de l'algorithme HAS-256 (lorsque le paramètre 'media_wa_type' est égal à '1', '2', '3')
    durée_média durée en secondes pour le fichier multimédia (lorsque 'media_wa_type' est '1', '2', '3')
    origine a la valeur '2' s'il s'agit d'un message diffusé, sinon contient '0'
    latitude géodonnées : latitude (lorsque le paramètre 'media_wa_type' est '5')
    longitude géodonnées : longitude (lorsque le paramètre 'media_wa_type' est '5')
    image_pouce des informations de service
    ressource_distante ID de l'expéditeur (pour les discussions de groupe uniquement)
    reçu_timestamp heure de réception, contient un horodatage au format Unix Epoch Time (ms), la valeur est extraite de l'horloge de l'appareil (lorsque le paramètre 'key_from_me' a '0', '-1' ou une autre valeur)
    envoyer_timestamp non utilisé, a généralement la valeur '-1'
    reçu_server_timestamp l'heure reçue par le serveur central, contient un horodatage au format Unix Epoch Time (ms), la valeur est extraite de l'horloge de l'appareil (lorsque le paramètre 'key_from_me' a '1', '-1' ou une autre valeur
    reçu_device_timestamp heure à laquelle le message a été reçu par un autre abonné, contient un horodatage au format Unix Epoch Time (ms), la valeur est extraite de l'horloge de l'appareil (lorsque le paramètre 'key_from_me' a '1', '-1' ou une autre valeur
    read_device_timestamp heure d'ouverture (lecture) du message, contient un horodatage au format Unix Epoch Time (ms), la valeur est extraite de l'horloge de l'appareil
    joué_device_timestamp temps de lecture du message, contient un horodatage au format Unix Epoch Time (ms), la valeur est extraite de l'horloge de l'appareil
    données brutes vignette du fichier transféré (lorsque le paramètre 'media_wa_type' est '1' ou '3')
    destinataire_compte nombre de destinataires (pour les messages diffusés)
    participant_hash utilisé lors de la transmission de messages avec des géodonnées
    joué pas utilisé
    quoted_row_id inconnu, contient généralement la valeur '0'
    mentionné_jids pas utilisé
    multicast_id pas utilisé
    compenser déplacement

    Cette liste de champs n'est pas exhaustive. Pour différentes versions de WhatsApp, certains champs peuvent être présents ou absents. De plus, des champs peuvent être présents 'media_enc_hash', 'modifier_version', 'payment_transaction_id' etc.

  • 'messages_thumbnails'
    Ce tableau contient des informations sur les images transférées et les horodatages. Dans la colonne 'horodatage', l'heure est indiquée au format Unix Epoch Time (ms).
  • 'liste_chat'
    Ce tableau contient des informations sur les discussions.

    Aspect du tableau :

    WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?

De plus, lorsque vous examinez WhatsApp sur un appareil mobile fonctionnant sous Android, vous devez faire attention aux fichiers suivants :

  • Dossier 'msgstore.db.cryptXX' (où XX représente un ou deux chiffres de 0 à 12, par exemple msgstore.db.crypt12). Contient une sauvegarde cryptée des messages WhatsApp (fichier de sauvegarde msgstore.db). Des dossiers) 'msgstore.db.cryptXX' situé le long du chemin : '/data/media/0/WhatsApp/Bases de données/' (carte SD virtuelle), '/mnt/sdcard/WhatsApp/Bases de données/ (carte SD physique)'.
  • Dossier 'clé'. Contient une clé cryptographique. Situé le long du chemin : '/data/data/com.whatsapp/files/'. Utilisé pour décrypter les sauvegardes WhatsApp cryptées.
  • Dossier 'com.whatsapp_preferences.xml'. Contient des informations sur le profil de votre compte WhatsApp. Le fichier se trouve le long du chemin : '/data/data/com.whatsapp/shared_prefs/'.

    Fragment de contenu de fichier

    <?xml version="1.0" encoding="ISO-8859-1"?>
    …
    <string name="ph">9123456789</string> (номер телефона, ассоциированный с аккаунтом WhatsApp)
    …
    <string name="version">2.17.395</string> (версия WhatsApp)
    …
    <string name="my_current_status">Hey there! I am using WhatsApp.</string> (сообщение, отображаемое в статусе аккаунта)
    …
    <string name="push_name">Alex</string> (имя владельца аккаунта)
    … 
  • Dossier 'enregistrement.RegisterPhone.xml'. Contient des informations sur le numéro de téléphone associé au compte WhatsApp. Le fichier se trouve le long du chemin : '/data/data/com.whatsapp/shared_prefs/'.

    Contenu du fichier

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <map>
    <string name="com.whatsapp.registration.RegisterPhone.phone_number">9123456789</string>
    <int name="com.whatsapp.registration.RegisterPhone.verification_state" value="0"/>
    <int name="com.whatsapp.registration.RegisterPhone.country_code_position" value="-1"/>
    <string name="com.whatsapp.registration.RegisterPhone.input_phone_number">912 345-67-89</string>
    <int name="com.whatsapp.registration.RegisterPhone.phone_number_position" value="10"/>
    <string name="com.whatsapp.registration.RegisterPhone.input_country_code">7</string>
    <string name="com.whatsapp.registration.RegisterPhone.country_code">7</string>
    </map>
  • Dossier 'axolotl.db'. Contient des clés cryptographiques et d'autres données nécessaires pour identifier le propriétaire du compte. Situé le long du chemin : '/data/data/com.whatsapp/databases/'.
  • Dossier 'chatsettings.db'. Contient des informations sur la configuration de l'application.
  • Dossier 'wa.db'. Contient les coordonnées. Une base de données très intéressante (d’un point de vue médico-légal) et informative. Il peut contenir des informations détaillées sur les contacts supprimés.

Vous devez également faire attention aux répertoires suivants :

  • annuaire '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Contient les fichiers graphiques transférés.
  • annuaire '/data/media/0/WhatsApp/Media/Notes vocales WhatsApp/'. Contient des messages vocaux dans des fichiers au format .OPUS.
  • annuaire '/data/data/com.whatsapp/cache/Photos de profil/'. Contient des fichiers graphiques – images de contacts.
  • annuaire '/data/data/com.whatsapp/files/Avatars/'. Contient des fichiers graphiques – des images miniatures des contacts. Ces fichiers portent une extension « .j » mais sont néanmoins des fichiers image JPEG (JPG).
  • annuaire '/data/data/com.whatsapp/files/Avatars/'. Contient des fichiers graphiques - une image et une vignette de l'image définie comme avatar par le propriétaire du compte.
  • annuaire '/data/data/com.whatsapp/files/Logs/'. Contient le journal des opérations du programme (fichier « whatsapp.log ») et des copies de sauvegarde des journaux de fonctionnement du programme (fichiers dont les noms sont au format WhatsApp-aaaa-mm-jj.1.log.gz).

Fichiers journaux WhatsApp :

WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?
Fragment de journal2017-01-10 09: 37: 09.757 LL_I D [524: WhatsApp Worker # 1] notification d'appel manqué/compte d'initialisation: 0 horodatage: 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/load-me
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 texte : 59 envoyés, 82 reçus / Messages multimédia : 1 envoyé (0 octets), 0 reçu (9850158 octets) / Messages hors ligne : 81 reçus ( 19522 116075 ms de délai moyen) / Service de messagerie : 211729 1 octets envoyés, 0 2492 octets reçus / Appels VoIP : 1530 appel sortant, 0 appel entrant, 0 1524 octets envoyés, 1826 118567 octets reçus / Google Drive : 10063417 octet envoyé, XNUMX octet reçu / Roaming : XNUMX XNUMX octets envoyés, XNUMX octets reçus / Données totales : XNUMX XNUMX octets envoyés, XNUMX XNUMX octets reçus
2017-01-10 09:37:09.785 LL_I D [1:main] media-state-manager/refresh-media-state/writable-media
2017-01-10 09:37:09.806 LL_I D [1:main] app-init/initialize/timer/stop : 24
2017-01-10 09:37:09.811 LL_I D [1:main] msgstore/checkhealth
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 | temps passé : 8
2017-01-10 09: 37: 09.848 LL_I D [529: WhatsApp Worker # 3] media-state-manager/refresh-media-state/internal-storage disponible : 1,345,622,016 5,687,922,688 XNUMX XNUMX total : XNUMX XNUMX XNUMX XNUMX

  • annuaire '/data/media/0/WhatsApp/Media/WhatsApp Audio/'. Contient les fichiers audio reçus.
  • annuaire '/data/media/0/WhatsApp/Media/WhatsApp Audio/Envoyé/'. Contient les fichiers audio envoyés.
  • annuaire '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Contient les fichiers graphiques résultants.
  • annuaire '/data/media/0/WhatsApp/Media/WhatsApp Images/Envoyé/'. Contient les fichiers graphiques envoyés.
  • annuaire '/data/media/0/WhatsApp/Media/WhatsApp Vidéo/'. Contient les fichiers vidéo reçus.
  • annuaire '/data/media/0/WhatsApp/Media/WhatsApp Video/Envoyé/'. Contient les fichiers vidéo envoyés.
  • annuaire '/data/media/0/WhatsApp/Media/Photos de profil WhatsApp/'. Contient des fichiers graphiques associés au propriétaire du compte WhatsApp.
  • Pour économiser de l'espace mémoire sur votre smartphone Android, certaines données WhatsApp peuvent être stockées sur une carte SD. Sur la carte SD, dans le répertoire racine, il y a un répertoire 'WhatsApp', où les artefacts suivants de ce programme peuvent être trouvés :

    WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?

  • annuaire '.Partager' ('/mnt/sdcard/WhatsApp/.Partager/'). Contient des copies de fichiers partagés avec d'autres utilisateurs de WhatsApp.
  • annuaire '.poubelle' ('/mnt/sdcard/WhatsApp/.trash/'). Contient les fichiers supprimés.
  • annuaire 'bases de données' ('/mnt/sdcard/WhatsApp/Bases de données/'). Contient des sauvegardes cryptées. Ils peuvent être décryptés si le fichier est présent 'clé', extrait de la mémoire de l'appareil analysé.

    Fichiers situés dans un sous-répertoire 'bases de données':

    WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?

  • annuaire 'Médias' ('/mnt/sdcard/WhatsApp/Media/'). Contient des sous-répertoires 'Fond d'écran', « WhatsApp Audio », « Images WhatsApp », « Photos de profil WhatsApp », « Vidéo WhatsApp », « Notes vocales WhatsApp », qui contiennent des fichiers multimédias reçus et transmis (fichiers graphiques, fichiers vidéo, messages vocaux, photos associées au profil du propriétaire du compte WhatsApp, fonds d'écran).
  • annuaire 'Photos de profil' ('/mnt/sdcard/WhatsApp/Photos de profil/'). Contient des fichiers graphiques associés au profil du propriétaire du compte WhatsApp.
  • Parfois il peut y avoir un répertoire présent sur la carte SD 'des dossiers' ('/mnt/sdcard/WhatsApp/Fichiers/'). Ce répertoire contient des fichiers qui stockent les paramètres du programme et les préférences utilisateur.

Caractéristiques du stockage de données dans certains modèles d'appareils mobiles

Certains modèles d'appareils mobiles exécutant le système d'exploitation Android peuvent stocker les artefacts WhatsApp dans un emplacement différent. Cela est dû aux modifications apportées à l'espace de stockage des données d'application par le logiciel système de l'appareil mobile. Par exemple, les appareils mobiles Xiaomi disposent d'une fonction permettant de créer un deuxième espace de travail (« SecondSpace »). Lorsque cette fonction est activée, l'emplacement des données change. Ainsi, si sur un appareil mobile classique exécutant le système d'exploitation Android, les données utilisateur sont stockées dans le répertoire '/données/utilisateur/0/' (qui est une référence à l'habituel '/données/données/'), puis dans le deuxième espace de travail, les données de l'application sont stockées dans le répertoire '/données/utilisateur/10/'. Autrement dit, en utilisant l'exemple de l'emplacement 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 du smartphone Xiaomi : '/data/user/10/com.whatsapp/databases/wa.db'.

Artefacts WhatsApp sur un appareil iOS

Contrairement au système d'exploitation Android, dans iOS, les données de l'application WhatsApp sont transférées vers une copie de 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 ni la création d’un vidage de la mémoire physique du périphérique étudié. La plupart des informations pertinentes sont contenues dans la base de données 'ChatStorage.sqlite', qui se trouve le long du chemin : '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/' (dans certains programmes, ce chemin apparaît comme 'AppDomainGroup-group.net.whatsapp.WhatsApp.shared').

structure 'ChatStorage.sqlite':

WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?
Les tables les plus informatives de la base de données « ChatStorage.sqlite » sont 'MESSAGE ZWAM' и 'ZWAMEDIAITEM'.

Apparence du tableau 'MESSAGE ZWAM':

WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?
Structure du tableau 'ZWAMESSAGE'

Nom de domaine Valeur
Z_PK numéro de séquence d'enregistrement (dans la table SQL)
Z_ENT identifiant de table, a la valeur '9'
Z_OPT inconnu, contient généralement des valeurs 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'
VERSIONZDATAITEM inconnu, contient généralement la valeur « 3 », probablement un indicateur de 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 état de transmission des messages. Si le message est envoyé/reçu, alors il a la valeur '0'
ZTYPE DE MESSAGE type de message transmis
Tri Z inconnu
ZSPOTLIGHSTATUT inconnu
ZSTARRED inconnu, non utilisé
ZCHATSESSION inconnu
MEMBRE DU GROUPE Z inconnu, non utilisé
ZDERNIÈRESESSION inconnu
ZMEDIAITEM inconnu
ZMESSAGEINFO inconnu
ZMESSAGE PARENT inconnu, non utilisé
DATE DU MESSAGE horodatage au format OS X Epoch Time
ZSENTDATE heure à laquelle le message a été envoyé au format OS X Epoch Time
ZFROMJID Identifiant de l'expéditeur WhatsApp
ZMEDIASECTIONID contient l'année et le mois où le fichier multimédia a été envoyé
ZPHASH inconnu, non utilisé
ZPUSHPAME nom du contact qui a envoyé le fichier média au format UTF-8
ZSTANZIDE identifiant unique du message
ZTEXTE Texte du message
ZTOJID Identifiant WhatsApp du destinataire
OFFSET déplacement

Apparence du tableau 'ZWAMEDIAITEM':

WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?
Structure du tableau 'ZWAMEDIAITEM'

Nom de domaine Valeur
Z_PK numéro de séquence d'enregistrement (dans la table SQL)
Z_ENT identifiant de table, a la valeur '8'
Z_OPT inconnu, contient généralement des valeurs de « 1 » à « 3 ».
ZCLOUDSTATUT contient la valeur '4' si le fichier est chargé.
TAILLE DU FICHIER Z contient la longueur du fichier (en octets) pour les fichiers téléchargés
ZMEDIAORIGINE inconnu, a généralement la valeur '0'
ZMOVIÉDURÉE durée du fichier média, pour les fichiers pdf peut contenir le nombre de pages du document
MESSAGE Z contient un numéro de série (le numéro est différent de celui indiqué dans la colonne 'Z_PK')
ZASPECTRATIO rapport hauteur/largeur, non utilisé, généralement défini sur « 0 »
ZHACCURACY inconnu, a généralement la valeur '0'
ZLATTITUDE largeur en pixels
ZLONGTITUDE hauteur en pixels
ZMEDIAURLDATE horodatage au format OS X Epoch Time
ZAUTHORNOM auteur (pour les documents, peut contenir le nom du fichier)
ZNOM DE LA COLLECTION pas utilisé
ZMEDIALOCALPATH nom du fichier (y compris le chemin) dans le système de fichiers de l'appareil
ZMEDIAURL L'URL où se trouvait le fichier multimédia. Si un fichier a été transféré d'un abonné à un autre, il a été crypté et son extension sera indiquée comme extension du fichier transféré - .enc
ZTHUMBNAILLOCALPATH chemin d'accès à la vignette du fichier dans le système de fichiers de l'appareil
ZTITRE en-tête de fichier
ZVCARDNAME hash du fichier média ; lors du transfert du fichier vers un groupe, il peut contenir l'identifiant de l'expéditeur
CHAÎNE DE CARTE ZV contient des informations sur le type de fichier en cours de transfert (par exemple, image/jpeg) ; lors du transfert d'un fichier vers un groupe, il peut contenir l'identifiant du destinataire
ZXMPPTHUMBPATH chemin d'accès à la vignette du fichier dans le système de fichiers de l'appareil
ZMEDIAKEY inconnu, contient probablement la clé permettant de déchiffrer le fichier crypté.
ZMÉTADONNÉES métadonnées du message transmis
Compenser déplacement

Autres tables de base de données intéressantes 'ChatStorage.sqlite' sont les suivants:

  • 'ZWAPROFILEPUSHNOM'. Correspond à l'identifiant WhatsApp avec le nom du contact ;
  • 'ZWAPROFILEPICTUREITEM'. Correspond à l'identifiant WhatsApp avec l'avatar 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, lorsque vous examinez WhatsApp sur un appareil mobile exécutant iOS, vous devez faire attention aux fichiers suivants :

  • Dossier 'BackedUpKeyValue.sqlite'. Contient des clés cryptographiques et d'autres données nécessaires pour identifier le propriétaire du compte. Situé le long du chemin : /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Dossier 'ContactsV2.sqlite'. Contient des informations sur les contacts de l'utilisateur, telles que le nom complet, le numéro de téléphone, le statut du contact (sous forme de texte), l'identifiant WhatsApp, etc. Situé le long du chemin : /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Dossier 'version_consommateur'. Contient le numéro de version de l'application WhatsApp installée. Situé le long du chemin : /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Dossier 'current_wallpaper.jpg'. Contient le fond d'écran actuel de WhatsApp. Situé le long du chemin : /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Les anciennes versions de l'application utilisent le fichier 'fond d'écran', qui se trouve le long du chemin : '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'.
  • Dossier 'contactsbloqués.dat'. Contient des informations sur les contacts bloqués. Situé le long du chemin : /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
  • Dossier 'pw.dat'. Contient un mot de passe crypté. Situé le long du chemin : '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Bibliothèque/'.
  • Dossier 'net.whatsapp.WhatsApp.plist' (ou fichier 'groupe.net.whatsapp.WhatsApp.shared.plist'). Contient des informations sur le profil de votre compte WhatsApp. Le fichier se trouve le long du chemin : '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/'.

Contenu du fichier 'group.net.whatsapp.WhatsApp.shared.plist' WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?
Vous devez également faire attention aux répertoires suivants :

  • annuaire '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/'. Contient des vignettes de contacts, de groupes (fichiers avec l'extension .pouce), avatars de contact, avatar du propriétaire du compte WhatsApp (fichier 'Photo.jpg').
  • annuaire '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/'. Contient des fichiers multimédia et leurs vignettes
  • annuaire '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'. Contient le journal de fonctionnement du programme (fichier 'appels.log') et des copies de sauvegarde des journaux de fonctionnement du programme (fichier 'appels.sauvegarde.log').
  • annuaire '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/'. Contient des autocollants (fichiers au format '.webp').
  • annuaire '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/'. Contient les journaux d’opérations du programme.

Artefacts WhatsApp sous Windows

Les artefacts WhatsApp sur Windows peuvent être trouvés à plusieurs endroits. Tout d'abord, il s'agit de répertoires contenant les fichiers exécutables et auxiliaires du programme (pour Windows 8/10) :

  • 'C:Fichiers de programme (x86)WhatsApp'
  • 'C:Utilisateurs%Profil utilisateur% AppDataLocalWhatsApp'
  • 'C:Utilisateurs%Profil utilisateur% Fichiers du programme AppDataLocalVirtualStore (x86)WhatsApp'

Dans le catalogue 'C:Utilisateurs%Profil utilisateur% AppDataLocalWhatsApp' le fichier journal se trouve 'SquirrelSetup.log', qui contient des informations sur la recherche de mises à jour et l'installation du programme.

Dans le catalogue 'C: Utilisateurs% Profil utilisateur% AppDataRoamingWhatsApp' Il existe plusieurs sous-répertoires :

WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?
Dossier 'processus principal.log' contient des informations sur le fonctionnement du programme WhatsApp.

Sous-répertoire 'bases de données' contient un fichier 'Bases de données.db', mais ce fichier ne contient aucune information sur les discussions ou les contacts.

Les plus intéressants d'un point de vue médico-légal sont les fichiers situés dans le répertoire 'Cache'. Ce sont essentiellement des fichiers nommés 'F_*******' (où * est un nombre de 0 à 9) contenant des fichiers et des documents multimédias cryptés, mais il existe également des fichiers non cryptés parmi eux. Les fichiers sont particulièrement intéressants 'données_0', 'données_1', 'données_2', 'données_3', situé dans le même sous-répertoire. Des dossiers 'données_0', 'données_1', 'données_3' contiennent des liens externes vers des fichiers et documents multimédias cryptés transmis.

Exemple d'informations contenues dans le fichier 'data_1'WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?
Fichier également 'données_3' peut contenir des fichiers graphiques.

Dossier 'données_2' contient des avatars de contacts (peuvent être restaurés en recherchant par en-têtes de fichiers).

Avatars contenus dans le fichier 'données_2':

WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?
Ainsi, les chats eux-mêmes sont introuvables dans la mémoire de l’ordinateur, mais vous pouvez trouver :

  • fichiers multimédias;
  • documents transmis via WhatsApp ;
  • des informations sur les contacts du propriétaire du compte.

Artefacts WhatsApp sur MacOS

Sous MacOS, vous pouvez trouver des types d’artefacts WhatsApp similaires à ceux trouvés dans le système d’exploitation Windows.

Les fichiers du programme se trouvent dans les répertoires suivants :

  • 'C:ApplicationsWhatsApp.app'
  • 'C:Applications._WhatsApp.app'
  • 'C:Utilisateurs%Profil utilisateur%BibliothèquePréférences'
  • 'C:Utilisateurs%Profil utilisateur%BibliothèqueLogsWhatsApp'
  • 'C:Utilisateurs%Profil utilisateur%LibrarySaved Application StateWhatsApp.savedState'
  • 'C: Utilisateurs% Profil utilisateur% Scripts d'application de bibliothèque'
  • 'C:Utilisateurs%Profil utilisateur%BibliothèqueApplication SupportCloudDocs'
  • 'C:Utilisateurs%Profil utilisateur%BibliothèqueApplication SupportWhatsApp.ShipIt'
  • 'C:Utilisateurs%Profil utilisateur%LibraryContainerscom.rockysandstudio.app-for-whatsapp'
  • 'C:Utilisateurs%Profil utilisateur%Bibliothèque Documents mobiles <variable texte> Comptes WhatsApp'
    Ce répertoire contient des sous-répertoires dont les noms sont des numéros de téléphone associés au propriétaire du compte WhatsApp.
  • 'C:Utilisateurs%Profil utilisateur%LibraryCachesWhatsApp.ShipIt'
    Ce répertoire contient des informations sur l'installation du programme.
  • 'C:Utilisateurs%Profil utilisateur%PicturesiPhoto Library.photolibraryMasters', 'C:Utilisateurs%Profil utilisateur%PicturesiPhoto Library.photolibraryThumbnails'
    Ces répertoires contiennent les fichiers de service du programme, notamment des photos et des vignettes des contacts WhatsApp.
  • 'C:Utilisateurs%Profil utilisateur%BibliothèqueCachesWhatsApp'
    Ce répertoire contient plusieurs bases de données SQLite utilisées pour la mise en cache des données.
  • 'C:Utilisateurs%Profil utilisateur%BibliothèqueApplication SupportWhatsApp'
    Ce répertoire contient plusieurs sous-répertoires :

    WhatsApp dans la paume de votre main : où et comment trouver des objets médico-légaux ?
    Dans le catalogue 'C:Utilisateurs%Profil utilisateur%BibliothèqueApplication SupportWhatsAppCache' il y a des fichiers 'données_0', 'données_1', 'données_2', 'données_3' et des fichiers avec des noms 'F_*******' (où * est un nombre de 0 à 9). Pour plus d'informations sur les informations contenues dans ces fichiers, consultez Artefacts WhatsApp sous Windows.

    Dans le catalogue 'C:Utilisateurs%Profil utilisateur%LibraryApplication SupportWhatsAppIndexedDB' peut contenir des fichiers multimédias (les fichiers n'ont pas d'extension).

    Dossier 'processus principal.log' contient des informations sur le fonctionnement du programme WhatsApp.

sources

  1. Analyse médico-légale de WhatsApp Messenger sur les smartphones Android, par Cosimo Anglano, 2014.
  2. Whatsapp Forensics : un système complet basé sur des données de base pour applications Android et iOS par Ahmad Pratama, 2014.

Dans les articles suivants de cette série :

Décryptage des bases de données WhatsApp cryptéesUn article qui fournira des informations sur la façon dont la clé de cryptage WhatsApp est générée et des exemples pratiques montrant comment décrypter les bases de données cryptées de cette application.
Extraire les données WhatsApp du stockage cloudUn article dans lequel nous vous indiquerons quelles données WhatsApp sont stockées dans les nuages ​​et décrirons les méthodes pour récupérer ces données à partir des stockages cloud.
Extraction de données WhatsApp : exemples pratiquesUn article qui décrira étape par étape quels programmes et comment extraire les données WhatsApp de divers appareils.

Source: habr.com

Ajouter un commentaire