WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?

WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?

Si voleu saber quins tipus d'artefactes forenses de WhatsApp existeixen en diferents sistemes operatius i on es poden trobar exactament, aquest és el vostre lloc. Aquest article és d'un especialista del Laboratori d'Informàtica Forense del Grup-IB Igor Mikhailov comença una sèrie de publicacions sobre la investigació forense de WhatsApp i quina informació es pot obtenir a partir de l'anàlisi del dispositiu.

Observem immediatament que diferents sistemes operatius emmagatzemen diferents tipus d'artefactes de WhatsApp, i si un investigador pot extreure determinats tipus de dades de WhatsApp d'un dispositiu, això no vol dir que es puguin extreure tipus similars de dades d'un altre dispositiu. Per exemple, si s'elimina una unitat del sistema amb el sistema operatiu Windows, probablement no es trobaran els xats de WhatsApp als seus discs (a excepció de les còpies de seguretat dels dispositius iOS, que es poden trobar a les mateixes unitats). La confiscació d'ordinadors portàtils i dispositius mòbils tindrà característiques pròpies. Parlem d'això amb més detall.

Artefactes de WhatsApp al dispositiu Android

Per extreure artefactes de WhatsApp d'un dispositiu Android, l'investigador ha de tenir drets de superusuari ('Root') al dispositiu que s'està investigant o poder extreure d'una altra manera un bolcat de memòria física del dispositiu o del seu sistema de fitxers (per exemple, utilitzant vulnerabilitats de programari d'un dispositiu mòbil específic).

Els fitxers d'aplicacions es troben a la memòria del telèfon a la secció on es guarden les dades de l'usuari. Per regla general, aquesta secció s'anomena 'dades d'usuari'. Els subdirectoris i els fitxers de programa es troben al llarg del camí: '/data/data/com.whatsapp/'.

WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?
Els principals fitxers que contenen artefactes forenses de WhatsApp al sistema operatiu Android són bases de dades 'wa.db' и 'msgstore.db'.

A la base de dades 'wa.db' conté la llista de contactes completa d'un usuari de WhatsApp, inclòs el número de telèfon, el nom visualitzat, les marques de temps i qualsevol altra informació proporcionada durant el registre de WhatsApp. Dossier 'wa.db' situat al llarg del camí: '/data/data/com.whatsapp/databases/' i té la següent estructura:

WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?
Les taules més interessants de la base de dades 'wa.db' per a l'investigador són:

  • 'wa_contactes'
    Aquesta taula conté informació de contacte: identificador de contacte de WhatsApp, informació d'estat, nom de visualització de l'usuari, marca de temps, etc.

    Aspecte de la taula:

    WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?
    Estructura de la taula

    Nom del camp Valor
    _id número de seqüència de registre (a la taula SQL)
    jid ID de contacte de WhatsApp, escrit en el format <número de telèfon>@s.whatsapp.net
    és_usuari_de_whatsapp conté "1" si el contacte correspon a un usuari real de WhatsApp, "0" en cas contrari
    estat conté el text que es mostra a l'estat del contacte
    status_timestamp conté una marca de temps en format Unix Epoch Time (ms).
    nombre número de telèfon associat al contacte
    raw_contact_id número de sèrie de contacte
    nom_de_visualització nom visualitzat del contacte
    tipus_telèfon tipus de telèfon
    etiqueta_telèfon etiqueta associada al número de contacte
    unseen_msg_count nombre de missatges enviats per un contacte però no llegits pel destinatari
    foto_ts conté una marca de temps en format Unix Epoch Time
    polze_ts conté una marca de temps en format Unix Epoch Time
    foto_id_timestamp conté una marca de temps en format Unix Epoch Time (ms).
    nom_prestat el valor del camp coincideix amb "display_name" per a cada contacte
    wa_nom Nom del contacte de WhatsApp (es mostra el nom especificat al perfil del contacte)
    nom_ordenar nom del contacte utilitzat en les operacions d'ordenació
    sobrenom l'àlies del contacte a WhatsApp (es mostra l'àlies especificat al perfil del contacte)
    empresa empresa (es mostra l'empresa especificada al perfil del contacte)
    title títol (Sra./Sr.; es mostra el títol configurat al perfil de contacte)
    offset parcialitat
  • 'sqlite_sequence'
    Aquesta taula conté informació sobre el nombre de contactes;
  • 'android_metadata'
    Aquesta taula conté informació sobre la localització de l'idioma de WhatsApp.

A la base de dades 'msgstore.db' conté informació sobre els missatges enviats, com ara el número de contacte, el text del missatge, l'estat del missatge, les marques de temps, els detalls dels fitxers transferits inclosos als missatges, etc. Dossier 'msgstore.db' situat al llarg del camí: '/data/data/com.whatsapp/databases/' i té la següent estructura:

WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?
Les taules més interessants del fitxer 'msgstore.db' per a l'investigador són:

  • 'sqlite_sequence'
    Aquesta taula conté informació general sobre aquesta base de dades, com ara el nombre total de missatges emmagatzemats, el nombre total de xats, etc.

    Aspecte de la taula:

    WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?

  • 'message_fts_content'
    Conté el text dels missatges enviats.

    Aspecte de la taula:

    WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?

  • 'missatges'
    Aquesta taula conté informació com ara el número de contacte, el text del missatge, l'estat del missatge, les marques de temps i informació sobre els fitxers transferits inclosos als missatges.

    Aspecte de la taula:

    WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?
    Estructura de la taula

    Nom del camp Valor
    _id número de seqüència de registre (a la taula SQL)
    key_remote_jid ID de WhatsApp del soci de comunicació
    clau_de_mi direcció del missatge: '0' - entrant, '1' - sortint
    key_id identificador únic del missatge
    estat estat del missatge: '0' - lliurat, '4' - esperant al servidor, '5' - rebut a la destinació, '6' - missatge de control, '13' - missatge obert pel destinatari (llegit)
    necessitat_empènyer té el valor "2" si és un missatge de difusió, en cas contrari conté "0"
    dades text del missatge (quan el paràmetre 'media_wa_type' és '0')
    data i hora conté una marca de temps en format Unix Epoch Time (ms), el valor es pren del rellotge del dispositiu
    media_url conté l'URL del fitxer transferit (quan el paràmetre 'media_wa_type' és '1', '2', '3')
    media_mime_type Tipus MIME del fitxer transferit (quan el paràmetre 'media_wa_type' és igual a '1', '2', '3')
    media_wa_type tipus de missatge: "0" - text, "1" - fitxer gràfic, "2" - fitxer d'àudio, "3" - fitxer de vídeo, "4" - targeta de contacte, "5" - geodades
    media_size mida del fitxer transferit (quan el paràmetre 'media_wa_type' és '1', '2', '3')
    nom_medios nom del fitxer transferit (quan el paràmetre 'media_wa_type' és '1', '2', '3')
    subtítol_media Conté les paraules "àudio", "vídeo" per als valors corresponents del paràmetre "media_wa_type" (quan el paràmetre "media_wa_type" és "1", "3").
    media_hash Hash codificat en base64 del fitxer transmès, calculat mitjançant l'algorisme HAS-256 (quan el paràmetre 'media_wa_type' és igual a '1', '2', '3')
    media_duration durada en segons per al fitxer multimèdia (quan 'media_wa_type' és '1', '2', '3')
    origen té el valor "2" si és un missatge de difusió, en cas contrari conté "0"
    latitud geodades: latitud (quan el paràmetre 'media_wa_type' és '5')
    longitud geodades: longitud (quan el paràmetre 'media_wa_type' és '5')
    imatge_polze informació del servei
    recurs_remot Identificador del remitent (només per a xats de grup)
    segell de temps_rebut hora de recepció, conté una marca de temps en format Unix Epoch Time (ms), el valor es pren del rellotge del dispositiu (quan el paràmetre 'key_from_me' té '0', '-1' o un altre valor)
    send_timestamp no s'utilitza, normalment té el valor '-1'
    marca de temps_del_servidor_de_rebuts temps rebut pel servidor central, conté una marca de temps en format Unix Epoch Time (ms), el valor es pren del rellotge del dispositiu (quan el paràmetre 'key_from_me' té '1', '-1' o un altre valor
    marca de temps_dispositiu_de_rebut quan el missatge ha estat rebut per un altre subscriptor, conté una marca de temps en format Unix Epoch Time (ms), el valor es pren del rellotge del dispositiu (quan el paràmetre "key_from_me" té "1", "-1" o un altre valor).
    read_device_timestamp hora d'obrir (llegir) el missatge, conté una marca de temps en format Unix Epoch Time (ms), el valor es pren del rellotge del dispositiu
    marca de temps_dispositiu_jugat temps de reproducció del missatge, conté una marca de temps en format Unix Epoch Time (ms), el valor es pren del rellotge del dispositiu
    dades en brut miniatura del fitxer transferit (quan el paràmetre 'media_wa_type' és '1' o '3')
    nombre_destinataris nombre de destinataris (per a missatges de difusió)
    participant_hash s'utilitza quan es transmeten missatges amb geodades
    estel·lat no utilitzat
    id_fila_cotades desconegut, normalment conté el valor "0"
    mencionats_jids no utilitzat
    multicast_id no utilitzat
    offset parcialitat

    Aquesta llista de camps no és exhaustiva. Per a diferents versions de WhatsApp, alguns camps poden estar presents o absents. A més, hi poden haver camps 'media_enc_hash', 'edició_versió', 'identificador_de_transacció_de_pagament' etcètera

  • 'missatges_miniatures'
    Aquesta taula conté informació sobre les imatges transferides i les marques de temps. A la columna 'timestamp', l'hora s'indica en format Unix Epoch Time (ms).
  • 'llista_xat'
    Aquesta taula conté informació sobre els xats.

    Aspecte de la taula:

    WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?

A més, quan examineu WhatsApp en un dispositiu mòbil amb Android, haureu de prestar atenció als fitxers següents:

  • expedient 'msgstore.db.cryptXX' (on XX és un o dos dígits del 0 al 12, per exemple, msgstore.db.crypt12). Conté una còpia de seguretat xifrada dels missatges de WhatsApp (fitxer de còpia de seguretat msgstore.db). Fitxers) 'msgstore.db.cryptXX' situat al llarg del camí: '/data/media/0/WhatsApp/Databases/' (targeta SD virtual), '/mnt/sdcard/WhatsApp/Bases de dades/ (targeta SD física)'.
  • expedient 'clau'. Conté una clau criptogràfica. Situat al llarg del camí: '/data/data/com.whatsapp/files/'. S'utilitza per desxifrar còpies de seguretat de WhatsApp xifrades.
  • expedient "com.whatsapp_preferences.xml". Conté informació sobre el perfil del teu compte de WhatsApp. El fitxer es troba al llarg del camí: '/data/data/com.whatsapp/shared_prefs/'.

    Fragment de contingut del fitxer

    <?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> (имя владельца аккаунта)
    … 
  • expedient "registration.RegisterPhone.xml". Conté informació sobre el número de telèfon associat al compte de WhatsApp. El fitxer es troba al llarg del camí: '/data/data/com.whatsapp/shared_prefs/'.

    Contingut del fitxer

    <?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>
  • expedient 'axolotl.db'. Conté claus criptogràfiques i altres dades necessàries per identificar el propietari del compte. Situat al llarg del camí: '/data/data/com.whatsapp/databases/'.
  • expedient 'chatsettings.db'. Conté informació de configuració de l'aplicació.
  • expedient 'wa.db'. Conté dades de contacte. Una base de dades molt interessant (des del vessant forense) i informativa. Pot contenir informació detallada sobre els contactes suprimits.

També heu de parar atenció als directoris següents:

  • Каталог '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Conté fitxers gràfics transferits.
  • Каталог '/data/media/0/WhatsApp/Media/WhatsApp Voice Notes/'. Conté missatges de veu en fitxers de format .OPUS.
  • Каталог '/data/data/com.whatsapp/cache/Profile Pictures/'. Conté fitxers gràfics: imatges de contactes.
  • Каталог '/data/data/com.whatsapp/files/Avatars/'. Conté fitxers gràfics: imatges en miniatura dels contactes. Aquests fitxers tenen una extensió '.j', però són fitxers d'imatge JPEG (JPG).
  • Каталог '/data/data/com.whatsapp/files/Avatars/'. Conté fitxers gràfics: una imatge i una miniatura de la imatge establertes com a avatar pel propietari del compte.
  • Каталог '/data/data/com.whatsapp/files/Logs/'. Conté el registre d'operacions del programa (fitxer 'whatsapp.log') i còpies de seguretat dels registres d'operacions del programa (fitxers amb noms en el format whatsapp-aaaa-mm-dd.1.log.gz).

Fitxers de registre de WhatsApp:

WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?
Fragment de diari2017-01-10 09:37:09.757 LL_I D [524:WhatsApp Worker #1] notificació de trucades perdudes/compte inicial: 0 timestamp:0
2017-01-10 09:37:09.758 LL_I D [524:WhatsApp Worker #1] notificació/actualització de trucades perdudes cancel·la veritable
2017-01-10 09:37:09.768 LL_I D [1:main] app-init/load-me
2017-01-10 09:37:09.772 Falta el fitxer de contrasenya LL_I D [1:main] o no es pot llegir
2017-01-10 09:37:09.782 LL_I D [1:main] statistics Missatges de text: 59 enviats, 82 rebuts / Missatges multimèdia: 1 enviat (0 bytes), 0 rebuts (9850158 bytes) / Missatges fora de línia: 81 rebuts ( 19522 msec de retard mitjà) / Servei de missatges: 116075 bytes enviats, 211729 bytes rebuts / Trucades Voip: 1 trucades sortints, 0 trucades entrants, 2492 bytes enviats, 1530 bytes rebuts / Google Drive: 0 bytes enviats, 0 bytes rebuts / Itinerància: bytes enviats, 1524 bytes rebuts / Dades totals: 1826 bytes enviats, 118567 bytes rebuts
2017-01-10 09:37:09.785 LL_I D [1:principal] 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:principal] msgstore/checkdb/list _jobqueue-WhatsAppJobManager 16384 drw=011
2017-01-10 09:37:09.820 LL_I D [1:principal] 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/versió 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 dedicat: 8
2017-01-10 09:37:09.848 LL_I D [529:WhatsApp Worker #3] media-state-manager/refresh-media-state/internal-stockage available:1,345,622,016 total:5,687,922,688

  • Каталог '/data/media/0/WhatsApp/Media/WhatsApp Audio/'. Conté els fitxers d'àudio rebuts.
  • Каталог '/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/'. Conté fitxers d'àudio enviats.
  • Каталог '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Conté els fitxers gràfics resultants.
  • Каталог '/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/'. Conté fitxers gràfics enviats.
  • Каталог "/data/media/0/WhatsApp/Media/WhatsApp Video/". Conté fitxers de vídeo rebuts.
  • Каталог '/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/'. Conté fitxers de vídeo enviats.
  • Каталог "/data/media/0/WhatsApp/Media/WhatsApp Profile Photos/". Conté fitxers gràfics associats al propietari del compte de WhatsApp.
  • Per estalviar espai de memòria al vostre telèfon intel·ligent Android, algunes dades de WhatsApp es poden emmagatzemar en una targeta SD. A la targeta SD, al directori arrel, hi ha un directori 'Què tal', on es poden trobar els següents artefactes d'aquest programa:

    WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?

  • Каталог '.Compartir' ('/mnt/sdcard/WhatsApp/.Share/'). Conté còpies de fitxers que s'han compartit amb altres usuaris de WhatsApp.
  • Каталог '.trash' ('/mnt/sdcard/WhatsApp/.trash/'). Conté fitxers suprimits.
  • Каталог 'Databases' ('/mnt/sdcard/WhatsApp/Bases de dades/'). Conté còpies de seguretat xifrades. Es poden desxifrar si el fitxer està present 'clau', extret de la memòria del dispositiu analitzat.

    Fitxers situats en un subdirectori 'Databases':

    WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?

  • Каталог 'Mitja' ('/mnt/sdcard/WhatsApp/Media/'). Conté subdirectoris 'Paper fons', 'WhatsApp Audio', "Imatges de WhatsApp", "Fotos de perfil de WhatsApp", "Vídeo de WhatsApp", "Notes de veu de WhatsApp", que contenen fitxers multimèdia rebuts i transmesos (arxius gràfics, fitxers de vídeo, missatges de veu, fotos associades al perfil del propietari del compte de WhatsApp, fons de pantalla).
  • Каталог "Imatges de perfil" ('/mnt/sdcard/WhatsApp/Imatges de perfil/'). Conté fitxers gràfics associats al perfil del propietari del compte de WhatsApp.
  • De vegades pot haver-hi un directori present a la targeta SD 'Fitxers' ('/mnt/sdcard/WhatsApp/Files/'). Aquest directori conté fitxers que emmagatzemen la configuració del programa i les preferències de l'usuari.

Característiques d'emmagatzematge de dades en alguns models de dispositius mòbils

Alguns models de dispositius mòbils amb sistema operatiu Android poden emmagatzemar artefactes de WhatsApp en una ubicació diferent. Això es deu als canvis en l'espai d'emmagatzematge de les dades de l'aplicació pel programari del sistema del dispositiu mòbil. Per exemple, els dispositius mòbils Xiaomi tenen una funció per crear un segon espai de treball ("SecondSpace"). Quan aquesta funció està activada, la ubicació de les dades canvia. Per tant, si en un dispositiu mòbil normal amb sistema operatiu Android, les dades de l'usuari s'emmagatzemen al directori '/data/user/0/' (que és una referència a l'habitual '/data/data/'), a continuació, al segon espai de treball, les dades de l'aplicació s'emmagatzemen al directori '/data/user/10/'. És a dir, utilitzant l'exemple de la ubicació del fitxer 'wa.db':

  • en un telèfon intel·ligent normal amb sistema operatiu Android: /data/user/0/com.whatsapp/databases/wa.db' (que és equivalent '/data/data/com.whatsapp/databases/wa.db');
  • al segon espai de treball del telèfon intel·ligent Xiaomi: '/data/user/10/com.whatsapp/databases/wa.db'.

Artefactes de WhatsApp al dispositiu iOS

A diferència del sistema operatiu Android, a iOS les dades de l'aplicació WhatsApp es transfereixen a una còpia de seguretat (còpia de seguretat d'iTunes). Per tant, extreure dades d'aquesta aplicació no requereix extreure el sistema de fitxers ni crear un abocament de memòria física del dispositiu que s'està investigant. La major part de la informació rellevant es troba a la base de dades 'ChatStorage.sqlite', que es troba al llarg del camí: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/' (en alguns programes aquest camí apareix com "AppDomainGroup-group.net.whatsapp.WhatsApp.shared").

Estructura 'ChatStorage.sqlite':

WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?
Les taules més informatives de la base de dades 'ChatStorage.sqlite' són "ZWAMESSAGE" и "ZWAMEDIAITEM".

Aspecte de la taula "ZWAMESSAGE":

WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?
Estructura de la taula "ZWAMESSAGE"

Nom del camp Valor
Z_PK número de seqüència de registre (a la taula SQL)
Z_ENT identificador de la taula, té el valor "9"
Z_OPT desconegut, normalment conté valors d''1' a '6'
ZCHILDMESSAGESENTREGADESCOUNT desconegut, normalment conté el valor "0"
ZCHILDMESSAGESPLAYEDCOUNT desconegut, normalment conté el valor "0"
ZCHILD MESSAGES READCOUNT desconegut, normalment conté el valor "0"
ZDATAITEMVERSION desconegut, normalment conté el valor "3", probablement un indicador de missatge de text
ZDOCID desconegut
ZENCRETRYCOUNT desconegut, normalment conté el valor "0"
ZFILTEREDRECIPIENTCOUNT desconegut, normalment conté els valors '0', '2', '256'
ZISFROMME direcció del missatge: '0' - entrant, '1' - sortint
ZMESSAGEERRORSTATUS estat de transmissió del missatge. Si el missatge s'envia/reb, té el valor "0"
ZMESSAGETYPE tipus de missatge que es transmet
ZSORT desconegut
ZSPOTLIGHSTATUS desconegut
ZSTARRED desconegut, no utilitzat
SESSIÓ DE XAT desconegut
MEMBRES DEL GRUP Z desconegut, no utilitzat
ÚLTIMA SESSIÓ desconegut
ZMEDIAITEM desconegut
ZMESSAGEINFO desconegut
MISSATGE ZPARENT desconegut, no utilitzat
ZMESSAGEDATE marca de temps en format OS X Epoch Time
ZSENTDATE moment en què es va enviar el missatge en format OS X Epoch Time
ZFROMJID ID del remitent de WhatsApp
ZMEDIASECTIONID conté l'any i el mes en què es va enviar el fitxer multimèdia
ZPHASH desconegut, no utilitzat
ZPUSHPAME nom del contacte que ha enviat el fitxer multimèdia en format UTF-8
ZSTANZID identificador únic del missatge
ZTEXT Text del missatge
ZTOJID ID de WhatsApp del destinatari
OFFSET parcialitat

Aspecte de la taula "ZWAMEDIAITEM":

WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?
Estructura de la taula 'ZWAMEDIAITEM'

Nom del camp Valor
Z_PK número de seqüència de registre (a la taula SQL)
Z_ENT identificador de la taula, té el valor "8"
Z_OPT desconegut, normalment conté valors des d''1' fins a '3'.
ZCLOUDSTATUS conté el valor "4" si el fitxer està carregat.
ZFILESIZE conté la longitud del fitxer (en bytes) dels fitxers descarregats
ZMEDIAORIGIN desconegut, sol tenir el valor '0'
ZMOVIEDURACIÓ durada del fitxer multimèdia, per als fitxers pdf pot contenir el nombre de pàgines del document
MISSATGE Z conté un número de sèrie (el número és diferent del que s'indica a la columna 'Z_PK')
ZASPECTRACIÓ relació d'aspecte, no s'utilitza, normalment s'estableix a '0'
EXACTITUD desconegut, sol tenir el valor '0'
ZLATTITUD amplada en píxels
ZLONGITUD alçada en píxels
ZMEDIAURLDATE marca de temps en format OS X Epoch Time
ZAUTHORNAME autor (per als documents, pot contenir el nom del fitxer)
ZCOLLECTIONNAME no utilitzat
ZMEDIALOCALPATH nom de fitxer (inclòs el camí) al sistema de fitxers del dispositiu
ZMEDIAURL L'URL on es trobava el fitxer multimèdia. Si un fitxer es va transferir d'un subscriptor a un altre, s'ha xifrat i la seva extensió s'indicarà com l'extensió del fitxer transferit - .enc
ZTHUMBNAILLOCALPATH camí a la miniatura del fitxer al sistema de fitxers del dispositiu
ZTITLE capçalera del fitxer
ZVCARDNAME hash del fitxer multimèdia; quan es transfereix un fitxer a un grup, pot contenir l'identificador del remitent
ZVCARDSTRING conté informació sobre el tipus de fitxer que s'està transferint (per exemple, imatge/jpeg); quan es transfereix un fitxer a un grup, pot contenir l'identificador del destinatari
ZXMPPTHUMBPATH camí a la miniatura del fitxer al sistema de fitxers del dispositiu
ZMEDIAKEY desconegut, probablement conté la clau per desxifrar el fitxer xifrat.
ZMETADAT metadades del missatge transmès
Offset parcialitat

Altres taules de bases de dades interessants 'ChatStorage.sqlite' són:

  • "ZWAPROFILEPUSHNAME". Coincideix l'identificador de WhatsApp amb el nom del contacte;
  • "ZWAPROFILEPICTUREITEM". Coincideix amb l'identificador de WhatsApp amb l'avatar de contacte;
  • "Z_PRIMARYKEY". La taula conté informació general sobre aquesta base de dades, com ara el nombre total de missatges emmagatzemats, el nombre total de xats, etc.

A més, quan examineu WhatsApp en un dispositiu mòbil amb iOS, haureu de parar atenció als fitxers següents:

  • expedient "BackedUpKeyValue.sqlite". Conté claus criptogràfiques i altres dades necessàries per identificar el propietari del compte. Situat al llarg del camí: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • expedient 'ContactsV2.sqlite'. Conté informació sobre els contactes de l'usuari, com ara el nom complet, el número de telèfon, l'estat del contacte (en forma de text), l'identificador de WhatsApp, etc. Situat al llarg del camí: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • expedient 'versió_consumidor'. Conté el número de versió de l'aplicació WhatsApp instal·lada. Situat al llarg del camí: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • expedient 'current_wallpaper.jpg'. Conté el fons de pantalla actual de WhatsApp. Situat al llarg del camí: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Les versions anteriors de l'aplicació utilitzen el fitxer 'fons de pantalla', que es troba al llarg del camí: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'.
  • expedient 'blockedcontacts.dat'. Conté informació sobre contactes bloquejats. Situat al llarg del camí: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
  • expedient 'pw.dat'. Conté una contrasenya xifrada. Situat al llarg del camí: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/'.
  • expedient 'net.whatsapp.WhatsApp.plist' (o fitxer "group.net.whatsapp.WhatsApp.shared.plist"). Conté informació sobre el perfil del teu compte de WhatsApp. El fitxer es troba al llarg del camí: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/'.

Contingut del fitxer 'group.net.whatsapp.WhatsApp.shared.plist' WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?
També heu de parar atenció als directoris següents:

  • Каталог '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/'. Conté miniatures de contactes, grups (fitxers amb l'extensió .polze), avatars de contacte, avatar del propietari del compte de WhatsApp (fitxer "Foto.jpg").
  • Каталог '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/'. Conté fitxers multimèdia i les seves miniatures
  • Каталог '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'. Conté el registre d'operacions del programa (fitxer 'calls.log') i còpies de seguretat dels registres d'operacions del programa (fitxer 'calls.backup.log').
  • Каталог '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/'. Conté adhesius (fitxers en format '.webp').
  • Каталог '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/'. Conté registres d'operacions del programa.

Artefactes de WhatsApp a Windows

Els artefactes de WhatsApp a Windows es poden trobar en diversos llocs. En primer lloc, aquests són directoris que contenen fitxers de programes executables i auxiliars (per a Windows 8/10):

  • 'C:Fitxers de programa (x86)WhatsApp'
  • "C:Usuaris%Perfil d'usuari% AppDataLocalWhatsApp"
  • "C:Users%User profile% AppDataLocalVirtualStore Program Files (x86)WhatsApp"

Al catàleg "C:Usuaris%Perfil d'usuari% AppDataLocalWhatsApp" es troba el fitxer de registre 'SquirrelSetup.log', que conté informació sobre com comprovar si hi ha actualitzacions i instal·lar el programa.

Al catàleg "C:Usuaris%Perfil d'usuari% AppDataRoamingWhatsApp" Hi ha diversos subdirectoris:

WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?
expedient 'main-process.log' conté informació sobre el funcionament del programa WhatsApp.

Subdirectori 'bases de dades' conté un fitxer 'Databases.db', però aquest fitxer no conté cap informació sobre xats o contactes.

El més interessant des del punt de vista forense són els fitxers situats al directori 'Caché'. Aquests són bàsicament fitxers amb nom 'f_********' (on * és un número del 0 al 9) que conté fitxers i documents multimèdia xifrats, però també hi ha fitxers no xifrats entre ells. Són especialment interessants els fitxers 'data_0', 'data_1', 'data_2', 'data_3', situat al mateix subdirectori. Fitxers 'data_0', 'data_1', 'data_3' continguin enllaços externs a fitxers i documents multimèdia xifrats transmesos.

Exemple d'informació continguda al fitxer 'data_1'WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?
També arxivar 'data_3' pot contenir fitxers gràfics.

expedient 'data_2' conté avatars de contacte (es pot restaurar cercant per capçaleres de fitxers).

Avatars continguts al fitxer 'data_2':

WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?
Per tant, els xats en si no es poden trobar a la memòria de l'ordinador, però podeu trobar:

  • fitxers multimèdia;
  • documents transmesos per WhatsApp;
  • informació sobre els contactes del propietari del compte.

Artefactes de WhatsApp a MacOS

A MacOS podeu trobar tipus d'artefactes de WhatsApp similars als que es troben al sistema operatiu Windows.

Els fitxers del programa es troben als directoris següents:

  • 'C:ApplicationsWhatsApp.app'
  • "C:Aplicacions._WhatsApp.app"
  • 'C:Users%User profile%LibraryPreferences'
  • 'C:Usuaris%Perfil d'usuari%LibraryLogsWhatsApp'
  • "C:Users%User profile%LibrarySaved Application StateWhatsApp.savedState"
  • "C:Usuaris%Perfil d'usuari%LibraryApplication Scripts"
  • "C:Usuaris%Perfil d'usuari%LibraryApplication SupportCloudDocs"
  • "C:Usuaris%Perfil d'usuari%LibraryApplication SupportWhatsApp.ShipIt"
  • "C:Users%User profile%LibraryContainerscom.rockysandstudio.app-for-whatsapp"
  • "C:Usuaris%Perfil d'usuari% Biblioteca Documents mòbils <variable de text> Comptes de WhatsApp"
    Aquest directori conté subdirectoris els noms dels quals són números de telèfon associats al propietari del compte de WhatsApp.
  • "C:Usuaris%Perfil d'usuari%LibraryCachesWhatsApp.ShipIt"
    Aquest directori conté informació sobre la instal·lació del programa.
  • "C:Users%User profile%PicturesiPhoto Library.photolibraryMasters", "C:Users%User profile%PicturesiPhoto Library.photolibraryThumbnails"
    Aquests directoris contenen fitxers de servei del programa, incloses fotos i miniatures dels contactes de WhatsApp.
  • "C:Usuaris%Perfil d'usuari%LibraryCachesWhatsApp"
    Aquest directori conté diverses bases de dades SQLite que s'utilitzen per a la memòria cau de dades.
  • 'C:Usuaris%Perfil d'usuari%LibraryApplication SupportWhatsApp'
    Aquest directori conté diversos subdirectoris:

    WhatsApp al palmell de la mà: on i com es poden trobar artefactes forenses?
    Al catàleg "C:Usuaris%Perfil d'usuari%LibraryApplication SupportWhatsAppCache" hi ha fitxers 'data_0', 'data_1', 'data_2', 'data_3' i fitxers amb noms 'f_********' (on * és un nombre del 0 al 9). Per obtenir informació sobre quina informació contenen aquests fitxers, consulteu Artefactes de WhatsApp a Windows.

    Al catàleg 'C:Usuaris%Perfil d'usuari%LibraryApplication SupportWhatsAppIndexedDB' pot contenir fitxers multimèdia (els fitxers no tenen extensions).

    expedient 'main-process.log' conté informació sobre el funcionament del programa WhatsApp.

Fonts

  1. Anàlisi forense de WhatsApp Messenger en telèfons intel·ligents Android, per Cosimo Anglano, 2014.
  2. Whatsapp Forensics: Exploració de sistemes i dades de base per a l'aplicació d'Android i iOS d'Ahmad Pratama, 2014.

En els articles següents d'aquesta sèrie:

Desxifrat de bases de dades de WhatsApp xifradesUn article que proporcionarà informació sobre com es genera la clau d'encriptació de WhatsApp i exemples pràctics que mostren com desxifrar les bases de dades xifrades d'aquesta aplicació.
Extracció de dades de WhatsApp de l'emmagatzematge al núvolUn article en què us explicarem quines dades de WhatsApp s'emmagatzemen als núvols i descriurem els mètodes per recuperar aquestes dades dels emmagatzematges al núvol.
Extracció de dades de WhatsApp: exemples pràcticsUn article que descriurà pas a pas quins programes i com extreure dades de WhatsApp de diversos dispositius.

Font: www.habr.com

Afegeix comentari