February 26

Мануал по работе с Telegram — Telerecon, Telesint, Similar Channels и немного Google Sheets

Telerecon, Telesint, Similar Channels и немного Google Sheets

В этом мануале я прошёлся по базовым и более продвинутым методам проведения OSINT расследования в Телеграм, будь то человек или сообщество (канал/-ы, группа). "Продвинутая" часть мануала сконцентрирована на интересной связке Telerecon'a, Telesint'a и Telegram Similar Channels; а так же пара мелочей по работе с таблицами (вспоминаем уроки информатики)

Оглавление

Подготовка к работе

Как узнать дату регистрации пользователя

В каких соц. сетях сидит человек

Работа с Telesint

Работа с Telegram Similar Channels

Работа с Telerecon

Подготовка к работе

Нам понадобится набор из нескольких инструментов, который не ограничивается ботами в Телеграм. Первым делом нам нужно установить Python. Если у вас всё ещё его нету, то скачать его можно с официального сайта.

После установки, откройте консоль (Win+R > "cmd") и введите в неё python. Если вам не выдало ошибки — вы всё сделали правильно.

Установка Telerecon

Telerecon — инструмент для работы с Телеграмом который упрощает многие задачи, но подробнее об этом позже. Скачать его можно с Гитхаба. Необязательно там регестрироваться или качать их приложение, просто перейдите по ссылке, нажмите на зеленую кнопку "Code" > "Download ZIP". Скаченный архив выгрузите в удобное для вас место.

Открываем консоль, переходим в папку куда вы выгрузили архив и вводим следующие команды:

pip install -r requirements.txt

Таким образом мы устанавливаем все необходимые для работы Telerecon'a библиотеки.

python -m spacy download en_core_web_sm

Этот модуль требуется для работы некоторых функций.

Далее запускаем python setup.py. Вас попросят ввести API ключ, API хэш, номер телефона и код, который пришёл вам в Телеграм. Настоятельно рекомендую использовать левый аккаунт! Получить API ключ и хэш можно на my.telegram.org.

В дальнейшем запустить Telerecon можно будет командой python launcher.py

Установка Similar Channels от @soxoj

Telegram Similar Channels — инструмент от soxoj, который написал оболочку для эксплуатации новой функции Телеграма "Похожие Каналы".

Установка такая же, как и с Telerecon: скачиваем репозиторий как архив, выгружаем в любую папку, открываем консоль и устанавливаем requirements.txt командой pip install -r requirements.txt

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

pip install --upgrade telethon

Далее в файл transforms/credentials.py добавьте свои API ID и API Hash полученные с https://my.telegram.org/

Узнать дату регистрации пользователя

Вопрос продолжает оставаться актуальным, хоть на него отвечалось уже несколько раз. Узнать 100% достоверную дату регистрации нельзя, но можно узнать примерную.

Бот @creationdatebot покажет приблизительную дату регистрации. Это поможет проверить не является ли аккаунт фейком, к примеру.

Для работы этого бота вам понадобится ID пользователя. Его можно получить используя никнейм в Telerecon или используя сторонние клиенты Телеграма. Или просто перешлите сообщение пользователя боту.

Рекомендую вам сохранить ID пользователя. Никнейм может поменяться, а вот ID — нет.

В каких других соц. сетях сидит человек

Если мы знаем о пользователе из Телеграма, то не помешало бы знать где он ещё сидит. Есть несколько способов это узнать, но мы остановимся на двух: по имени/никнейму и по аватарке.

По имени/никнейму

Многие из нас используют один и тот же ник везде: кто по глупости/лени, а кто-то в интересах личного бренда.

В целях проверки существования ника на разных сервисах был сначала создан sherlock, а затем и его более мощный форк — Maigret. Последним можно пользоваться прямо из Телеграма, причём совершенно бесплатно.

Просто откройте бота и введите имя или никнейм пользователя в Телеграм. Бот выдаст вам HTML отчёт со списком сервисов, форумов и соц. сетей где этот ник используется.

Иногда попадаются false positives, так что рекомендую вручную проверять то что вам вернул бот.

По аватарке

С аватарами такая же история как и с никнеймами — мы часто используем одну и ту же везде, будь то это хорошая фотография или аниме-вайфу. Есть несколько способов для reverse image search, но я опишу только 3 из них.

PimEyes

Один из самых лучших и самых дорогих сервисов. Показывает где конкретная фотография или лицо светилось в интернете. С недавних пор сервис не работает с фотографиями детей/подростков, хотя иногда пропускает и такое.

TinEye

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

Поисковики

Поиск по изображениям в Google, Yandex или том же Bing могут быть хорошей альтернативой выше упомянутым сервисам. Говорят что Yandex лучше ищет людей по лицу.

Работа с Telesint

Telesint — бот от @JSDio который позволяет просмотреть в каких группах состоит пользователь. Пожалуй один из самых лучших OSINT инструментов для работы с Телеграмом.

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

Просто введите ник или ID пользователя и он вернёт вам список из открытых и закрытых групп где состоит пользователь, а так же является ли он где-то админом.

Работа с Telegram Similar Channels

Запустите скрипт через консоль используя python search.py и введите имя канала. На выходе вы получите два файла в удобных для работы формата — json и csv.

Основным отличием и преимуществом этого метода перед встроенной функцией в самом приложении Телеграма это возможность работы с 10, 100 и 1000 каналов за раз. Это можно использовать как в построении сети каналов схожей тематики для дальнейшего изучения, так и для поиска групп привязанных к этим каналам.

Работа с Telerecon

Некоторые функции говорят сами за себя, а на некоторых я зострю особое внимание.

Информация о пользователе

Выбрав первый пункт Telerecon вернёт информацию о пользователе включая его ID.

Выгрузка сообщений из группы/канала

Для выгрузки абсолютно всех сообщений из группы или канала выбираем 5 пункт и вводим ссылку без "https://", хоть тул и говорит обратное.

Для выгрузки только ссылок начинающихся на t.me выбираем 6 пункт.

Прежде чем это делать лучше проверьте, сколько всего сообщений находится на канале или в группе. Сделать это можно скопировав ссылку на последнее сообщение и просмотрев на номер после имени канала — t.me/<name>/12732, "12732" будет номером поста, а значит и их кол-вом. Telerecon будет качать все сообщения и это может занять очень много времени.

Что пишет пользователь в разных группах

Есть два варианта исхода событий:

  1. У вас есть свой список групп в которых учавствует пользователь
  2. Вы взяли этот список из Telesint'a

Если вас интересует только одна группа: выбираем пункт 3, вводим никнейм, а затем ссылку на группу.

Если у вас есть список из нескольких групп, то создаём текстовый файл со списком ссылок и выбираем 4 пункт.

Telerecon спросит вас хотите ли вы скачать медиа, но в контексте этого мануала нам это не нужно.

В конце на выход вы получите две таблицы: <nickname>_messages и <nickname>_network. Нас пока интересует первый со списком всех сообщений пользователя в группах где он состоит.

Поиск "энтити" в сообщениях пользователя

В функциях Telerecon'a так же присутствует возможность получить список упоминания определенных обьектов в сообщениях пользователя; такие как имена, имейлы, номера телефонов и прочее.

Для этого выберем 10 пункт и введём никнейм пользователя.

Важно! Для того что бы эта функция работала вам нужно уже иметь файл с сообщениями "на руках", иначе вам выдаст ошибку.
Если где-то светились имейлы, номера телефонов или интересы -- они будут описаны в этом файле.

Есть так же очень похожая функция выгрузки NER (Named Entity Recognition), запустить её можно командой номер 13. На выходе вы получите следующий рапорт:

В отличии от предыдущей функции PDF не включает ссылки на сообщения, по-этому придется искать их вручную в таблице.

Анализ связей пользователя

Можно построить "список связей" пользователя собрав все аккаунты на чьи сообщения он отвечал (подразумевается что у вас уже есть таблица с сообщениями); таким образом можно понять с кем связан человек. Однако что бы это сделать есть два пути: "из коробки" и хитро-выдуманный. Я опишу оба.

Из коробки

После того как мы выгрузили сообщения пользователя из групп мы получили два файла: <nickname>_messages и <nickname>_network. Имея вторую таблицу на руках выбираем 9 пункт и получаем картину где мало что понятно и всё некрасиво:

Хитро-выдуманный путь

Открываем файл <nickname>_network в Excel или Google Sheets:

Выбираем удобный для нас пустой столбец, скажем L, и вводим следущую функцию что бы получить уникальные значения из списка риплаев (без повторений):

=UNIQUE(A1:A135)

Где A1:A135 -- диапазон ячеек, которые нас интересуют. Получаем на выход вот это:

Далее выбираем следующий от выбранного столбец и вводим функцию, которая покажет кол-во повторений текста в столбце:

=COUNTIF(A1:A135, L2)

"A1:135" — диапазон где ищем, а L2 — что ищем. Расширяем формулу на все ники в таблице и получаем удобный для работы список:

В столбце L у нас никнеймы, а M -- кол-во реплаев.

В целях наглядности отображения можно использовать Gephi, Excel, Google Sheets или что вашей душе угодно.

Визуализация ссылок на другие каналы

Функционал чем-то похож на цитирование в TG Stat. Для этого выбираем 7 пункт и вводим название канала.

На выходе получаем таблицу всех ссылок на другие каналы:

А поигравшись с тем же Google Sheets, Excel или Gephi можно создать простенькую визуализацию на примере этой: