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

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

Артефакты WhatsApp в Android-устройстве

Для того, чтобы извлечь артефакты WhatsApp из устройства под управлением ОС Android, исследователь должен иметь права суперпользователя (‘root’) на исследуемом устройстве или иметь возможность иным способом извлечь физический дамп памяти устройства, или его файловую систему (например, используя программные уязвимости конкретного мобильного устройства).

Файлы приложения располагаются в памяти телефона в разделе, в котором сохраняются данные пользователя. Как правило, этот раздел носит имя ‘userdata’. Подкаталоги и файлы программы располагаются по пути: ‘/data/data/com.whatsapp/’.

1 1

Основными файлами, которые содержат криминалистические артефакты WhatsApp в ОС Android являются базы данных ‘wa.db’ и ‘msgstore.db’.

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

1 2

Наиболее интересными таблицами в базе данных ‘wa.db’ для исследователя являются:

  • ‘wa_contacts’
    Эта таблица содержит информацию о контактах: id контакта в WhatsApp, информацию о статусе, отображаемое имя пользователя, временные отметки и т.д.

Внешний вид таблицы:

1 3

  • ‘sqlite_sequence’
    Эта таблица содержит информацию о количестве контактов;
  • ‘android_metadata’
    Эта таблица содержит информацию о языковой локализации WhatsApp.

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

1 4

Наиболее интересными таблицами в файле ‘msgstore.db’ для исследователя являются:

  • ‘sqlite_sequence’
    Эта таблица содержит общую информацию об этой базе данных, например, общее число хранимых сообщений, общее число чатов и т.д.

Внешний вид таблицы:

1 5

  • ‘message_fts_content’
    Содержит текст переданных сообщений.

Внешний вид таблицы:

1 6

  • messages’
    Эта таблица содержит такую информацию, как номер контакта, текст сообщения, статус сообщения, временные метки, сведения о переданных файлах, включенных в сообщения.

Внешний вид таблицы:

1 7

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

Внешний вид таблицы:

1 8

Также при исследовании 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/’.
  • Файл ‘registration.RegisterPhone.xml’. Содержит информацию о номере телефона, ассоциированного с аккаунтом WhatsApp. Файл располагается по пути: ‘/data/data/com.whatsapp/shared_prefs/’.
  • Файл ‘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:

1 9

  • Каталог ‘/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’, где могут быть найдены следующие артефакты этой программы:

1 10

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

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

1 11

  • Каталог ‘Media’ (‘/mnt/sdcard/WhatsApp/Media/’). Содержит подкаталоги ‘WallPaper’, ‘WhatsApp Audio’, ‘WhatsApp Images’, ‘WhatsApp Profile Photos’, ‘WhatsApp Video’, 'WhatsApp Voice Notes’, в которых находятся полученные и переданные мультимедиа файлы (графические файлы, видеофайлы, голосовые сообщения, фотографии, ассоциированные с профилем владельца аккаунта WhatsApp, обои).
  • Каталог ‘Profile Pictures’ (‘/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’:

1 12

Наиболее информативными в базе данных ‘ChatStorage.sqlite’ являются таблицы ‘ZWAMESSAGE’ и ‘ZWAMEDIAITEM’.

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

1 13

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

1 14

Другими интересными таблицами базы данных ‘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/’.

Также нужно обращать внимание на следующие каталоги:

  • Каталог ‘/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%\ AppData\Local\WhatsApp\’
  • ‘C:\Users\%User profile%\ AppData\Local\VirtualStore\ Program Files (x86)\WhatsApp\’

В каталоге ‘C:\Users\%User profile%\ AppData\Local\WhatsApp\’ располагается лог-файл ‘SquirrelSetup.log’, в котором находится информация о проверке наличия обновлений и инсталляции программы.

В каталоге ‘C:\Users\%User profile%\ AppData\Roaming\WhatsApp\’ находится несколько подкаталогов:

1 15

Файл ‘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_3’ может содержать графические файлы.

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

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

1 16

Таким образом, в памяти компьютера нельзя найти сами чаты, но можно найти:

  • мультимедиа-файлы;
  • документы, передававшиеся с помощью WhatsApp;
  • информацию о контактах владельца аккаунта.

Артефакты WhatsApp в MacOS

В MacOS можно найти типы артефактов WhatsApp, подобные тем, которые имеются в ОС Windows.

Файлы программы находятся каталогах:

  • ‘C:\Applications\WhatsApp.app\’
  • ‘C:\Applications\._WhatsApp.app\’
  • ‘C:\Users\%User profile%\Library\Preferences\’
  • ‘C:\Users\%User profile%\Library\Logs\WhatsApp\’
  • ‘C:\Users\%User profile%\Library\Saved Application State\WhatsApp.savedState\’
  • ‘C:\Users\%User profile%\Library\Application Scripts\’
  • ‘C:\Users\%User profile%\Library\Application Support\CloudDocs\’
  • ‘C:\Users\%User profile%\Library\Application Support\WhatsApp.ShipIt\’
  • ‘C:\Users\%User profile%\Library\Containers\com.rockysandstudio.app-for-whatsapp\’
  • ‘C:\Users\%User profile%\ Library\ Mobile Documents\ <текстовая переменная> WhatsApp\ Accounts’
    В этом каталоге находятся подкаталоги, имена которых представляют собой номера телефонов, ассоциированных с владельцем аккаунта WhatsApp.
  • ‘C:\Users\%User profile%\Library\Caches\WhatsApp.ShipIt\’
    В этом каталоге содержится информация об инсталляции программы.
  • ‘C:\Users\%User profile%\Pictures\Медиатека iPhoto.photolibrary\Masters\’, ‘C:\Users\%User profile%\Pictures\Медиатека iPhoto.photolibrary\Thumbnails\’
    В этих каталогах содержатся служебные файлы программы и, в том числе, фотографии и миниатюры контактов WhatsApp.
  • ‘C:\Users\%User profile%\Library\Caches\WhatsApp\’
    В этом каталоге находятся несколько SQLite-баз, которые используются для кэширования данных.
  • ‘C:\Users\%User profile%\Library\Application Support\WhatsApp\’
    В этом каталоге находится несколько подкаталогов:

1 17

В каталоге ‘C:\Users\%User profile%\Library\Application Support\WhatsApp\Cache\’ находятся файлы ‘data_0’, ‘data_1’, ‘data_2’, ‘data_3’ и файлы с именами ‘f_*******’ (где * — число от 0 до 9). Информация о том, какие сведения содержат эти файлы, описана в разделе «Артефакты WhatsApp в Windows».

В каталоге ‘C:\Users\%User profile%\Library\Application Support\WhatsApp\IndexedDB\’ могут содержаться мультимедийные файлы (файлы не имеют расширений).

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

Ссылка на источник