WhatsApp на ладони: где и как можно обнаружить криминалистические артефакты?
Хотите узнать, какие типы криминалистических артефактов WhatsApp существуют в различных операционных системах и где именно они могут быть обнаружены — тогда вам сюда. Этой статьей специалист Лаборатории компьютерной криминалистики Group-IB Игорь Михайлов открывает серию публикаций о криминалистическом исследовании WhatsApp и о том, какие сведения можно получить при анализе устройства.
Сразу отметим, что в разных операционных системах хранятся различные типы артефактов WhatsApp, и если из одного устройства исследователь может извлечь определенные типы данных WhatsApp, это совсем не означает, что подобные типы данных можно извлечь из другого устройства. Например, если изымается системный блок под управлением ОС Windows, то на его дисках, вероятно, не будут обнаружены чаты WhatsApp (исключение составляют резервные копии iOS-устройств, которые могут быть обнаружены на этих же накопителях). При изъятии ноутбуков и мобильных устройств будут свои особенности. Поговорим об этом поподробнее.
Артефакты WhatsApp в Android-устройстве
Для того, чтобы извлечь артефакты WhatsApp из устройства под управлением ОС Android, исследователь должен иметь права суперпользователя (‘root’) на исследуемом устройстве или иметь возможность иным способом извлечь физический дамп памяти устройства, или его файловую систему (например, используя программные уязвимости конкретного мобильного устройства).
Файлы приложения располагаются в памяти телефона в разделе, в котором сохраняются данные пользователя. Как правило, этот раздел носит имя ‘userdata’. Подкаталоги и файлы программы располагаются по пути: ‘/data/data/com.whatsapp/’.
Основными файлами, которые содержат криминалистические артефакты WhatsApp в ОС Android являются базы данных ‘wa.db’ и ‘msgstore.db’.
В базе данных ‘wa.db’ содержится полный список контактов пользователя WhatsApp, включая номер телефона, отображаемое имя, временные метки и любую другую информацию, указанную при регистрации в WhatsApp. Файл ‘wa.db’ располагается по пути: ‘/data/data/com.whatsapp/databases/’ и имеет следующую структуру:
Наиболее интересными таблицами в базе данных ‘wa.db’ для исследователя являются:
-
‘wa_contacts’
Эта таблица содержит информацию о контактах: id контакта в WhatsApp, информацию о статусе, отображаемое имя пользователя, временные отметки и т.д.
Внешний вид таблицы:
Имя поля | Значение |
---|---|
_id | порядковый номер записи (в SQL таблице) |
jid | WhatsApp ID контакта, записывается в формате <номер телефона>@s.whatsapp.net |
is_whatsapp_user | содержит ‘1’ если контакту соответствует фактический пользователь WhatsApp, ‘0’ в ином случае |
status | содержит текст, отображаемый в статусе контакта |
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 | смещение |
Наиболее интересными таблицами в файле ‘msgstore.db’ для исследователя являются:
-
‘sqlite_sequence’
Эта таблица содержит общую информацию об этой базе данных, например, общее число хранимых сообщений, общее число чатов и т.д.
Внешний вид таблицы:
Внешний вид таблицы:
Внешний вид таблицы:
Имя поля | Значение |
---|---|
_id | порядковый номер записи (в SQL таблице) |
key_remote_jid | WhatsApp ID партнера по коммуникации |
key_from_me | направление сообщения: ‘0’ – входящее, ‘1’ — исходящее |
key_id | уникальный идентификатор сообщения |
status | статус сообщения: ‘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_type | MIME-тип передаваемого файла (когда параметр ‘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_recource | ID отправителя (только для групповых чатов) |
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 | смещение |
Внешний вид таблицы:
- Файл ‘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/’.
- Каталог ‘/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).
- Каталог ‘/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’, где могут быть найдены следующие артефакты этой программы:
Файлы, находящиеся в подкаталоге ‘Databases’:
Особенности хранения данных в некоторых моделях мобильных устройств
В некоторых моделях мобильных устройств под управлением ОС 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’:
Наиболее информативными в базе данных ‘ChatStorage.sqlite’ являются таблицы ‘ZWAMESSAGE’ и ‘ZWAMEDIAITEM’.
Внешний вид таблицы ‘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 |
ZFROMJID | WhatsApp ID отправителя |
ZMEDIASECTIONID | содержит год и месяц отправки медиафайла |
ZPHASH | неизвестно, не используется |
ZPUSHPAME | имя контакта отправившего медиафайл в формате UTF-8 |
ZSTANZID | уникальный идентификатор сообщения |
ZTEXT | текст сообщения |
ZTOJID | WhatsApp ID получателя |
OFFSET | смещение |
Внешний вид таблицы ‘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 | имя файла (с указанием пути) в файловой системе устройства |
ZMEDIAURL | URL, по которому находился медиафайл. Если файл передавался от одного абонента другому, он был зашифрован, и его расширение будет указано как расширение передаваемого файла — .enc |
ZTHUMBNAILLOCALPATH | путь до миниатюры файла в файловой системе устройства |
ZTITLE | заголовок файла |
ZVCARDNAME | хеш медиафайла, при передаче файла в группу может содержать идентификатор отправителя |
ZVCARDSTRING | содержит информацию о типе передаваемого файла (например, image/jpeg), при передаче файла в группу может содержать идентификатор получателя |
ZXMPPTHUMBPATH | путь до миниатюры файла в файловой системе устройства |
ZMEDIAKEY | неизвестно, вероятно, содержит ключ для расшифровки зашифрованного файла. |
ZMETADATA | метаданные передаваемого сообщения |
Offset | смещение |
Другими интересными таблицами базы данных ‘ChatStorage.sqlite’ являются:
- ‘ZWAPROFILEPUSHNAME’. Соотносит WhatsApp ID с именем контакта;
- ‘ZWAPROFILEPICTUREITEM’. Соотносит WhatsApp ID с аватаркой контакта;
- ‘Z_PRIMARYKEY’. Таблица содержит общую информацию об этой базе данных, такую как общее число хранимых сообщений, общее число чатов и т.д.
- Файл ‘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
- ‘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\Roaming\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_3’ может содержать графические файлы.
Файл ‘data_2’ содержит аватары контактов (могут быть восстановлены поиском по заголовкам файлов).
Аватары, содержащиеся в файле ‘data_2’:
Таким образом, в памяти компьютера нельзя найти сами чаты, но можно найти:
- мультимедиа-файлы;
- документы, передававшиеся с помощью 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\’
В этом каталоге находится несколько подкаталогов:
В каталоге ‘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\’ могут содержаться мультимедийные файлы (файлы не имеют расширений).
- Forensic analysis of WhatsApp Messenger on Android smartphones, by Cosimo Anglano, 2014.
- Whatsapp Forensics: Eksplorasi sistem berkas dan basis data pada aplikasi Android dan iOS by Ahmad Pratama, 2014.
В следующих статьях этой серии:
В Group-IB знают о киберпреступности всё, но рассказывают самое интересное.
Остросюжетный Telegram-канал (https://t.me/Group_IB) об информационной безопасности, хакерах и кибератаках, хактивистах и интернет-пиратах. Расследования нашумевших киберпреступлений по шагам, практические кейсы с применением технологий Group-IB и, конечно, рекомендации, как не стать жертвой в интернете.
YouTube-канал Group-IB
Фотолента Group-IB в Instagram www.instagram.com/group_ib
Короткие новости в Twitter twitter.com/GroupIB
Компания Group-IB — один из ведущих разработчиков решений для детектирования и предотвращения кибератак, выявления мошенничества и защиты интеллектуальной собственности в сети со штаб-квартирой в Сингапуре.
.crypt12 Расширение файла
This file is saved in a binary format, which requires a specific program to read its contents.
.CRYPT12 вариант №
Файл CRYPT12 представляет собой зашифрованную базу данных, созданную WhatsApp Messenger, приложение для обмена сообщениями Android. Он содержит 256-битную AES-зашифрованную базу данных сообщений, отправленных и полученных через приложение.
Расширение «crypt12» часто добавляется к файлу .DB для создания файла .DB.CRYPT12 , который используется WhatsApp для защиты базы данных сообщений пользователя на его или ее устройстве Android. Для каждой новой партии WhatsApp Messenger использует другой алгоритм для шифрования файлов DB. Расширение, добавленное в файл DB, например .CRYPT7 или .CRYPT8 , означает алгоритм.
Если вы хотите расшифровать CRYPT12 для просмотра истории сообщений пользователя приложения, вы должны найти ключевой файл, в котором хранится ключ шифрования. Файл ключа хранится в следующем месте: /data/data/com.whatsapp/files/key
Файл базы данных CRYPT12 расположен на SD-карте устройства Android с установленным WhatsApp Messenger. Вы можете найти его в следующем каталоге: / sdcard / WhatsApp / Databases
Вы можете использовать приложение Omni-Crypt для преобразования файлов CRYPT12 в устаревшие файлы% li_nk на Android-устройстве. Вы также можете использовать веб-программу WhatCrypt для дешифрования и загрузки / хранения файлов CRYPT12.
Как читать зашифрованные сообщения WhatsApp на Android без ключей
Одна из причин, по которой WhatsApp становится одной из самых популярных служб обмена сообщениями, заключается в мощной функции безопасности. Он шифрует сообщения от начала до конца, поэтому единственными, кто может читать эти сообщения, являются отправитель и получатель — если кто-то еще не может открыть телефоны отправителя или получателя.
Но иногда даже владелец телефона не может получить доступ к своим телефонам из-за технических сбоев. Если вы не можете получить доступ к своему собственному телефону, можете ли вы по-прежнему читать зашифрованные сообщения WhatsApp?
Часть 1: Типы шифрования сообщений WhatsApp
В сентябре 2012 года WhatsApp представила шифрование данных в качестве одной из функций безопасности. Этот шаг предпринят, чтобы предотвратить перехват сеанса и анализ пакетов, которые часто случались раньше. И WhatsApp использует формы crypt2, crypt5, crypt7, crypt8 и crypt12 для шифрования всех данных. Это означает, что взломать файлы базы данных для чтения всех сообщений чата стало практически невозможно.
Но есть приемы, которые вы можете использовать для расшифровки базы данных без ключей и вспомогательных файлов. Вы можете использовать этот метод для доступа к своим разговорам.
Часть 2: Как расшифровать базу данных WhatsApp crypt12/8 без ключей?
Приведенный ниже трюк работает при чтении зашифрованных сообщений WhatsApp на устройствах Android. Прежде чем вы начнете, вам нужно создать копию вашей базы данных WhatsApp, чтобы убедиться, что вы не уничтожили исходный файл.
Для этого откройте проводник Android или файловый браузер. Затем создайте новую папку или SD-карту. Затем перейдите в это место на вашей SD-карте: /WhatsApp/Databases/msgstore.db.crypt. Затем скопируйте файлы msgstore.db.crypt в новую папку, которую вы только что создали.
Метод 1. (Для устройств с root-правами) Расшифровать crypt12 базы данных WhatsApp без ключа на ПК
Whatsapp шифрует все данные в формате .crypt5/7/8/12. Но на Android-телефоне с root-доступом вы можете легко расшифровать и прочитать эти зашифрованные сообщения с помощью Whatsapp Viewer.
Найдите файл резервной копии вашего сообщения WhatsApp, например msgstore.db.crypt 12, в хранилище устройства / WhatsApp /Database.
Найдите свой ключевой файл, содержащий ключ дешифрования, чтобы расшифровать зашифрованный файл из /data/data/com.whatsapp/files/key.
Скачайте и установите Whatsapp Viewer на свой компьютер. Откройте Whatsapp Viewer и перейдите к файлу > Decrypt .crypt12.
Теперь вам нужно загрузить файл базы данных и файл ключа. Нажмите на ". " кнопку рядом с полем файла базы данных, чтобы импортировать его и сделать то же самое для файла ключа. После этого нажмите OK, чтобы расшифровать файл базы данных.
Когда вы увидите сообщение "База данных расшифрована в файл msgstore.decrypted.db", расшифровка завершена. Вы найдете файл с именем "msgstore.decrypted.db" в папке, в которой вы хранили файл базы данных и файл ключа.
Снова запустите программу WhatsApp viewer и нажмите Файл >Открыть. Нажмите на кнопку ". " , чтобы импортировать файл msgstore.decrypted.db, и нажмите кнопку ОК.
Теперь вы можете выбрать номер мобильного телефона на правой панели и просмотреть его чаты на левой панели. Вы можете экспортировать его в формате .text /.html /.json, если хотите.
Метод 2. (Для устройств без рута) Чтение crypt12 базы данных WhatsApp без ключа на ПК
Чтобы расшифровать базу данных во что-то понятное для человека, мы можем воспользоваться помощью одного из приложений для расшифровки, доступных в магазине Google Play. Рекомендуемое приложение, которое вы можете использовать, — это Omni-crypt . Он может легко расшифровать базу данных WhatsApp без рута. Обратите внимание, что для расшифровки базы данных выше версии crypt6 вам понадобится WhatsApp-Key-DB-Extractor для извлечения ключа шифрования.
- Подключите свой телефон Android к компьютеру. Скачайте и установите Omni-crypt на свое Android-устройство.
- Загрузите WhatsApp-Key-DB-Extractor на свой компьютер с github.com .
Откройте папку WhatsApp-Key-DB-Extractor и найдите файл с именем WhatsAppKeyDBExtract.sh . Щелкните по нему правой кнопкой мыши и выберите пункт Свойства.
На вкладке «Разрешения» установите флажок «Разрешить выполнение файла как программы».
После этого запустите файл WhatsAppKeyDBExtract.sh в Терминале на Mac.
Когда вам будет предложено разблокировать устройство и подтвердить операцию резервного копирования, откройте телефон Android и нажмите РЕЗЕРВНОЕ КОПИРОВАНИЕ МОИХ ДАННЫХ.
Подождите, пока WhatsAppKeyDBExtract восстановит WhatsApp, и после завершения операции нажмите Enter, чтобы выйти из Терминала.
Теперь откройте Omni-crypt на своем телефоне Android. Нажмите на ВКЛЮЧИТЬ РЕЗЕРВНОЕ КОПИРОВАНИЕ CRYPT 6-12, а затем нажмите на РАСШИФРОВКУ базы данных WHATSAPP.
Теперь откройте папку WhatsApp-Key-DB-Extractor и перейдите в извлеченную папку. Здесь вы можете увидеть файлы ‘msgstore.db’ и ‘wa.db’. ‘msgstore.db» хранит все сообщения вместе с вложениями, а «wa.db» хранит всю информацию, связанную с контактами.
Бонусный совет: Как прочитать удаленные сообщения WhatsApp на Android без рута?
Вот и все о том, как читать зашифрованные сообщения WhatsApp. Эти шаги немного сложны для обычных пользователей. Если вы ищете способ прочитать удаленные сообщения WhatsApp, Tenorshare UltData for Android предлагает вам простой способ восстановления сообщений WhatsApp и контактов с Android без root.
Шаг 1 После того, как вы загрузили программное обеспечение, вы переходите к основному интерфейсу ниже:
Шаг 2 Затем вам нужно авторизоваться и отладить usb на вашем телефоне Android для правильного подключения.
Шаг 3 Теперь пришло время отсканировать и просмотреть, какие данные были перечислены. Просто выберите то, что вы хотите восстановить.
Шаг 4 Наконец, успешно сохраните файлы на свой компьютер или устройство и присмотритесь к ним.
Заключение
Теперь вы узнали, как расшифровать базу данных WhatsApp на телефоне Android. Несмотря на то, что мы не касаемся исходных баз данных, всегда есть вероятность, что наши действия их испортят. Всегда лучше сначала сделать резервную копию ваших данных. И если вы ищете простой способ прочитать удаленные сообщения WhatsApp на Android без рута, настоятельно рекомендуется Tenorshare UltData for Android.
msgstore: что это и для чего нужно
Если вы когда-нибудь задумывались, что такое msgstore и для чего это, мы собираемся ответить на эти вопросы. Возможно, вы когда-нибудь встречали это имя, потому что вы что-то читали или видели на своем телефоне Android. В любом случае, мы собираемся рассказать вам все, что вам нужно знать об этой концепции и ее важности.
Начнем с того, что упомянем, что файлы в формате msgstore являются файлами WhatsApp, то, что некоторые могут знать. Возможно, вы встречали одного из них. По этой причине мы собираемся рассказать вам больше, чтобы вы больше знали о них и о причинах, по которым мы находим эти типы файлов на нашем телефоне Android.
что такое msgstore
Файлы msgstore файлы данных, в которых хранятся стенограммы чата WhatsApp. WhatsApp шифрует сообщения end-to-end, так что никто, кто может получить доступ к этим сообщениям по пути, не сможет их расшифровать (по крайней мере, не быстро, но это займет много времени). В этих файлах msgstore хранятся чаты разговоров в WhatsApp, но не в виде обычного текста, где читается дословный разговор, а в них все зашифровано.
Их идея заключается в том, что если кто-то получит доступ к нашему устройству без нашего разрешения или взломает нас, этот человек вы не сможете получить доступ к содержимому этих файлов с помощью простого текстового редактора. Имя msgstore обычно сопровождается словами db (база данных) вместе с годом, месяцем и днем создания каждого из них, а также словом crypt и двумя числами. Это формат, который у них обычно есть, и мы можем посмотреть, если найдем его.
Кроме того, в конце каждого файла мы видим два числа. Эти два числа представляют метод шифрования, который WhatsApp использует в любой момент времени. Так что это то, что также дает нам информацию в этом отношении.
Для чего нужен msgstore?
Файл mgstore.db.cryptXX — это файл, в котором они хранят все чаты, которые у нас были в приложении на тот момент, а остальные файлы — просто резервная копия. Дата, включенная в имя файла, говорит нам, когда он был создан. На данный момент WhatsApp создал в общей сложности пять версий шифрования своего кода шифрования, что соответствует тому, что доступно в Signal. Они следующие:
- mgstore.db.crypt5
- mgstore.db.crypt7
- mgstore.db.crypt8
- mgstore.db.crypt12
- mgstore.db.crypt14
Все это типы файлов который мы можем найти в папке базы данных WhatsApp. Итак, если мы откроем его, то увидим, что они принадлежат одному из них. Мы редко находим тот, который не соответствует этому, только те, у кого действительно старый телефон и где приложение WhatsApp больше не обновляется, могут увидеть его в несколько другом формате. У большинства пользователей будет одна из этих версий, особенно последняя.
Как открыть файлы msgstore
Одним из сомнений многих пользователей является то, как они могут открывать файлы этого типа на своих устройствах. Как мы уже упоминали пару раз, файлы msgstore зашифрованы, поэтому мы не сможем открыть этот тип файла ни в одном текстовом редакторе. Это означает, что нам нужно будет использовать приложение, которое знает используемое в них шифрование, чтобы иметь доступ к их контенту, иначе это будет невозможно.
Проблема в том, что ни одно приложение на самом деле не знает шифрование WhatsApp, поскольку платформа использует разные ключи для каждого устройства. Ключ, используемый для шифрования этой копии чатов WhatsApp, хранится внутри рассматриваемого устройства. Если быть точным, это то, что мы сможем найти в папке data/data/com.whatsapp/files/key.
Будучи информацией, которая хранится в корне устройства, никакое стороннее приложение не сможет получить к нему доступ, если у вас нет root-прав, которые не все пользователи Android предоставляют. Хотя это также означает, что необходимо иметь root или root на устройстве, чтобы иметь доступ к указанному ключу. В противном случае можно было бы использовать любое приложение в сети, и таким образом у вас был бы доступ к этому ключу, позволяющему расшифровывать данные WhatsApp, как и к остальным ключам, которые также используются другими приложениями для защиты доступа к информации WhatsApp. управлять.
Расшифровать чаты WhatsApp
Это то, что могут делать только пользователи, у которых есть root на своем телефоне Android. Если это так, если у вас есть рут, то вы сможете это сделать. Итак, вот шаги, которые нужно выполнить, чтобы иметь возможность доступ и открытие файлов msgsotre. Важно знать, что это можно сделать только при наличии рута. Вы можете прочитать о приложениях или веб-страницах в Интернете, которые обещают иметь доступ к этим файлам, но это ложь. Они ни в коем случае не работают и на самом деле могут быть опасны. Поэтому лучше их не использовать.
Чтобы расшифровать эти файлы, необходимо иметь доступ к ключу, о котором мы упоминали. Ключ, найденный в терминале. Если у нас нет терминала под рукой, это как если бы у меня не было root. Поэтому использование стороннего приложения не поможет нам в этом отношении. Для этого мы будем использовать приложение под названием WhatsApp Viewer, которое является приложением с открытым исходным кодом и доступно по адресу GitHub. Это приложение, которое позволит нам открывать файлы msgstore это в нашем мобильном телефоне, используя ключ, который хранится в нем.
На момент публикации этой статьи это приложение поддерживает следующие типы файлов:
- mgstore.db.crypt5
- mgstore.db.crypt7
- mgstore.db.crypt8
- mgstore.db.crypt12
- mgstore.db.crypt14
После того, как мы установили приложение на свой телефон, мы готовы начать. Поэтому мы впервые открываем приложение на мобильном телефоне и нажимаем Файл > Расшифровать.cryptXX где XX — номер файла, используемого нашей версией WhatsApp. Далее нам нужно выбрать источник файла и место, где находится ключ. После этого приложение должно будет загрузиться через несколько секунд, а затем приложение покажет нам в плоском формате чаты, организованные по номеру телефона, который отображается справа.
Нажав на каждый чат, который есть в левой части приложения, вы сможете увидеть наши разговоры с каждым номером телефона в WhatsApp. Кроме того, из этого же приложения мы сможем экспортировать чаты в другие форматы в хранить нас на нашем компьютере, работать с ними, делиться ими или делать с ними все, что мы хотим. Так что это дает нам много вариантов, если есть что-то, что мы хотим видеть в чатах. Форматы, предлагаемые приложением при экспорте чатов WhatsApp: txt, html и json. Так что наверняка есть тот, который хорошо работает для нас.
Экспорт чатов
Это метод, с помощью которого можно получить доступ к указанным чатам WhatsApp, хранящимся в msgstore. Как видите, это довольно сложный процесс, и он зависит от того, есть ли у нас root на нашем телефоне. Так много пользователей в операционной системе не смогут его использовать. Это не единственный способ, которым вы можете иметь эти чаты в текстовом формате, если мы хотим, чтобы все наши чаты были в документе.
WhatsApp имеет функцию экспорта чатов. Благодаря этому мы можем иметь все чаты, которые есть в приложении, в текстовом файле, например, в формате txt. Так что это хороший способ сгруппировать их, если это то, что мы ищем. Мы избегаем прибегать к чему-то столь же сложному, как предыдущий метод, также предназначенный для нескольких пользователей. Если вы хотите использовать функцию экспорта чатов в приложении, выполните следующие действия:
- Откройте WhatsApp на своем телефоне Android.
- Оказавшись внутри приложения, нажмите на три точки, расположенные в правом верхнем углу приложения, и нажмите Настройки.
- В Настройки, нажмите на опцию Чаты.
- В следующем окне нажмите на История чата а затем в опции, которая говорит Экспорт чата.
- Наконец, мы выбираем чат мы хотим сохранить и храним его на своем устройстве, делимся им с другими приложениями, отправляем по почте…
- Вы можете повторить процесс с другими, если хотите.
Таким образом, вы всегда можете иметь некоторые чаты вашего приложения в текстовом формате, что очень удобно, например, если вам нужно с ним работать. Если есть чаты, с которыми вы хотите сделать это, вы можете выбрать столько, сколько хотите экспортировать из приложения Android.
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Справка Android » Android » Учебники » msgstore: что это и для чего нужно