Содержание
- Шифрование данных в WhatsApp
- Дешифровка резервных копий WhatsApp
- Использование опенсорсных решений для дешифровки резервной копии WhatsApp
- База данных whatsapp
Шифрование данных в WhatsApp
Согласно имеющейся информации, WhatsApp использует сквозное шифрование. Это означает, что сообщения зашифровываются и расшифровываются непосредственно на устройстве.
Пример сквозного шифрования. Иван решил отправить некое сообщение Олегу, но не хочет, чтобы сообщение прочитали третьи лица. За несколько дней до отправки сообщения Иван запускал WhatsApp и сканировал QR-код на телефоне Олега. Теперь Иван уверен: ключ шифрования доступен только Олегу, и никто, кроме него, не сможет прочитать отправленное сообщение.
Помимо шифрования, сообщения в WhatsApp автоматически копируются и сохраняются в память устройства. В зависимости от настроек также можно периодически создавать резервные копии чатов в iCloud или Google Drive.
Резервные копии, которые сохраняются в облако, зашифрованы с использованием безопасного алгоритма AES-256, причем в разных версиях WhatsApp используются различные алгоритмы шифрования.
Резервные копии содержат следующую информацию:
- список звонков;
- фотографии и видеофайлы;
- список контактов, включая телефонные номера;
- текстовые сообщения, включая идентификаторы пользователей.
Рисунок 2. Алгоритм шифрования резервной копии данных в WhatsApp
Дешифровка резервных копий WhatsApp
Для расшифровки резервных копий используется криптографический ключ, который создается в момент, когда пользователь впервые делает копию данных в облаке. Ключ генерируется на сервере WhatsApp и не попадает в облако.
В Android-устройствах ключ находится в каталоге data/data/сom.whatsapp/files. В iOS-устройствах ключ хранится в кейчейне и не попадает в облачные и iTunes-бэкапы.
Кроме самого ключа, который хранится на устройстве, также могут находиться зашифрованные базы данных.
Для извлечения ключа шифрования необходимо выполнить физическое извлечение данных из устройства. Но это не всегда возможно из-за проблем с программным или аппаратным обеспечением некоторых мобильных устройств.
В мобильной криминалистике эксперты часто сталкиваются с проблемами, которые не позволяют им провести полноценную экспертизу устройств и получить доступ к информации, хранимой в WhatsApp, из-за следующих проблем:
- Устройство заблокировано.
- Невозможно снять физический образ устройства или дешифровать его.
- Приложение удалено с устройства владельца.
Такие проблемы возможно решить с помощью опенсорсных решений или применить специализированные программы.
Использование опенсорсных решений для дешифровки резервной копии WhatsApp
Для дешифровки резервной копии, имея key-файл, можно воспользоваться опенсорсными утилитами, например WhatsApp Crypt12 Database Decrypter, который доступен на GitHub. Для использования данной утилиты необходимо установить среду выполнения Java.
Для дешифровки необходимо переместить файлы msgstore.db.crypt12 и key в папку с файлами decrypt12.jar и decrypt12.java.
Далее запустить командную строку из папки, в которой содержатся вышеперечисленные файлы, и выполнить следующую команду:
java -jar decrypt12.jar key msgstore.db.crypt12 msgstore.db
Рисунок 3. Результат дешифрования резервной копии
Дешифрованная резервная копия сохранится в файл msgstore.db, просмотреть которую можно с помощью SQL- viewer, например DB Browser for SQLite.
Рисунок 4. Просмотр дешифрованной резервной копии с помощью DB Browser for SQLite
Для упрощения дешифровки резервной копии нами разработана утилита WhatsApp Decrypter, которая упрощает данный процесс.
Рисунок 5. WhatsApp Decrypter
База данных whatsapp
Но может ли база данных WhatsApp увеличить поток клиентов? Есть немало способов заявить о себе и о своей компании: расклейка объявлений, раздача промо материалов, продвижение в социальных сетях, реклама в СМИ. Но стоит учитывать, что все перечисленные способы значительно уступают по эффективности таргетированной рассылке через WhatsApp. Такая тотальная адресная реклама позволяет привлечь максимальное число потенциальных клиентов. Используйте для продвижения актуальную базу номеров WhatsApp и вы сможете получить доступ к миллионам активных пользователей мессенджера, а это значит, что вы дойдете и до своих потенциальных клиентов. В базу контактов WhatsApp входят номера абонентов Теле2, Мегафон, МТС, Билайн и другие международные операторы связи.
Активные пользователи WhatsApp – это платёжеспособные люди старше 20 лет. Поэтому вы легко сможете реализовать свои планы по продвижению товара или услуги. К преимуществам работы через WhatsApp можно отнести:
-
Абсолютную безопасность, так как рассылка через мессенджеры не является смс-сообщением, а потому не нарушает закон о рекламе.
-
Через WhatsApp можно отправлять не только текстовые сообщения, но и фото, и потенциальные клиенты могут видеть то, что вы хотите им предложить.
-
Даже при покупке базы контактов стоимость рассылки через WhatsApp будет значительно ниже стоимости рассылки через СМС.
-
Рассылка через WhatsApp дает возможность обратной связи с клиентом – ответное сообщение абсолютно бесплатное.
Покупка базы контактов WhatsApp – это ключ к успешному продвижению вашей фирмы, товара или услуги.
WhatsApp Crypt14-15 Backup Decrypter
Decrypts WhatsApp .crypt12, .crypt14 and .crypt15 files, given the key file or the 64-characters long key.
The key file is named «key» if the backup is crypt14 or
«encrypted_backup.key» if the backup is crypt15 (encrypted E2E backups).
The output result is either a SQLite database
or a ZIP file (in case of wallpapers and stickers).
This is the only thing this script does.
Those who are looking for a complete suite for
WhatsApp forensics, check out whapa.
Quickstart
Just copy-paste this block into your terminal
(should be multi-platform — ignore errors during «activate» lines, as one is for Linux/macOS, one is for Windows (Batch) and one is for Windows PowerShell)
git clone https://github.com/ElDavoo/WhatsApp-Crypt14-Crypt15-Decrypter.git
cd WhatsApp-Crypt14-Crypt15-Decrypter
python -m venv venv
source venv/bin/activate
.venvScriptsactivate.bat
.venvScriptsActivate.ps1
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
Requirements
Remember to download the proto folder!
Python 3.7 or more recent
pycriptodomex or pycryptodome
javaobj-py3
protobuf 3.20 or more recent
… or just install the requirements.txt
file
Use:
python -m pip install -r requirements.txt
Or:
python -m pip install pycryptodomex javaobj-py3 protobuf
Usage
usage: decrypt14_15.py [-h] [-f] [-nm] [-bs BUFFER_SIZE] [-ng] [-np]
[-ivo IV_OFFSET] [-do DATA_OFFSET] [-v]
[keyfile] [encrypted] [decrypted]
Decrypts WhatsApp backup files encrypted with crypt12, 14 or 15
positional arguments:
keyfile The WhatsApp encrypted_backup key file or the hex
encoded key. Default: encrypted_backup.key
encrypted The encrypted crypt12, 14 or 15 file. Default:
msgstore.db.crypt15
decrypted The decrypted output file. Default: msgstore.db
options:
-h, --help show this help message and exit
-f, --force Makes errors non fatal. Default: false
-nm, --no-mem Does not load files in RAM, stresses the disk more.
Default: load files into RAM
-bs BUFFER_SIZE, --buffer-size BUFFER_SIZE
How many bytes of data to process at a time. Implies
-nm. Default: 8192
-ng, --no-guess Does not try to guess the offsets, only protobuf
parsing.
-np, --no-protobuf Does not try to parse the protobuf message, only
offset guessing.
-ivo IV_OFFSET, --iv-offset IV_OFFSET
The default offset of the IV in the encrypted file.
Only relevant in offset guessing mode. Default: 8
-do DATA_OFFSET, --data-offset DATA_OFFSET
The default offset of the encrypted data in the
encrypted file. Only relevant in offset guessing mode.
Default: 122
-v, --verbose Prints all offsets and messages
Examples, with output
Crypt15
python ./decrypt14_15.py ./encrypted_backup.key ./msgstore.db.crypt15 ./msgstore.db
[I] Crypt15 key loaded
[I] Database header parsed
[I] Done
or
python ./decrypt14_15.py b1ef5568c31686d3339bcae4600c56cf7f0cb1ae982157060879828325257c11 ./msgstore.db.crypt15 ./msgstore.db
[I] Crypt15 key loaded
[I] Database header parsed
[I] Done
Crypt14
python ./decrypt14_15.py ./key ./msgstore.db.crypt14 ./msgstore.db
[I] Crypt12/14 key loaded
[I] Database header parsed
[I] Done
Crypt12
python ./decrypt14_15.py ./key ./msgstore.db.crypt12 ./msgstore.db
[I] Crypt12/14 key loaded
[I] Database header parsed
[I] Done
I had to use —force to decrypt
Please open an issue.
Not working / crash / etc
Please open an issue and attach:
- Output of the program (both with and without —force)
- Hexdump of keyfile
- Hexdump of first 512 bytes of encrypted DB
I will happily accept pull requests for the currently open issues.
Where do I get the key(file)?
On a rooted Android device, you can just copy
/data/data/com.whatsapp/files/key
(or /data/data/com.whatsapp/files/encrypted_backup.key
if backups are crypt15).
If you enabled E2E backups, and you did not use a password
(you have a copy of the 64-digit key, for example a screenshot),
you can just transcribe and use it in lieu of the key file parameter.
There are other ways, but it is not in the scope of this project
to tell you.
Issues asking for this will be closed as invalid.
Last tested version (don’t expect this to be updated)
Stable:
2.22.15.74
Beta:
2.23.2.6
Protobuf classes generation
You can replace the provided generated protobuf classes with your own.
In order to do that, download the protoc 21.0 from
here.
After that put protoc in the proto folder and run:
./protoc *.proto --python_out=.
We then need to manually patch the generated classes to fix import errors.
Open prefix_pb2.py
and C14_cipher_pb2.py
Add proto.
after any import
keyword.
For example:
import C14_cipher_version_pb2 as C14__cipher__version__pb2
becomes
import proto.C14_cipher_version_pb2 as C14__cipher__version__pb2
Donations
Thank you so much to each one of you!
- 🎉🎉🎉 courious875 🎉🎉🎉
Credits:
Original implementation for crypt12: TripCode
Some help at the beginning: DjEdu28
Actual crypt14/15 implementation with protobuf: ElDavoo
Help with crypt14/15 footer: george-lam
Stargazers over time
CRYPT – Зашифрованный файл базы данных WhatsApp (WhatsApp Encrypted Database File)
Чем открыть файл CRYPT
В Windows: WhatsApp Viewer
В Windows Mobile/CE: WhatsApp Messenger
В Google Android: WhatsApp Messenger, WhatsApp Xtract, Whatsapp Crypt-DB Converter, WhatsApp Tri-Crypt, Chat Statistics, Backuptrans Android WhatsApp Transfer, WhatCrypt
В Blackberry: WhatsApp Messenger
В Symbian: WhatsApp Messenger
В Apple iOS (iPhone, iPad, iPod): WhatsApp Messenger, Whatsapp Xtract
Описание расширения CRYPT
Популярность:
Раздел: Файлы баз данных, Зашифрованные файлы
Разработчик: WhatsApp
Расширение файла CRYPT (т.е. .db.crypt) связан с популярной программой мгновенного обмена сообщениями WhatsApp для мобильных платформ Apple, IOS, Google Android, Windows Phone, Blackberry, Symbian и Nokia Series 40.
Msgstore.db.crypt файл хранит базу данных входящих и исходящих сообщений в зашифрованном виде. Вы можете вручную создать CRYPT файл. На телефоне выберите WhatsApp → Меню → Настройки → Настройки чата → Резервное копирование разговоры чатов (WhatsApp → [Phone Menu Button] → Settings → Chat Settings → [Backup conversations]). Файл CRYPT будет создан и сохранен в следующем каталоге: /sdcard/WhatsApp/Databases/
WhatsApp Messenger использует такие расширение файла как .crypt5, .crypt6, .crypt7, .crypt8 для его зашифрованных баз данных. Файл .db.crypt может быть расшифрован и конвертирован в HTML с помощью программы WhatsApp Xtract. По умолчанию, файл msgstore.db.crypt сохраняется в папке телефона: /sdcard/WhatsApp/Databases.
Для восстановления сообщения из файла CRYPT, удалите программу WhatsApp, переименуйте файл, который вы хотите восстановить в msgstore.db.crypt, установите WhatsApp, и выберите «Восстановить» (Restore) при появлении соответствующего запроса.
Другие программы, связанные с расширением
- Зашифрованный файл Folder Crypt от LittleLite Software
Расширение .CRYPT – это зашифрованный файл, который создается в результате шифрования каталога или файла программой Folder Crypt, разработанной компанией LittleLite Software. Folder Crypt использует низкоуровневое шифрование и стандартные алгоритмы, такие как DES (64 бит), Triple DES (128 бит), AES-Rijndael (до 256 бит), Blowfish (до 448 бит) и ArcFour (до 2048 бит). Файлы .CRYPT нельзя вскрыть без пароля, т.к. используется настоящее по-битное шифрование. Даже для того, чтобы просмотреть файлы в зашифрованном каталоге вам нужно знать правильный пароль. Сама программа Folder Crypt очень проста в использовании. Вам необходимо выбрать файл или папку для шифрования и указать пароль, и выбрать алгоритм шифрования и вместо каталога или файла, который вы выбрали, появится файл .CRYPT.
Относится к разделу Зашифрованные файлы.
Популярность:
- Зашифрованный файл
.CRYPT так же может иметь отношение к результату работы вирусов-шифровальщиков, причем существует несколько разновидностей таких вирусов, например, семейства Trojan.Encoder и Trojan-Ransom.BAT.Scatter. Шифруются самые популярные расширения файлов *.txt, *.bmp, *.doc, *.rtf, *.xls, *.docx, *.xlsx, *.pdf, *.cs, *.jpg, *.jpeg, *.gif, *.cdr, *.cpt, *.psd, *.rar, *.zip, *.7z, *.ppt, *.pptx, *.mp3 и т.д. После работы вируса-шифровальщика к файлам с данными расширениями добавляется расширение .CRYPT. Вирус удаляет исходные файлы, появляется сообщение, вымогающее деньги за обратную расшифровку. Шифрование осуществляется по алгоритму RSA (с длинным ключом, что делает нерациональным по времени простой подбор ключа для дешифровки).
Рекомендуем прочитать следующие статьи на данную тему: «Доктор Веб» выпустил бесплатную утилиту дешифровки от новой версии троянца-вымогателя Trojan.Encoder.19 и Зашифрованы файлы, *.pzdc, *.crypt
Относится к разделу Зашифрованные файлы.
Популярность: