# Расследование по всем чатам

Canonical page: https://phishdestroy.github.io/TgWitness/ru/docs/cases/

Работайте с делом в полном объёме, охватывая каналы, группы, личные чаты и ботов: собирайте, сопоставляйте, реконструируйте и передавайте доказательства.

В данном пошаговом руководстве рассматривается один вымышленный инцидент на примере полного цикла работы с учетной записью. В нём используются реальные функции сбора данных, поиска, просмотра профилей пользователей и экспорта. Схема дела представляет собой пример из документации; ваши выводы и реестр дел ведутся вне приложения.

ПРАКТИЧЕСКИЙ ПРИМЕР / ИЗМЕНЕНИЕ ПОЛУЧАТЕЛЯ ПЛАТЕЖА

### Один инцидент. Четыре переписки. След, который необходимо восстановить.

В объявлении канала указывается на бота. В рабочей группе обсуждается новая ссылка для оплаты. В частном сообщении это повторяется. Позже объявление редактируется, а групповое сообщение исчезает.

Кто опубликовал каждую версию?Где появилась эта ссылка?Какой файл был сохранен?Что изменилось и когда?

Информацию о загрузке истории, опциональной проверке источников с помощью ИИ, MCP, OCR и исходящих веб-хуках см. в разделе [«Работа с архивом](https://phishdestroy.github.io/TgWitness/ru/docs/archive/)».

## 1. Обеспечить охват всего аккаунта

1. [Подключите аккаунт для сбора данных](https://phishdestroy.github.io/TgWitness/ru/docs/accounts/) в отдельном рабочем пространстве. Зафиксируйте в заметках по делу номер дела, идентификатор аккаунта, название рабочего пространства и отпечаток ключа подписи.
2. Открытые **источники → Область наблюдения → Режим расследования**. Просмотрите **«Весь аккаунт»**, все четыре типа источников и **«Собственные действия**». Эта предустановка позволяет сохранить профиль нового источника и его последние **200 видимых сообщений**. Нажмите **«Сохранить область»** и завершите подтверждение области.
3. Нажмите **«Загрузить чаты**». Сравните источники со списком диалогов учетной записи и проверьте исключения. В разделе **«Параметры» → «Чаты**, **считываемые из списка учетной записи**» при необходимости настройте начальный лимит списка: по умолчанию установлено 1 000 диалогов, максимальное значение — 20 000. Чаты, выходящие за пределы этого лимита, обнаруживаются по мере их активации.
4. В **настройках записи** выберите и сохраните параметр **«Вся видимая активность**». Ознакомьтесь с типами вложений, ограничениями по размеру и объёмом свободного места на диске. Начните наблюдение и проверьте, как система фиксирует контролируемые сообщения, их редактирование и удаление, прежде чем полагаться на настройки.

КаналыГруппыЧастные чатыБоты

ОДИН АККАУНТ / ОДИН КЛЮЧ ПОДПИСИ**Вся выбранная активность, видимая в учетной записи, → один журнал**

Сообщения · правки · уведомления об удалении · видимые реакции · события, связанные с членством · собственные действия

Термин «весь аккаунт» охватывает все чаты, к которым имеет доступ данный аккаунт, с учётом настроенных типов источников и исключений. Секретные чаты недоступны. Новые диалоги добавляются по мере поступления обновлений; включение данного режима не приводит к автоматической загрузке полной старой истории каждого существующего чата.

## 2. Получение истории и сохранение файлов

Создайте реестр источников для всего расследования. Выделите для каждого чата отдельную строку с его числовым идентификатором, названием, учетной записью, правами доступа/ролью, датой начала сбора данных в реальном времени, датой получения истории, результатами по мультимедиа и известными пробелами. Помечайте источник как «полученный» только после проверки соответствующих результатов.

| Требования | Действия в панели | Что он предлагает |
| --- | --- | --- |
| История по всем включенным чатам | Источники → Загрузить полную историю | Текущая основная функция: доступные прошлые сообщения попадают в журнал рабочей области с возможностью приостановки/возобновления и подписанным отчетом о ходе работы. [Руководство по истории](https://phishdestroy.github.io/TgWitness/ru/docs/reference/history/). |
| Существующий контекст чата в журнале | Источники → Настройки записи → Снимок истории | Последние видимые сообщения представлены в виде подписанных наблюдений. По умолчанию максимальное количество составляет 500; в разделе **«Параметры» → «Максимальный объем исторического снимка»** его можно увеличить до 10 000. |
| Полная история одного чата, доступная на данный момент | Экспорт всего чата → Экспорт всего чата или «Чаты» → Экспорт чата | Отдельный подписанный пакет с `chat.json` и `chat.html`. Повторяйте для каждого источника; сохраняйте результаты успешного выполнения или сбоя. |
| Контекст появления нового чата | Область наблюдения → При появлении нового чата или бота | Профиль источника и до 1 000 последних видимых сообщений; в режиме расследования выбирается 200. Существующие чаты не получают эти данные задним числом. |
| Объём вложения в байтах | Загрузка видимых вложений + ограничения по типам файлов | Проверьте наличие кода `media.saved`, его SHA-256 и количество байтов. Файл, находящийся в очереди, пропущенный или загрузка которого завершилась сбоем, не считается сохраненным. |

Полный экспорт чата представляет собой отдельный моментальный снимок; он не импортирует всю историю в журнал или профили участников. Для поиска исторических данных в TgWitness используйте функцию **«Загрузить полную историю** по всем включенным источникам» или ограниченные моментальные снимки журнала. Перед запуском проверьте список источников.

В рамках рассматриваемого случая необходимо получить данные канала объявлений, оперативной группы, переписки с ботом и последующей частной переписки. Сохраните байты и хеш вложения счета-фактуры. Имеющаяся на сегодняшний день история не позволяет восстановить сообщение, удалённое до момента фиксации, или промежуточное изменение, которое Telegram больше не возвращает.

## 3. Отслеживайте ход разговора и свои собственные действия

Продолжайте наблюдение по мере развития дела. Отметьте активные чаты по делу звездочкой в качестве приоритетных источников; настройте повторную проверку приоритетных и других источников в разделе **«Настройки записи» → «Повторная проверка**». Проверяйте показатели `recheck.completed`, продолжение наверстывания, FloodWait и результаты работы с мультимедиа по мере продвижения работы.

Воспользуйтесь **меню «Чаты» → «Профиль» → «Сохранить профиль сейчас»**, чтобы сохранить текущие описания источников, команды ботов и другие метаданные, возвращаемые Telegram. Данный профиль источника отличается от профилей пользователей, формируемых на основе сообщений журнала.

**Подписка на бота или принятие приглашения в рамках расследования**

1. В разделе **«Чаты» → «Открыть ссылку Telegram**» сначала сохраните предварительный просмотр. Исходная ссылка и полученный предварительный просмотр становятся подписанными записями.
2. Если это требуется в ходе расследования, **команда «Join / open and observe»** присоединяется к источнику или открывает его и запускает бота с указанным параметром запуска. Ожидающий запрос на присоединение остаётся в записи в статусе «ожидающий».
3. Для действия, которое необходимо задокументировать, воспользуйтесь текстовым ответом на панели или поддерживаемым элементом управления **«Нажать кнопку**». Журнал сохраняет значения `interaction.requested` и `interaction.result`, включая возвращённый текст обратного вызова или URL-адрес.

Эти элементы управления выполняют реальные действия в Telegram. Нажатие кнопки обратного вызова в другом приложении Telegram не отображается в коллекторе; последующее сообщение или редактирование, выполненное ботом, может отображаться. Веб-приложения, платежи и запросы на номер телефона/местоположение находятся за пределами мини-клиента.

## 4. Отслеживайте пользователей, ссылки и файлы в различных чатах

1. Откройте **журнал**, оставьте настройку фильтра источников в положении **«Все источники»** и выполните поиск по характерной фразе, домену, имени пользователя или сохраненному идентификатору. Откройте каждую найденную запись и запишите название чата, идентификатор сообщения и порядковый номер записи в журнале.
2. Чтобы перейти к нужному чату, откройте **«Чаты» → «Люди» → «Включить профили»**, затем выберите нужного человека. Просмотрите историю имен/имений пользователей, взаимосвязи ответов, активность, **а также разделы «Также в…»,** другие отслеживаемые чаты и извлеченные ссылки, кошельки или номера телефонов. Откройте указанные записи журнала.
3. Отслеживайте один и тот же числовой идентификатор пользователя Telegram в других чатах данного рабочего пространства. Рассматривайте совпадающее имя, упоминание кошелька или похожий аватар как зацепку для проверки. Упомянутый адрес не подтверждает право собственности; похожий аватар не подтверждает, что речь идет об одном и том же лице.
4. Сравнивайте значения SHA-256 сохраненных вложений в разных записях. Совпадение хэшей подтверждает идентичность байтов сохраненных файлов. Изучите связанные записи сообщений и отправителей, прежде чем делать выводы о том, кто их отправил.

СХЕМА ДЕЛА / ПЕРЕЙДИТЕ ПО ССЫЛКАМВымышленный случай · не является реальным графиком

КАНАЛ / ОБЪЯВЛЕНИЕ**Исходный текст → отредактированный текст**

Записи № 101, № 188 Сообщение № 84 · отправитель не указан

ГРУППА / ОПЕРАЦИИ**Пользователь 71001 публикует новую ссылку**

Запись № 146 · сообщение № 309 · подтверждение сохранения файла № 151

БОТ / ПЕРЕПИСКА О ЗАКАЗЕ**Кнопка ведёт на эту страницу**

Запись № 173 · сообщение № 12 Метаданные кнопки «Вернуться»

ЧАСТНОЕ / ДАЛЬНЕЙШИЕ ДЕЙСТВИЯ**Пользователь 71001 повторяет адрес назначения**

Запись № 205 · сообщение № 922 · Квитанция о сохранении файла № 209

В четырёх чатах приводятся различные наблюдения. Следуйте исходным записям для каждого соединения; не приписывайте сообщение в канале пользователю 71001 без указания отправителя.

Числовые идентификаторы и ссылки на записи придуманы специально для данного руководства. На этой схеме объясняется рабочий процесс аналитика с использованием поиска, профилей и проверки записей; приложение не формирует глобальный график расследования.

| Связь | Вспомогательные замечания | Заключение: оставить без изменений |
| --- | --- | --- |
| Тот же аккаунт в Telegram | Идентификатор пользователя 71001 в группе № 146 и в частном чате № 205 | В обоих чатах указан один и тот же идентификатор отправителя. Вопрос о реальной личности остается отдельным вопросом. |
| Повторное указание адресата | `pay.example.invalid/new` в #146, метаданные кнопки #173, отредактированные сообщения #188 и #205 | Один и тот же адрес встречается в четырёх наблюдаемых контекстах. Сам по себе этот факт не позволяет установить, кто им управляет. |
| Объём файла в байтах | Идентичные полные значения SHA-256 в завершённых квитанциях о передаче медиафайлов № 151 и № 209 | Два сохраненных вложения идентичны на уровне байтов. Один лишь вид имен файлов или миниатюр не позволил бы установить это. |

Профили пользователей содержат информацию об авторах, чьи сообщения сохранены в данном чате, и связывают их с другими чатами в *журнале* того *же рабочего пространства*. Они не являются полным списком участников. Хэши аватаров берутся из отдельного локального кэша; количество ссылок на профили можно настроить в **разделе «Параметры» →**«Количество**ссылок на записи на один факт**».

## 5. Восстановите последовательность и отметьте пробелы

В **разделе «Чаты**» просмотрите сохраненные версии и ссылки на **записи в журнале №…** В разделе **«Журнал**» воспользуйтесь функциями **«Все источники**», а также **«Редактирования»**, **«Удаления»** и **«Охват**». Составьте хронологию дела, указав как дату, указанную в Telegram, так и время наблюдения сборщика данных.

1. 09:00 · #101**Зафиксированное сообщение в канале**

   Первоначальное назначение сохраняется.
2. 09:12 · #146 / #151**Группа предоставляет другую ссылку**

   Пользователь 71001 публикует сообщение; завершается загрузка вложения.
3. 09:16 · #173**Бот показывает тот же пункт назначения**

   Сохраненные метаданные клавиатуры содержат ссылку.
4. 09:20 · #188**Изменения в объявлениях канала**

   Сохраняются как исходные, так и отредактированные записи.
5. 09:24 · #205 / #209**В частном сообщении это повторяется**

   Сохраненное вложение имеет тот же полный SHA-256, что и № 151.
6. 09:28 · #231**Поступает уведомление об удалении группы**

   Предыдущее замечание остаётся в силе: ни лицо, удалившее сообщение, ни точное время удаления не указываются.

Приведены примерные временные рамки наблюдений и ссылки. Между этими записями содержатся и другие записи журнала.

Порядок записей в журнале соответствует порядку получения, а не обязательно исходным действиям в Telegram. Снимок истории более раннего периода может поступать после более свежего сообщения в режиме реального времени. Чётко разграничивайте наблюдения в режиме реального времени, снимки, восстановленные сообщения, уведомления об удалении и сообщения «отсутствует при повторной проверке». Добавляйте явную пометку «неизвестный интервал» везде, где в охвате данных наблюдается пробел; более поздний снимок не устраняет этот пробел.

## 6. Расширьте сферу применения на другие учетные записи, используемые для сбора данных

Создайте рабочую область для каждой отдельной учетной записи и повторите процедуру определения объёма данных и составления перечня истории. Зафиксируйте членство/роль и отпечаток ключа подписи для каждой из них. Указывайте идентификаторы с указанием рабочей области и чата: один и тот же номер сообщения не является глобальным межучётным идентификатором.

Сравнивайте соответствующие наблюдения в своих заметках по делу или инструментах анализа, сохраняя ссылку на аккаунт и журнал для каждой строки. В настоящее время TgWitness не предоставляет единого глобального поиска, объединенной временной шкалы, графа связей между пользователями или архива дел, охватывающих все рабочие пространства. Полный экспорт данных одного канала или супергруппы с учетом нескольких аккаунтов является отдельной функцией; это не объединение журналов всех аккаунтов.

При длительной работе добавьте [независимого свидетеля](https://phishdestroy.github.io/TgWitness/ru/docs/witness/) для сохранения ранее установленных границ. Воспользуйтесь пилотным проектом контролируемой доставки, чтобы определить пути захвата учетных записей и их видимость.

## 7. Предоставьте полный и поддающийся проверке пакет материалов по делу

Экспортируйте ZIP-архив с подписанным журналом из каждой рабочей области. Он содержит полный записанный журнал независимо от фильтров поиска на панели. Экспортируйте профили соответствующих лиц отдельно, сохраняйте каждый полный пакет истории чатов и сохраняйте полные доказательства в виде вложений.

```
CASE-001/                         # assembled by the analyst
  case-notes.md                   # question, findings, alternative explanations
  sources.csv                     # every chat, role, acquisition result and gap
  timeline.csv                    # account + chat + message + seq + both times
  workspace-A/
    evidence.zip                  # complete signed observation journal
    retained-checkpoint.json
    profiles-operations.json      # separately signed people profiles
    history-channel.zip           # signed current-history export
    history-group.zip
    verification.txt
  workspace-B/                    # separate journal and trusted fingerprint
  witness/                        # retained checks, journal and signed posts
  SHA256SUMS                      # hashes of the delivered files
```

Храните доверенные отпечатки через отдельный канал. С помощью доверенной установки проверяйте каждый артефакт на соответствие идентификатору его собственной рабочей области:

```
python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_PUBLIC_KEY_SHA256 --checkpoint retained-checkpoint.json
python -m tgwitness.verify profiles-operations.json --fingerprint TRUSTED_PUBLIC_KEY_SHA256 --evidence evidence.zip
python -m tgwitness.verify history-channel.zip --fingerprint TRUSTED_PUBLIC_KEY_SHA256
```

Проверьте фактические результаты верификации, сохраните исходные данные, а также отчёт об охвате, сведения о сбоях при сборе данных и журнал передачи данных вместе с вашими выводами. Папка дела верхнего уровня и выводы аналитика формируются внешне; отдельные артефакты TgWitness имеют собственные подписи.

## Применяйте тот же метод в других расследованиях

**Спор по поводу заказа или оплаты, инициированный ботом**

**Вопрос:** что обещал бот, какая целевая ссылка была указана и что изменилось впоследствии?

**Путь:** сообщение о входе в канал → сохраненный предварительный просмотр ссылки бота → параметр запуска бота → сообщения и версии ввода с клавиатуры → любые подтверждения обратного вызова, выданные панелью → последующие действия в группе или в личных переписках. Сопоставьте каждую конечную запись с её исходной записью; сохраните описания профилей и приложенные медиафайлы.

**Предоставляется:** хронология зафиксированных предложений и ответов, ссылки на источники и проверенные экспортные данные. Отображаемая ссылка на оплату не является доказательством того, что оплата была произведена.

**Сообщения, удалённые после инцидента, связанного с перекрестным обменом сообщениями между чатами**

**Вопрос:** что уже было замечено до того, как соответствующие сообщения исчезли?

**Отслеживание:** все затронутые чаты → исходные сообщения → доставленные изменения → уведомления об удалении или результаты повторной проверки, выявившие отсутствие сообщений → сохраненные вложения → освещение инцидента в СМИ. Сравнение наблюдений независимых источников с указанием степени их доступности.

**Результат:** последовательность сохраненных версий и явно обозначенные промежутки времени, о которых нет данных. Не следует рассматривать отсутствие сообщения в истории как доказательство того, что конкретный человек его удалил.

**Один из участников использует разные имена в нескольких чатах**

**Вопрос:** какая из наблюдаемых действий относится к одному и тому же аккаунту в Telegram, несмотря на смену имени?

**Путь отслеживания:** числовой идентификатор отправителя → история сохраненных имен/имен пользователей → ответы → другие чаты в рабочей области → упомянутые адресаты и сохраненные файлы. Проверяйте исходные записи для каждого заявленного соединения; отдельно учитывайте аккаунты с похожими именами.

**Результат:** хронология активности учетной записи с указанием источников и отдельные гипотезы о взаимосвязях. Схожесть имен и pHash аватара являются лишь зацепками, а не доказательством личности.
