Лог файлы что это такое в ватсапе
WhatsApp – мессенджер с мировым именем, количество его загрузок давно преодолело отметку в один миллиард. Столь большая популярность связана с тем, что он был одним из первых, а разработчики не покладая рук регулярно выпускают новые обновления, добавляя различные функции и убирая прежние ошибки. Детализация Ватсап – одна из таких функций. Именно ей и посвящена данная статья. Давайте со всем разбираться.
Экспериментируем с 5000 контактов
Мне стало любопытно, как далеко мы сможем зайти с этой уязвимостью. Я не хочу отслеживать конкретных людей и не буду спрашивать разрешения у 5000 людей, как мог это сделать в первом хаке.
Поэтому я усложню задачу, вычислю анонимную статистику и запишу данные. Давайте увеличим масштаб до 5000 телефонов.
Доказательство в судебном деле
Если с этим пока все понятно, давайте поговорим о практической стороне вопроса.
Часть 2. Отслеживаем 5000 случайных телефонов
В предыдущей части мы выяснили, что достаточно легко взломать онлайн-статус контакта WhatsApp. Простую информацию Online или last seen yesterday at 19:00 реверс-инжинирингом можно заставить выполнять утечку пользования телефоном с точностью в несколько секунд.
Но я ещё не сказал о гораздо более странной вещи: можно отслеживать любой мобильный телефон! Давайте поиграем и увеличим масштабы слежения до 5000 случайных номеров.
Как и в первой части, я делюсь исходным кодом как PROOF OF CONCEPT. Если вам больше интересны результаты, чем технические подробности, то можете сразу переходить в конец статьи. Мы снова будем использовать предыдущий код на основе Node.js, Puppeteer и Grafana.
Заключение
Мне удалось продолжать сканировать 5000 телефонов непрерывно в течение месяца при помощи простого кода скрейпинга.
Очевидно, WhatsApp не проверяет и не предупреждает злонамеренное использование этой функции. Мне удалось 15 000 раз использовать движок поиска для получения данных last seen за одну веб-сессию.
Для исследования я наскрейпил множество данных из 112 тысяч записей.
Моё исследование показало, что можно:
Я использовал французский диапазон номеров 06xxxxxxxx (или 00336xxxxxxxx ), который переполнился 10 лет назад (поэтому тогда появился диапазон 07xxxxxxxx ). Поэтому, вероятно, можно допустить, что по крайней мере 80% номеров телефонов действительны.
Вот визуализация пользователей, сгруппированных по дате last seen , дающей представление о пользовании WhatsApp. Я собрал данные примерно в первую неделю февраля.
Снижение с 1357 активных пользователей в прошлом месяце до 281 на прошлой неделе довольно значительно, его можно связать с критикой WhatsApp в конце декабря 2020 года. Мне не очень интересно изучать эти данные подробнее, на этом всё, спасибо за внимание.
Notif Log notification history
Чтобы приступить к работе, следует скачать программу. Для этого нужно ввести в строке поиска Play Market название, которое указано в заголовке подраздела, и выбрать пункт от автора Kiwi Tree.
После загрузки и инсталляции в окне уведомлений появится предложение дать новой утилите доступ к истории оповещений. Следует нажать на надпись «Click to enable» и поставить отметку напротив нужного пункта.
Также не стоит удивляться, если окно будет пустым, так как информация об удаленном тексте хранится только ограниченное количество времени.
Кто может сделать законную детализацию
Несмотря на то что мы упоминали ранее, в некоторых ситуациях компания WhatsApp все же готова выдать персональные данные пользователя. Как правило, это связано с нарушением законодательства страны и с запросом от властей. Рассмотрим популярные сценарии.
Представители суда
Сделать детализацию вашего или чужого номера могут и представители суда в комплексе мероприятий по начатому разбирательству. К примеру, для получения улик или доказательств невиновности. Как вы понимаете, полномочия «судебников» довольно широкие, так что им не составит труда связаться с представителями WhatsApp, если на то будут веские причины.
Восстановление при помощи специальных приложений
Стоит заметить, что все сервисы подходят для Android, поэтому найти их можно в официальном магазине Play Market.
Для iPhone качественных аналогов пока не существует из-за закрытости операционной системы.
Для Android
Инструкция, как заказать переписку в WhatsApp на Андроид-устройстве:
Теперь вы можете открыть текстовый файл в блокноте и распечатать его на принтере.
Детализация Ватсап – определение и краткое описание
Детализация – это возможность экспортировать данные из мессенджера в виде отдельного документа. Это может относиться как к информации об аккаунте пользователя, так и к содержимому переписку. Такая функция уже давно присутствует в мессенджере, и она может оказаться очень полезной. Вот популярные сценарии:
- Отчет об аккаунте будет полезным для изучения, какая информация хранится в Ватсапе о пользователя.
- Экспорт переписки поможет сохранить памятные моменты, подтвердить правдивость своих слов и т. д.
С причинами использования этой функции мы минимально разобрались, теперь перейдем к ее особенностям.
Наивная реализация
Теперь, когда мы определили, в чём заключается функция status WhatsApp и как её можно злонамеренно использовать для слежения за пользователями, настало время писать код. Также мы взглянем на техническую реализацию и поищем возможные простые уязвимости безопасности.
Я мог бы заново написать код обмена данными через веб-сокеты, чтобы получать данные о статусе, но это будет сложно. Слишком сложно, если мы можем отслеживать одновременно только один контакт. Я начну с высокоуровневой технологии, учту известные нам пока ограничения, и посмотрю, к чему это может нас привести.
Мне хочется увидеть, чего можно добиться дешёвым хакингом, а уже потом приступать к более сложным вещам.
Я разобью proof of concept на три этапа:
- Получение данных
- Сохранение данных (легко)
- Визуализация данных (легко, но у меня вызовет сложности)
Мы реализовали базовую функциональность в 38 строках кода.
Чтобы двигаться дальше, нам нужно спарсить формат last seen today at 13:15 в формат даты. Для этого я использую замечательный npm-пакет chrono-node .
Наконец, я реализовал в коде цикл, постоянно сканирующий статус и сохраняющий его в InfluxDB 2.0.
InfluxDB — это база данных временных рядов (time-series database). Она идеально нам подходит.
На основании даты last seen я запишу UInteger в переменную offline since . Это будет счётчик секунд, прошедших после даты last seen .
Если статус online , то offline since будет иметь значение 0 .
Извлечение наших данных — это превращение данных событий в данные временных рядов.
Такая структура лучше подходит для InfluxDB и особенно для Grafana, которая будет отображать наши данные. К тому же она не хранит состояния, мне это нравится.
Для сохранения данных в InfluxDB 2.0 я использую клиент Node.js с форматом line protocol базы данных InfluxDB.
Сохраняемые данные выглядят так:
Существует пограничный случай, который бы я хотел обрабатывать: иногда в WhatsApp статус вообще не отображается.
В таком случае мы не введём в базу данных значение offlineSince , потому что у нас его нет. Вместо этого мы при каждом сканировании статуса будем записывать значение statusAvailable (которое равно 0 или 1 ).
Теперь мы подключим Grafana к InfluxDB и создадим дэшборд для слежения за полученными данными.
Исходный код этого proof of concept можно найти здесь.
Генерируем 5000 контактов
Чтобы расширить proof of concept до 5000 контактов, мне нужно будет зарегистрировать 5000 контактов в телефоне! И я не собираюсь делать это вручную.
Для этого я перешёл в свой аккаунт Google на десктопном веб-сайте, зашёл на страницу Contacts и нашёл там кнопку import a CSV .
Документация выглядит очень запутанной и длинной. Я не стал её изучать и экспортировал уже имеющиеся контакты, чтобы изучить модель данных. И она действительно оказалась сложной. После нескольких попыток мне удалось импортировать пару контактов с минимально возможным количеством заполненных полей.
Additional Name Yomi ?
На случай, если вы больше привыкли к CSV в Excel…
Я написал скрипт для генерации CSV из 5000 контактов:
Набор из 5000 французских номеров
И импортировал их в Gmail.
Почему это так легко, Google, ты что, крэйзи?
Затем я убедился, что мой телефон их синхронизировал (бедному телефону потребовался на синхронизацию целый час, не думаю, что он сможет выдержать ещё пять тысяч контактов).
Получение данных
Я модифицировал свой код так, чтобы он обходил в цикле все 5000 импортированных неизвестных контактов, и запустил его.
Оставил этот краулер на пару дней. (На самом деле на шесть дней, и это при помощи совершенно тупого кода! Серьёзно, здесь нет никакой защиты.) И вот какие получились красивые данные в дэшборде Grafana, взятом из предыдущего проекта.
Исходная выборка в 100 контактов. Каждое падение до 0 означает, что контакт пользовался смартфоном.
Мои друзья, мои контакты
WhatsApp считывает контакты в телефоне и позволяет чатиться с теми, кто тоже добавлен в список. Поэтому мы можем свободно добавить в качестве контакта случайный номер и найти его в WhatsApp.
Как ни удивительно, это не относится к статусу Last Seen.
Ой, а почему я вижу эти данные last seen ?
Как мы видели в первой части, существует препятствующая этому настройка конфиденциальности. По умолчанию она имеет значение Everyone , но никто его не меняет.
Если вы не хотите делиться своим статусом Last Seen , то WhatsApp отключает эту функцию в обоих направлениях
Messenger, Signal и Telegram (бонус)
(Facebook) Messenger не использует номеров телефонов контактов для поиска пользователей, потому что пользуется для этого аккаунтами Facebook. Совершенно иная структура, поскольку это социальная сеть и она меньше похожа на мобильный сервис VOIP. Думаю, множество похожих хаков с получением информации можно реализовать и в Messenger. Но это уже другая история, возможно, оставим её на следующий раз?
Signal и Telegram больше похожи на WhatsApp с точки зрения работы с контактами. Однако утечки там не так велики.
Данные last seen из Telegram менее доступны публично и менее подробны, например, они сообщают, что пользователь был онлайн около месяца назад . Движок поиска не имеет утечек, позволивших бы оценить количество пользователей во время моего исследования. Но теперь, спустя шесть недель, похоже, что это возможно. Меня это немного расстроило.
У Signal вообще нет функции last seen , здесь он чист. Однако посчитать пользователей было просто. Signal имеет уведомление is on Signal! , когда контакт начинает им пользоваться. Это помогает отслеживать переход пользователей на Signal.
В первый день исследования из 5000 пользователей 94 было в Signal, и каждый последующий день появлялось по 1-2 новичка. Никто не использует Signal во Франции, очевидно, влияние Илона Маска здесь не так велико.
Да, это картинка, чтобы за вами не могли следить.
На правах рекламы
VDSina предлагает безопасные серверы с посуточной оплатой. Возможно установить любую операционную систему, в том числе из своего образа. Каждый сервер подключён к интернет-каналу в 500 Мегабит и бесплатно защищён от DDoS-атак!
Хотите узнать, какие типы криминалистических артефактов 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, информацию о статусе, отображаемое имя пользователя, временные отметки и т.д.
Внешний вид таблицы:
Наиболее интересными таблицами в файле ‘msgstore.db’ для исследователя являются:
Внешний вид таблицы:
Внешний вид таблицы:
Внешний вид таблицы:
Данный список полей не является исчерпывающим. Для разных версий WhatsApp часть полей могут присутствовать или отсутствовать. Дополнительно могут присутствовать поля ‘media_enc_hash’, ‘edit_version’, ‘payment_transaction_id’ и т.д.
Внешний вид таблицы:
- Каталог ‘/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 есть одна особенность: в отличие от других аналогичных приложений, он тщательно и аккуратно сохраняет всю информацию в виде резервных копий. При этом частоту копирования можно выставить самостоятельно в настройках программы.
Чтобы воспользоваться свежими резервными данными, необходимо найти папку мессенджера в файловом проводнике телефона. Затем открыть папку с названием «Databases». Найти пункт с подходящей датой и временем. Переименовать его из «msgstore-YYYY-MM-DD.1.db.crypt12» в «msgstore.db.crypt12».
После этого придется удалить мессенджер из списка приложений на смартфоне и скачать заново из официального магазина. Телефон самостоятельно возобновит все переписки в нужном виде.
Стоит также понимать, что по умолчанию 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.
В следующих статьях этой серии:
Статья, в которой будет приведена информация о том, каким образом происходит генерация ключа шифрования WhatsApp, и даны практические примеры, показывающие, как произвести расшифровку зашифрованных баз этого приложения.
Статья, в которой мы расскажем, какие данные WhatsApp хранятся в облаках, и опишем методы извлечения этих данных из облачных хранилищ.
Статья, в которой будет пошагово описано, какими программами и как произвести извлечение данных WhatsApp из различных устройств.
В Group-IB знают о киберпреступности всё, но рассказывают самое интересное.
Компания Group-IB — один из ведущих разработчиков решений для детектирования и предотвращения кибератак, выявления мошенничества и защиты интеллектуальной собственности в сети со штаб-квартирой в Сингапуре.
Мир, кажется, шокирован новостью о том, что WhatsApp превратил любой телефон в следящее устройство. Всё на вашем телефоне, включая фотографии, электронные письма и тексты, было доступно злоумышленникам только потому, что у вас установлен WhatsApp.
Однако эта новость меня не удивила. В прошлом году WhatsApp пришлось признать очень похожую проблему — хакер мог получить доступ ко всем данным вашего телефона через один видеозвонок.
Каждый раз, когда WhatsApp исправляет критическую уязвимость в своём приложении, на её месте появляется новая. Все вопросы безопасности хорошо подходят для слежки, они выглядят и работают как бэкдоры.
В отличие от Telegram, WhatsApp не открывает исходный код, поэтому исследователи безопасности не могут легко проверить, есть ли там бэкдоры. WhatsApp не только не публикует код, они делают прямо противоположное: WhatsApp специально обфусцирует бинарные файлы своих приложений, чтобы никто не мог их тщательно изучить.
Возможно, WhatsApp и её материнская компания Facebook даже обязаны реализовать бэкдоры — через секретные процессы, такие как секретные приказы ФБР. Нелегко запустить безопасный мессенджер, находясь в США. За неделю, проведённую нашей командой в США в 2016 году, к нам трижды пытались проникнуть агенты ФБР. Представьте, что произойдёт с американской компанией за 10 лет работы в такой среде.
Я понимаю, что силовые структуры оправдывают установку бэкдоров антитеррористическими усилиями. Проблема в том, что такие бэкдоры могут также использоваться преступниками и авторитарными правительствами. Неудивительно, что диктаторы, похоже, любят WhatsApp. Отсутствие безопасности позволяет им шпионить за своими гражданами, поэтому WhatsApp не блокируют в таких странах, как Россия или Иран, где Telegram запрещён властями.
Тех, кто не поддался на постоянные всплывающие окна, рекомендующие создавать резервные копии своих чатов, всё ещё можно отследить с помощью ряда трюков — от доступа к резервным копиям контактов до незаметных изменений ключа шифрования. Метаданные, генерируемые пользователями WhatsApp — логи, описывающие, кто с кем и когда общается, — просачиваются во все агентства в больших объёмах через материнскую компанию. Кроме того, вы получаете набор критических уязвимостей, сменяющих друг друга.
У WhatsApp стабильная и последовательная история — от нулевого шифрования при создании до нынешних уязвимостей, странно подходящих для целей наблюдения. Оглядываясь назад, за их десятилетнюю историю не было ни одного дня, когда этот сервис был безопасным. Вот почему я не думаю, что простое обновление мобильного приложения WhatsApp сделает его безопасным. Чтобы стать сервисом, ориентированным на конфиденциальность, WhatsApp должен рискнуть потерей целых рынков и столкнуться с властями в своей стране. Они, кажется, не готовы к этому.
В прошлом году основатели WhatsApp покинули компанию из-за опасений за конфиденциальность пользователей. Они определённо связаны либо секретными приказами, либо NDA, поэтому не могут публично обсуждать бэкдоры, не рискуя потерять своё состояние и свободу. Однако они смогли признать, что «продали конфиденциальность своих пользователей».
Я могу понять нежелание основателей WhatsApp предоставить более подробную информацию — нелегко поставить под угрозу свой комфорт. Несколько лет назад мне пришлось покинуть свою страну после отказа соблюдать санкционированные правительством нарушения конфиденциальности пользователей «ВКонтакте». Это было неприятно. Но сделаю ли я что-то подобное снова? С удовольствием. Каждый из нас рано или поздно умрёт, но мы, как вид, останемся здесь на некоторое время. Вот почему я думаю, что накопление денег, славы или власти не имеет значения. Служить человечеству — это единственное, что действительно имеет значение в долгосрочной перспективе.
И всё же, несмотря на наши намерения, я чувствую, что мы подвели человечество во всей этой шпионской истории WhatsApp. Многие люди не могут прекратить использовать WhatsApp, потому что их друзья и семья всё ещё там. Это означает, что мы в Telegram проделали плохую работу, убеждая людей переключиться. Хотя за последние пять лет мы привлекли сотни миллионов пользователей, этого оказалось недостаточно. Большинство пользователей интернета по-прежнему остаются заложниками империи Facebook/WhatsApp/Instagram. Многие из тех, кто использует Telegram, также находятся на WhatsApp, то есть их телефоны по-прежнему уязвимы. Даже те, кто полностью отказался от WhatsApp, вероятно, используют Facebook или Instagram, оба из которых думают, что это нормально хранить ваши пароли в открытом тексте (я до сих пор не могу поверить, что техническая компания способна сделать что-то подобное и выйти сухой из воды).
Почти за шесть лет своего существования у Telegram не было серьёзных утечек данных или недостатков безопасности, которые WhatsApp демонстрирует каждые несколько месяцев. За те же шесть лет мы раскрыли ровно ноль байтов данных третьим лицам, в то время как Facebook/WhatsApp делятся любой информацией почти со всеми, кто утверждает, что работает на правительство.
Но нытьё о лицемерии FB и отсутствии креативности не поможет. Мы должны признать, что Facebook выполняет эффективную стратегию. Посмотрите, что они сделали со Snapchat.
Это будет нелегко. Отдел маркетинга Facebook огромен. А мы в Telegram не занимаемся маркетингом. Мы не хотим платить журналистам и исследователям, чтобы они рассказывали миру о Telegram. Для этого мы полагаемся на вас — миллионы наших пользователей. Если вам достаточно нравится Telegram, вы расскажете о нём своим друзьям. И если каждый пользователь Telegram уговорит трёх своих друзей удалить WhatsApp и на постоянной основе использовать Telegram, то Telegram уже станет более популярным, чем WhatsApp.
Век жадности и лицемерия закончится. Начнётся эра свободы и приватности. Она гораздо ближе, чем кажется.
Можно ли самостоятельно получить детализацию номера Ватсап
А если вам нужна распечатка Ватсап чужого номера, то сразу же хотим обозначить, что ее официально получить невозможно. Разработчики мессенджера очень надежно охраняют пользовательские данные и не передают их в руки третьих лиц. Такова политика компании.
Стоит упомянуть о том, что в Сети можно найти множество сайтов с сомнительной репутацией и методами, которые готовы предоставить:
- Прослушку чужого номера телефона.
- Распечатку всех или нескольких пользовательских диалогов.
- Детализацию персональной информации учетной записи.
- Любую другую информацию по запросу.
Обращаться к таким услугам мы настоятельно не рекомендуем сразу же по нескольким причинам. Вы рискуете быть заблокированным в Ватсапе пожизненно. Но это не самый неприятный сценарий.
Еще стоит учитывать, что злоумышленники могут даже за деньги вас обмануть, украсть уже вашу информацию и использовать ее в своих целях. То есть вы не только не получите нужные услуги, но еще и будете взломаны.
А последний момент заключается в том, что взлом и хищение пользовательской информации в большинстве современных стран являются незаконными.
Полиция
Если вас подозревают в совершении группового противоправного действия или связи с подельниками через анонимные мессенджеры, представители закона в вашей стране могут запросить у компании право на распечатку определенных переписок.
Как вы понимаете, представители Ватсапа могут пойти на это или отказать, в зависимости от обстоятельств. Однако возможность сотрудничества двух структур все же есть.
Артефакты WhatsApp в iOS-устройстве
Структура ‘ChatStorage.sqlite’:
Наиболее информативными в базе данных ‘ChatStorage.sqlite’ являются таблицы ‘ZWAMESSAGE’ и ‘ZWAMEDIAITEM’.
Внешний вид таблицы ‘ZWAMESSAGE’:
Внешний вид таблицы ‘ZWAMEDIAITEM’:
Другими интересными таблицами базы данных ‘ChatStorage.sqlite’ являются:
Также нужно обращать внимание на следующие каталоги:
Отчет о работе
Если вы используете мессенджер для работы, то в качестве отчета о результатах можно предоставить начальству распечатки переписок. И в данном случае использование этой функции сильно облегчит задачу, ведь весь чат будет перенесен в txt-файл буквально за минуту.
Технический анализ
Открываю отладчик Firefox, чтобы посмотреть, как фронтенд веб-приложения WhatsApp получает нужные данные.
Фронтенд использует для получения данных в реальном времени связь через веб-сокеты, примерно через каждые 10-15 секунд.
Если внимательно следить, то можно заметить, что фронтенд «пингует» сервер примерно каждые 15 секунд строкой . , и почти всегда за этим следует ответ ! . Что-то типа проверки активности соединения. Нам это неинтересно.
Частично скрытое мной значение id — это номер телефона, type — это флаг «доступен/недоступен», t — это временная метка даты last seen . Вся полезная нагрузка инкапсулирована в объект Presence , который легко можно распознать.
Временная метка совпадает с тем, что мы видим в UI.
Артефакты 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;
- информацию о контактах владельца аккаунта.
Эксплойт функции
Я хочу создать эксплойт этой функции для слежения за пользователями (ради научного исследования, конечно). Возникает первый вопрос: как она работает?
Изначально статус имеет значение Offline, и в этом случае WhatsApp передаёт вам абсолютную дату вида last seen 16/03/2020 at 15:40 .
Разблокирую телефон друга и открываю приложение (не WhatsApp), занимаюсь этим минуту, на моей стороне ничего не происходит.
Ладно, теперь переключаемся на WhatsApp. 10 секунд спустя статус изменился на online . Я не перехожу в беседы, которые являются общими с этим телефоном/контактом, чтобы убедиться, что статус передаётся без этого условия.
Статус online сохраняется, пока я не выхожу из WhatsApp или не отключаю экран целевого телефона.
После этого приложение возвращается к новому last seen и состоянию offline.
- Мы не сможем следить за местоположением пользователя в мире при помощи его телефона (надеюсь!)
- Но мы можем отслеживать, пользуются ли WhatsApp те, кто находится в наших контактах
- Утекающая информация представляет собой дату last seen и статус online для каждого контакта
- Можно ожидать как минимум точность до минуты для даты last seen
- А статус online отображается, если WhatsApp был открыт хотя бы в течение 5-10 секунд
Для iOS
Процедура мало чем отличается по своему принципу, но у приложения для Айфона несколько иной интерфейс. Чтобы не запутаться, действуйте в соответствии с инструкцией ниже:
Теперь вы можете открыть txt-документ и, например, распечатать его на принтере. Вот и все, что нужно знать об этой функции.
Распечатка переписки, можно ли ее сделать
В самом мессенджере предусмотрена функция «Экспорт чата». С ее помощью вы можете перенести содержимое разговора в текстовый файл, а также сохранить все медиафайлы. Разберемся с ней более подробно.
Как сделать распечатку на Андроиде и Айфоне бесплатно
Процедура мало чем отличается от версии к версии WhatsApp, однако некоторые особенности все же есть. Для удобства восприятия разобьем дальнейшее повествование на несколько логических блоков.
Завершение
Детализация чужого номера в Ватсапе попросту невозможна, ведь разработчики мессенджера очень тщательно следят за защитой персональных данных пользователей. Единственным исключением может быть запрос от властей, когда речь идет о нарушении законодательства страны. И то, требуется очень веская причина, чтобы получить чужие данные.
А вот со своими чатами дела обстоят куда более просто. Любую переписку можно экспортировать в виде txt-файла и по желанию приложить к ней медиафайлы (картинки, видеоролики, аудиозаписи). Затем текстовый документ можно распечатать на принтере или использовать каким-либо еще образом.
TL;DR: можно защититься от этого хака, изменив настройки конфиденциальности аккаунта. По умолчанию WhatsApp делится вашим статусом с другими людьми. Но так как в наши дни никто не меняет настройки, этот хак срабатывает практически всегда.
Дисклеймер: эта статья является proof of concept, призванной привлечь внимание к проблеме, а также попрактиковать свои технические навыки. Не используйте код для слежки за людьми.
WhatsApp на Android
Спецслужбы
История уведомлений
Для начала необходимо скачать приложение из магазина. Чтобы облегчить поиск, стоит запомнить название разработчика – Yotta Studio.
При запуске появится запрос на предоставление доступа. Для нормального функционирования инструмента необходимо подтвердить оба пункта. Для этого нужно кликнуть по каждому и поставить отметки в окне настроек, которое откроется автоматически.
Когда будут внесены нужные изменения, можно закрыть диалоговое окно и выйти из программы.
Можно также искать нужное уведомление без отсылки WhatsApp, но тогда придется листать длинный список.
Ограничения
Для получения событий presence от сервера через веб-сокеты, мы (фронтенд) подписываемся на конкретный номер телефона ( id ). Это срабатывает, когда мы выбираем другую беседу/контакт при помощи веб-интерфейса.
Итак, в этой концепции мы можем получать только события presence активного контакта. Другими словами, мы можем отслеживать одновременно только один контакт через веб-сокетное подключение. Очень жаль!
Также WhatsApp не позволяет нам открывать несколько параллельных экземпляров приложения (с одинаковыми куки). То есть мы никак не сможем одновременно открыть два канала веб-сокетов. Это было бы слишком просто!
И, наконец, это поведение вида «одна веб-сессия WhatsApp за раз» сохраняется при попытке создания двух независимых сессий (с разными куки). Новая сессия заставляет старую закрыться, в частности, на слое веб-сокетов.
Ещё одно ожидаемое ограничение: валидность сессии ограничена по времени. Срок моей истёк 22.10.2020, спустя шесть с лишним месяцев. Странно, что можно так получить подобную информацию на фронтенде. Возможно, я что-то не так понял.
Читайте также: