WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?

WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?

Искате ли да разберете какви типове криминалистични артефакти на WhatsApp съществуват в различни операционни системи и къде точно могат да бъдат открити — тогава сте на правилното място. Тази статия е написана от специалист от Лабораторията по компютърна криминалистика на Group-IB. Игор Михайлов открива серия публикации за криминалистичното изследване на WhatsApp и за това каква информация може да бъде получена при анализа на устройството.

Веднага отбелязваме, че в различни операционни системи се съхраняват различни типове артефакти на WhatsApp, и ако от едно устройство изследователят може да извлече определени типове данни на WhatsApp, това съвсем не означава, че подобни типове данни могат да бъдат извлечени и от друго устройство. Например, ако бъде конфискуван настолен компютър, работещ с ОС Windows, вероятно на неговите дискове няма да бъдат открити чатове на WhatsApp (изключение правят резервните копия на устройства с iOS, които могат да бъдат открити на същите тези носители). При изземване на лаптопи и мобилни устройства ще има свои особености. Нека поговорим за това по-подробно.

Артефакти на WhatsApp в устройство с Android

За да извлече артефактите на WhatsApp от устройство с операционна система Android, изследователят трябва да има права на суперпотребител ('root') на изследваното устройство или да има възможност по друг начин да извлече физически дъмп на паметта на устройството или неговата файлова система (например, чрез използване на програмни уязвимости на конкретно мобилно устройство).

файловете на приложението се намират в паметта на телефона в раздела, в който се съхраняват данните на потребителя. Обикновено този раздел носи името 'userdata'. Подкаталогите и файловете на програмата се намират по пътя: '/data/data/com.whatsapp/'.

WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?
Основните файлове, които съдържат криминалистични артефакти на WhatsApp в ОС Android, са базите данни 'wa.db' и 'msgstore.db'.

В базата данни 'wa.db' се съдържа пълен списък на контактите на потребителя на WhatsApp, включително номер на телефона, показвано име, времеви марки и всяка друга информация, посочена при регистрация в WhatsApp. Файлът 'wa.db' се намира по пътя: '/data/data/com.whatsapp/databases/' и има следната структура:

WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?
Най-интерсните таблици в базата данни 'wa.db' за изследователя са:

  • 'wa_contacts'
    Тази таблица съдържа информация за контактите: ID на контакта в WhatsApp, информация за статус, показвано име на потребителя, времеви марки и т.н.

    Визия на таблицата:

    WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?
    Структура на таблицата

    Име на полетоСтойност
    _idпореден номер на записа (в SQL таблицата)
    jidWhatsApp ID на контакта, записва се в формат @s.whatsapp.net
    is_whatsapp_userсъдържа '1', ако контактуващият е действителен потребител на WhatsApp, '0' в противен случай
    статуссъдържа текст, показван в статуса на контакта
    status_timestampсъдържа времева отметка в формат Unix Epoch Time (ms)
    numberномер на телефона, асоцииран с контакта
    raw_contact_idпореден номер на контакта
    display_nameпоказвано име на контакта
    phone_typeтип на телефона
    phone_labelетикет, асоцииран с номера на контакта
    unseen_msg_countброй съобщения, които са били изпратени от контакта, но не са били прочетени от получателя
    photo_tsсъдържа времева отметка в формат Unix Epoch Time
    thumb_tsсъдържа времева отметка в формат Unix Epoch Time
    photo_id_timestampсъдържа времева отметка в формат Unix Epoch Time (ms)
    given_nameстойността на полето съвпада с 'display_name' за всеки контакт
    wa_nameиме на контакта в WhatsApp (показва се името, зададено в профила на контакта)
    sort_nameиме на контакта, използвано в операции за сортиране
    nicknameник на контакта в WhatsApp (показва се никът, зададен в профила на контакта)
    companyкомпания (показва се компанията, зададена в профила на контакта)
    titleобръщение (госпожа/господин; показва се обръщението, настроено в профила на контакта)
    offsetизместване
  • 'sqlite_sequence'
    Тази таблица съдържа информация за броя на контактите;
  • 'android_metadata'
    Тази таблица съдържа информация за езиковата локализация на WhatsApp.

В базата данни 'msgstore.db' съдържа информация за предадени съобщения, като номер на контакта, текст на съобщението, статус на съобщението, времеви марки, информация за предадените файлове, включени в съобщенията, и т.н. Файл 'msgstore.db' се намира по пътя: '/data/data/com.whatsapp/databases/' и има следната структура:

WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?
Най-интерсните таблици в файла 'msgstore.db' за изследователя са:

  • 'sqlite_sequence'
    Тази таблица съдържа обща информация за тази база данни, например, общия брой на съхранените съобщения, общия брой на чатове и т.н.

    Визия на таблицата:

    WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?

  • 'message_fts_content'
    Съдържа текста на предадените съобщения.

    Визия на таблицата:

    WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?

  • 'messages'
    Тази таблица съдържа информация, като номер на контакта, текст на съобщението, статус на съобщението, времеви марки, информация за предадените файлове, включени в съобщенията.

    Визия на таблицата:

    WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?
    Структура на таблицата

    Име на полетоСтойност
    _idпореден номер на записа (в SQL таблицата)
    key_remote_jidWhatsApp ID на партньора по комуникацията
    key_from_meпосока на съобщението: '0' – входящо, '1' — изходящо
    key_idуникален идентификатор на съобщението
    статусстатус на съобщението: ‘0’ – доставено, ‘4’ – чака на сървър, ‘5’ – получено на място, ‘6’ – контролно съобщение, ‘13’ – съобщението е отворено от получателя (прочетено)
    need_pushима значение ‘2’, ако това е широковещателно съобщение, в противен случай съдържа ‘0’
    dataтекст на съобщението (когато параметърът ‘media_wa_type’ е равен на ‘0’)
    timestampсодържа времева маркировка във формат Unix Epoch Time (ms), стойността се взема от часовника на устройството
    media_urlсодържа URL на предавания файл (когато параметърът ‘media_wa_type’ е равен на ‘1’, ‘2’, ‘3’)
    media_mime_typeMIME тип на предавания файл (когато параметърът ‘media_wa_type’ е равен на ‘1’, ‘2’, ‘3’)
    media_wa_typeтип на съобщението: ‘0’ – текст, ‘1’ – графичен файл, ‘2’ – аудио файл, ‘3’ – видео файл, ‘4’ – контактна карта, ‘5’ – геоданни
    media_sizeразмер на предавания файл (когато параметърът ‘media_wa_type’ е равен на ‘1’, ‘2’, ‘3’)
    media_nameиме на предавания файл (когато параметърът ‘media_wa_type’ е равен на ‘1’, ‘2’, ‘3’)
    media_captionсодържа думите ‘audio’, ‘video’ за съответните стойности на параметъра ‘media_wa_type’ (когато параметърът ‘media_wa_type’ е равен на ‘1’, ‘3’)
    media_hashкодирано в base64 хеш на предавания файл, изчислен с алгоритъма HAS-256 (когато параметърът ‘media_wa_type’ е равен на ‘1’, ‘2’, ‘3’)
    media_durationпродължителност в секунди за медийния файл (когато параметърът ‘media_wa_type’ е равен на ‘1’, ‘2’, ‘3’)
    originима значение ‘2’, ако това е широковещателно съобщение, в противен случай съдържа ‘0’
    latitudeгеоданни: ширина (когато параметърът ‘media_wa_type’ е равен на ‘5’)
    longitudeгеоданни: дължина (когато параметът ‘media_wa_type’ е равен на ‘5’)
    thumb_imageслужебна информация
    remote_recourceID на подателя (само за групови чатове)
    received_timestampвреме на получаване, съдържа времева маркировка във формат Unix Epoch Time (ms), стойността се взема от часовника на устройството (когато параметърът ‘key_from_me’ е ‘0’, ‘-1’ или друга стойност)
    send_timestampне се използва, обикновено има стойност ‘-1’
    receipt_server_timestampвреме на получаване от централния сървъра., съдържа времева маркировка във формат Unix Epoch Time (ms), стойността се взема от часовника на устройството (когато параметърът ‘key_from_me’ е ‘1’, ‘-1’ или друга стойност
    receipt_device_timestampвреме на получаване на съобщението от друг абонат, съдържа времева маркировка във формат Unix Epoch Time (ms), стойността се взема от часовника на устройството (когато параметърът ‘key_from_me’ е ‘1’, ‘-1’ или друга стойност
    read_device_timestampвреме на отваряне (четене) на съобщението, съдържа времеви печат в формат Unix Epoch Time (ms), стойността се взима от часовника на устройството
    played_device_timestampвреме на възпроизвеждане на съобщението, съдържа времеви печат в формат Unix Epoch Time (ms), стойността се взима от часовника на устройството
    raw_dataминиатюра на предавания файл (когато параметърът ‘media_wa_type’ е равен на ‘1’ или ‘3’)
    recipient_countброя на получателите (за широкоспектърни съобщения)
    participant_hashизползва се при предаване на съобщения с геоданни
    starredне се използва
    quoted_row_idнеизвестно, обикновено съдържа стойност ‘0’
    mentioned_jidsне се използва
    multicast_idне се използва
    offsetизместване

    Този списък с полета не е изчерпателен. За различни версии на WhatsApp, част от полетата може да присъстват или отсъстват. Допълнително може да присъстват полета ‘media_enc_hash’, ‘edit_version’, ‘payment_transaction_id’ и т.н.

  • ‘messages_thumbnails’
    Тази таблица съдържа информация за предадените изображения и времеви печати. В колоната ‘timestamp’ времето е указано в формат Unix Epoch Time (ms).
  • ‘chat_list’
    Тази таблица съдържа информация за чатове.

    Визия на таблицата:

    WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?

Също така, при проучване на WhatsApp на мобилно устройство с Android, трябва да се обърне внимание на следните файлове:

  • Файл ‘msgstore.db.cryptXX’ (където XX – едно или две цифри от 0 до 12, например, msgstore.db.crypt12). Съдържа криптирана резервна копия на съобщенията на WhatsApp (резервната копия на файла msgstore.db). Файлът (или файловете) ‘msgstore.db.cryptXX’ се намира по пътя: ‘/data/media/0/WhatsApp/Databases/’ (виртуална SD-карта), ‘/mnt/sdcard/WhatsApp/Databases/ (физическа SD-карта)’.
  • Файл ‘key’. Съдържа криптографски ключ. Намира се на пътя: ‘/data/data/com.whatsapp/files/’. Използва се за декриптиране на криптираните резервни копия на WhatsApp.
  • Файл ‘com.whatsapp_preferences.xml’. Съдържа информация за профила на WhatsApp акаунта. Файлът се намира на пътя: ‘/data/data/com.whatsapp/shared_prefs/’.

    Фрагмент от съдържанието на файла

    …
    9123456789 (номер на телефона, асоцииран с WhatsApp акаунта)
    …
    2.17.395 (версия на WhatsApp)
    …
    Hey there! I am using WhatsApp. (съобщение, показващо се в статуса на акаунта)
    …
    Alex (име на собственика на акаунта)
    … 
  • Файл ‘registration.RegisterPhone.xml’. Съдържа информация за номера на телефона, асоцииран с WhatsApp акаунта. Файлът се намира на пътя: ‘/data/data/com.whatsapp/shared_prefs/’.

    Съдържанието на файла

    
    9123456789
    
    
    912 345-67-89
    
    7
    7
    
  • Файл ‘axolotl.db’. Съдържа криптографски ключове и други данни, необходими за идентификация на собственика на акаунта. Намира се на пътя: '/data/data/com.whatsapp/databases/'.
  • Файл ‘chatsettings.db’. Съдържа информация за конфигурацията на приложението.
  • Файл 'wa.db'. Съдържа детайли на контактите. Много интересна (в криминалистичен аспект) и информативна база данни. В нея могат да се намерят подробна информация за изтритите контакти.

Също така е необходимо да се обърне внимание на следните директории:

  • Директория '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Съдържа предадени графични файлове.
  • Директория '/data/media/0/WhatsApp/Media/WhatsApp Voice Notes/'. Съдържа гласови съобщения в .OPUS файлове.
  • Директория '/data/data/com.whatsapp/cache/Profile Pictures/'. Съдържа графични файлове – изображения на контактите.
  • Директория '/data/data/com.whatsapp/files/Avatars/'. Съдържа графични файлове – миниатюри на изображенията на контактите. Тези файлове имат разширение '.j', но, въпреки това, са графични файлове формата JPEG (JPG).
  • Директория '/data/data/com.whatsapp/files/Avatars/'. Съдържа графични файлове – изображение и миниатюра на изображението, зададено като аватар от собственика на акаунта.
  • Директория '/data/data/com.whatsapp/files/Logs/'. Съдържа журнал на работата на програмата (файл 'whatsapp.log') и резервни копия на журналите на работата на програмата (файлове с имена форматирани като whatsapp-гггг-мм-дд.1.log.gz).

Файлове на журналите на WhatsApp:

WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?
Фрагмент от журнала2017-01-10 09:37:09.757 LL_I D [524:WhatsApp Worker #1] missedcallnotification/init count:0 timestamp:0
2017-01-10 09:37:09.758 LL_I D [524:WhatsApp Worker #1] missedcallnotification/update cancel true
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] файл с пароли липсва или е нечетим
2017-01-10 09:37:09.782 LL_I D [1:main] статистика Текстови съобщения: 59 изпратени, 82 получени / Медиен съобщения: 1 изпратени (0 байта), 0 получени (9850158 байта) / Офлайн съобщения: 81 получени (19522 мс средно закъснение) / Услуга за съобщения: 116075 байта изпратени, 211729 байта получени / Voip обаждания: 1 изходящо обаждане, 0 входящи обаждания, 2492 байта изпратени, 1530 байта получени / Google Drive: 0 байта изпратени, 0 байта получени / Роуминг: 1524 байта изпратени, 1826 байта получени / Общо данни: 118567 байта изпратени, 10063417 байта получени
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 | 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

  • Директория ‘/data/media/0/WhatsApp/Media/WhatsApp Audio/’. Съдържа получените аудиофайлове.
  • Директория ‘/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/’. Съдържа изпратените аудиофайлове.
  • Директория '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Съдържа получените графични файлове.
  • Директория ‘/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/’. Съдържа изпратените графични файлове.
  • Директория ‘/data/media/0/WhatsApp/Media/WhatsApp Video/’. Съдържа получените видеофайлове.
  • Директория ‘/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/’. Съдържа изпратените видеофайлове.
  • Директория ‘/data/media/0/WhatsApp/Media/WhatsApp Profile Photos/’. Съдържа графични файлове, свързани с притежателя на акаунта WhatsApp.
  • За спестяване на място в паметта на Android смартфона, част от данните на WhatsApp могат да се съхраняват на SD картата. На SD картата, в основната директория, се намира директория ‘WhatsApp’, където могат да бъдат намерени следните артефакти от програмата:

    WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?

  • Директория ‘.Share’ (‘/mnt/sdcard/WhatsApp/.Share/’). Съдържа копия на файлове, които са били изпратени на други потребители на WhatsApp.
  • Директория ‘.trash’ (‘/mnt/sdcard/WhatsApp/.trash/’). Съдържа изтрити файлове.
  • Директория ‘Databases’ (‘/mnt/sdcard/WhatsApp/Databases/’). Съдържа криптирани резервни копия. Те могат да бъдат декриптирани при наличие на файл ‘key’, извлечен от паметта на анализираното устройство.

    Файловете, намиращи се в подкаталога ‘Databases’:

    WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?

  • Директория ‘Медия’ (‘/mnt/sdcard/WhatsApp/Media/’). Съдържа подкаталози ‘WallPaper’, ‘WhatsApp Аудио’, ‘WhatsApp Снимки’, ‘WhatsApp Профилни Снимки’, ‘WhatsApp Видеа’, ‘WhatsApp Гласови съобщения’, в които се намират получените и изпратени мултимедийни файлове (графични файлове, видеофайлове, гласови съобщения, снимки, асоциирани с профила на собственика на WhatsApp акаунта, тапети).
  • Директория ‘Профилни Снимки’ (‘/mnt/sdcard/WhatsApp/Profile Pictures/’). Съдържа графични файлове, асоциирани с профила на собственика на WhatsApp акаунта.
  • Понякога на SD карта може да присъства каталог ‘files’ (‘/mnt/sdcard/WhatsApp/Files/’). В този каталог се съдържат файлове, в които се съхраняват настройки на програмата и предпочитания на потребителя.

Характеристики на съхранение на данни в някои модели мобилни устройства

В някои модели мобилни устройства с Android е възможно съхранение на артефакти на WhatsApp на друго място. Това се дължи на промените в пространството за съхранение на данни на приложенията, наложени от системния софтуер на мобилното устройство. Например, в мобилни устройства на Xiaomi има функция за създаване на второ работно пространство („SecondSpace“). При активиране на тази функция местоположението на данните се променя. Така, ако в стандартно мобилно устройство с Android данните на потребителя се съхраняват в каталога ‘/data/user/0/’ (което е свързано с обичайните ‘/data/data/’), то във второто работно пространство данните на приложенията се съхраняват в каталога ‘/data/user/10/’. Тоест, на примера с местоположението на файла 'wa.db':

  • в стандартен смартфон с Android: /data/user/0/com.whatsapp/databases/wa.db’ (което е еквивалентно на ‘/data/data/com.whatsapp/databases/wa.db’);
  • в второто работно пространство на смартфона Xiaomi: ‘/data/user/10/com.whatsapp/databases/wa.db’.

Артефакти на WhatsApp в iOS устройство

В отличие от Android, в iOS данните на приложението WhatsApp се предават в резервно копие (iTunes backup). Следователно, извличането на данни от това приложение не изисква извличане на файловата система или създаване на физически дамп на паметта на изследваното устройство. По-голямата част от значимата информация се съдържа в базата данни ‘ChatStorage.sqlite’, която се намира на пътя: ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/’ (в някои програми този път се показва като ‘AppDomainGroup-group.net.whatsapp.WhatsApp.shared’).

Структура ‘ChatStorage.sqlite’:

WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?
Най-информативни в базата данни ‘ChatStorage.sqlite’ са таблиците ‘ZWAMESSAGE’ и ‘ZWAMEDIAITEM’.

Външен вид на таблицата ‘ZWAMESSAGE’:

WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?
Структура на таблицата 'ZWAMESSAGE'

Име на полетоСтойност
Z_PKпореден номер на записа (в SQL таблицата)
Z_ENTидентификатор на таблицата, има значение '9'
Z_OPTнеизвестно, обикновено съдържа стойности от '1' до '6'
ZCHILDMESSAGESDELIVEREDCOUNTнеизвестно, обикновено съдържа стойност ‘0’
ZCHILDMESSAGESPLAYEDCOUNTнеизвестно, обикновено съдържа стойност ‘0’
ZCHILDMESSAGESREADCOUNTнеизвестно, обикновено съдържа стойност ‘0’
ZDATAITEMVERSIONнеизвестно, обикновено съдържа стойност '3', вероятно е указател на текстово съобщение
ZDOCIDнеизвестно
ZENCRETRYCOUNTнеизвестно, обикновено съдържа стойност ‘0’
ZFILTEREDRECIPIENTCOUNTнеизвестно, обикновено съдържа стойности '0', '2', '256'
ZISFROMMEпосока на съобщението: '0' – входящо, '1' — изходящо
ZMESSAGEERRORSTATUSстатус на предаване на съобщение. Ако съобщението е изпратено/получено, то има стойност '0'
ZMESSAGETYPEтип на предавано съобщение
ZSORTнеизвестно
ZSPOTLIGHSTATUSнеизвестно
ZSTARREDнеизвестно, не се използва
ZCHATSESSIONнеизвестно
ZGROUPMEMBERнеизвестно, не се използва
ZLASTSESSIONнеизвестно
ZMEDIAITEMнеизвестно
ZMESSAGEINFOнеизвестно
ZPARENTMESSAGEнеизвестно, не се използва
ZMESSAGEDATEвремева отметка в OS X Epoch Time формат
ZSENTDATEвреме на изпращане на съобщение в OS X Epoch Time формат
ZFROMJIDWhatsApp ID на изпращача
ZMEDIASECTIONIDсъдържа година и месец на изпращане на медийния файл
ZPHASHнеизвестно, не се използва
ZPUSHPAMEиме на контакта, изпратило медийния файл в UTF-8 формат
ZSTANZIDуникален идентификатор на съобщението
ZTEXTтекст на съобщение
ZTOJIDWhatsApp ID на получателя
CHECKSUM_AGGизместване

Външен вид на таблицата ‘ZWAMEDIAITEM’:

WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?
Структура на таблицата 'ZWAMEDIAITEM'

Име на полетоСтойност
Z_PKпореден номер на записа (в SQL таблицата)
Z_ENTидентификатор на таблицата, има значение '8'
Z_OPTнеизвестно, обикновено съдържа стойности от '1' до '3'.
ZCLOUDSTATUSсъдържа стойност '4', ако файлът е качен.
ZFILESIZEсъдържа дължина на файла (в байтове) за качени файлове
ZMEDIAORIGINнеизвестно, обикновено има стойност '0'
ZMOVIEDURATIONдлъжина на медийния файл, за pdf файлове може да съдържа брой страници на документа
ZMESSAGEсъдържа пореден номер (номерът се различава от този, указан в колонката 'Z_PK')
ZASPECTRATIOсъотношение на страните, не се използва, обикновено има стойност '0'
ZHACCURACYнеизвестно, обикновено има стойност '0'
ZLATTITUDEширина в пиксели
ZLONGTITUDEвисочина в пиксели
ZMEDIAURLDATEвремева отметка в OS X Epoch Time формат
ZAUTHORNAMEавтор (за документи, може да съдържа името на файла)
ZCOLLECTIONNAMEне се използва
ZMEDIALOCALPATHиме на файл (с указан път) в файловата система на устройството
ZMEDIAURLURL, на който се е намирал медийният файл. Ако файлът е предаван от един абонат на друг, той е криптиран, а разширението му ще бъде показано като разширение на предаваните файлове — .enc
ZTHUMBNAILLOCALPATHпът до миниатюрата на файла в файловата система на устройството
ZTITLEзаглавие на файла
ZVCARDNAMEхеш на медийния файл, при предаване на файл в група може да съдържа идентификатор на изпращача
ZVCARDSTRINGсъдържа информация за типа на предавания файл (например, image/jpeg), при предаване на файл в група може да съдържа идентификатор на получателя
ZXMPPTHUMBPATHпът до миниатюрата на файла в файловата система на устройството
ZMEDIAKEYнеизвестно, вероятно, съдържа ключ за дешифриране на криптирания файл.
ZMETADATAметаданни на предаваното съобщение
Offsetизместване

Други интересни таблици в базата данни ‘ChatStorage.sqlite’ са:

  • ‘ZWAPROFILEPUSHNAME’. Съответства WhatsApp ID с името на контакта;
  • ‘ZWAPROFILEPICTUREITEM’. Съответства WhatsApp ID с аватара на контакта;
  • ‘Z_PRIMARYKEY’. Таблицата съдържа обща информация за тази база данни, като общия брой на съхраняваните съобщения, общия брой на чатове и т.н.

Също така при изследване на WhatsApp на мобилно устройство с iOS е необходимо да се обърне внимание на следните файлове:

  • Файл ‘BackedUpKeyValue.sqlite’. Съдържа криптографски ключове и други данни, необходими за идентификация на собственика на акаунта. Намира се на пътя: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Файл ‘ContactsV2.sqlite’. Съдържа информация за контактите на потребителя, като име, телефонен номер, статус на контакта (в текстов вид), WhatsApp ID и т.н. Намира се на пътя: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Файл ‘consumer_version’. Съдържа версията на инсталираното приложение WhatsApp. Намира се на пътя: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
  • Файл ‘current_wallpaper.jpg’. Съдържа текущите фонови стени на WhatsApp. Намира се на пътя: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. В по-старите версии на приложението се използва файл ‘wallpaper’, който се намира на пътя: ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/’.
  • Файл ‘blockedcontacts.dat’. Съдържа информация за блокираните контакти. Намира се на пътя: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
  • Файл ‘pw.dat’. Съдържа криптирана парола. Намира се на пътя: ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/’.
  • Файл ‘net.whatsapp.WhatsApp.plist’ (или файл ‘group.net.whatsapp.WhatsApp.shared.plist’). Съдържа информация за профила в WhatsApp. Файлът се намира на пътя: ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/’.

Съдържанието на файла ‘group.net.whatsapp.WhatsApp.shared.plist’ WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?
Също така е необходимо да се обърне внимание на следните директории:

  • Директория ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/’. Съдържа миниатюри на контакти, групи (файлове с разширение .thumb), аватари на контакти, аватар на собственика на WhatsApp профила (файл ‘Photo.jpg’).
  • Директория ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/’. Съдържа мултимедийни файлове и техните миниатюри
  • Директория ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/’. Съдържа журнал на работата на приложението (файл ‘calls.log’) и резервни копия на журналите на работата на приложението (файл ‘calls.backup.log’).
  • Директория ‘/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/’. Съдържа стикери (файлове в формат ‘.webp’).
  • Директория ‘/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/’. Съдържа журналите на работата на приложението.

Артефакти на WhatsApp в Windows

Артефактите на WhatsApp в Windows могат да бъдат намерени на няколко места. Първо, това са директориите, съдържащи изпълними и помощни файлове на приложението (за Windows 8/10):

  • ‘C:Program Files (x86)WhatsApp’
  • ‘C:Users%User profile% AppDataLocalWhatsApp’
  • ‘C:Users%User profile% AppDataLocalVirtualStore Program Files (x86)WhatsApp’

В директорията ‘C:Users%User profile% AppDataLocalWhatsApp’ намира се лог файл ‘SquirrelSetup.log’, в който се съдържа информация за проверка на наличието на актуализации и инсталация на програмата.

В директорията ‘C:Users%User profile% AppDataRoamingWhatsApp’ съдържа няколко подкаталога:

WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?
Файл ‘main-process.log’ съдържа информация за работата на програмата WhatsApp.

Подкаталог ‘databases’ съдържа файла ‘Databases.db’, но този файл не съдържа никаква информация за чатове или контакти.

Най-интересни от криминалистична гледна точка са файловете, намиращи се в каталога ‘Cache’. Основно това са файлове с имена ‘f_*******’ (където * — число от 0 до 9), съдържащи криптирани мултимедийни файлове и документи, но между тях се срещат и некриптирани файлове. Особен интерес представляват файловете ‘data_0’, ‘data_1’, ‘data_2’, ‘data_3’, намиращи се в този подкаталог. Файловете ‘data_0’, ‘data_1’, ‘data_3’ съдържат външни връзки към предавани криптирани мултимедийни файлове и документи.

Пример за информация, съдържаща се в файла ‘data_1’WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?
Също така файлът ‘data_3’ може да съдържа графични файлове.

Файл ‘data_2’ съдържа аватари на контактите (могат да бъдат възстановени чрез търсене по заглавията на файловете).

Аватарите, съдържащи се в файла ‘data_2’:

WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?
Така в паметта на компютъра не могат да бъдат намерени самите чатове, но могат да бъдат намерени:

  • мултимедийни файлове;
  • документи, предавани чрез WhatsApp;
  • информация за контактите на собственика на акаунта.

Артефакти на WhatsApp в MacOS

В MacOS могат да бъдат намерени типове артефакти на WhatsApp, подобни на тези, които съществуват в операционната система Windows.

Файловете на програмата се намират в каталозите:

  • ‘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’
    В този каталог се намират подкаталози, имената на които представляват телефонни номера, асоциирани с притежателя на акаунта в WhatsApp.
  • ‘C:Users%User profile%LibraryCachesWhatsApp.ShipIt’
    В този каталог се съдържа информация за инсталацията на програмата.
  • ‘C:Users%User profile%PicturesМедиатека iPhoto.photolibraryMasters’, ‘C:Users%User profile%PicturesМедиатека iPhoto.photolibraryThumbnails’
    В тези каталози се съдържат служебни файлове на програмата, включително снимки и миниатюри на контакти в WhatsApp.
  • ‘C:Users%User profile%LibraryCachesWhatsApp’
    В този каталог се намират няколко SQLite бази, които се използват за кеширане на данни.
  • ‘C:Users%User profile%LibraryApplication SupportWhatsApp’
    В този каталог има няколко подкаталога:

    WhatsApp в дланта: къде и как могат да бъдат открити криминалистически артефакти?
    В директорията ‘C:Users%User profile%LibraryApplication SupportWhatsAppCache’ съдържат файлове ‘data_0’, ‘data_1’, ‘data_2’, ‘data_3’ и файлове с имена ‘f_*******’ (където * — число от 0 до 9). Информация относно съдържанието на тези файлове е описана в раздела „Артефакти на WhatsApp в Windows“.

    В директорията ‘C:Users%User profile%LibraryApplication SupportWhatsAppIndexedDB’ могат да съдържат мултимедийни файлове (файловете нямат разширения).

    Файл ‘main-process.log’ съдържа информация за работата на програмата WhatsApp.

Източници

  1. Съдебно анализиране на WhatsApp Messenger на Android смартфони, от Косимо Англано, 2014.
  2. Форензични изследвания на WhatsApp: Изследване на файловата система и базите данни на приложенията Android и iOS от Ахмад Пратама, 2014.

В следващите статии от тази серия:

Дешифриране на криптирани бази на WhatsAppСтатия, в която ще бъде представена информация за начина на генериране на ключа за криптиране на WhatsApp и ще бъдат дадени практически примери, показващи как да се извърши дешифрирането на криптираните бази на това приложение.
Извличане на данни от WhatsApp от облачни хранилищаСтатия, в която ще разкажем какви данни на WhatsApp се съхраняват в облака и ще опишем методите за извличане на тези данни от облачните хранилища.
Извличане на данни от WhatsApp: практически примериСтатия, в която ще бъде описано стъпка по стъпка какви програми и как да извлечете данните от WhatsApp от различни устройства.

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster