# Проведіть розслідування у всіх чатах

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

Працюйте над цілою справою, охоплюючи канали, групи, приватні чати та боти: збирайте, пов’язуйте, відтворюйте та передавайте докази.

Цей покроковий посібник простежує один вигаданий інцидент на прикладі цілого облікового запису. У ньому використовуються реальні функції збору, пошуку, профілів осіб та експорту даних. Карта справи є прикладом документації; ваші висновки та реєстр справ зберігаються поза межами додатка.

РЕАЛЬНИЙ ВИПАДОК / ЗМІНА АДРЕСАТА ПЛАТЕЖУ

### Один інцидент. Чотири розмови. Слід, який потрібно відтворити.

У повідомленні в каналі вказано на бота. Оперативна група обговорює нове посилання для оплати. У приватному повідомленні це повторюється. Пізніше повідомлення редагують, а групове повідомлення зникає.

Хто опублікував кожну версію?Де з’явилося це посилання?Який файл було збережено?Що змінилося і коли?

Щодо завантаження історії, опціонального аналізу джерел за допомогою ШІ, MCP, OCR та вихідних веб-хуків див. розділ [«Робота з архівом](https://phishdestroy.github.io/TgWitness/uk/docs/archive/)».

## 1. Забезпечити охоплення всього облікового запису

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

КаналиГрупиПриватні чатиБоти

ОДИН ОБЛІКОВИЙ ЗАПИС / ОДИН КЛЮЧ ПІДПИСАННЯ**Уся вибрана активність, видима для облікового запису, → один журнал**

Повідомлення · редагування · повідомлення про видалення · видимі реакції · події, пов’язані з членством · власні дії

«Весь обліковий запис» охоплює чати, до яких має доступ цей обліковий запис, із налаштованими типами джерел та виключеннями. Таємні чати недоступні. Нові діалоги додаються по мірі надходження оновлень; увімкнення цього режиму не призводить до автоматичного завантаження повної історії всіх існуючих чатів.

## 2. Збирання історії та збереження файлів

Створіть реєстр джерел для всього розслідування. Кожному чату виділіть окремий рядок із його числовим ідентифікатором, назвою, обліковим записом, доступом/роллю, початком збору даних у реальному часі, отриманою історією, результатами мультимедіа та відомими прогалинами. Позначте джерело як отримане лише після перевірки відповідного результату.

| Потрібно | Дії на панелі | Що він пропонує |
| --- | --- | --- |
| Історія у всіх увімкнених чатах | Джерела → Завантажити повну історію | Поточна основна функція: доступні минулі повідомлення потрапляють до журналу робочого простору з можливістю призупинення/відновлення та підписаним звітом про хід роботи. [Посібник з історії](https://phishdestroy.github.io/TgWitness/uk/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/uk/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 аватара є лише підказками, а не доказом ідентичності.
