В прошлом квартале при расследовании утечки корпоративных данных единственной зацепкой оказался Telegram-юзернейм в логах слитого дампа. За два часа работы с TGStat и скриптом на Telethon удалось выстроить цепочку от анонимного канала до конкретного сотрудника - через корреляцию юзернейма на четырёх платформах и анализ форвардных цепочек. Не магия, а методичный перебор публичных данных.
Большинство русскоязычных материалов по этой теме - списки из 50-60 ботов для "пробива" без единой воспроизводимой команды. Здесь - конкретные инструменты с разбором флагов, пошаговый запуск через Termux на Android и рабочий код на Telethon API.
Место разведки в Telegram в цепочке OSINT
Telegram-разведка - не отдельный трюк, а элемент полноценного OSINT-цикла. В терминологии MITRE ATT&CK работа с мессенджерами покрывает сразу несколько тактик: Подробнее - в нашем статье о asset management пентест.- Reconnaissance: сбор данных о целях через социальные медиа (T1593.001, Social Media), поиск учётных данных (T1589.001, Credentials), email-адресов (T1589.002, Email Addresses) и имён сотрудников (T1589.003, Employee Names)
- Collection: извлечение информации из мессенджеров (T1213.005, Messaging Applications)
- Credential Access: обнаружение паролей и токенов в переписках (T1552.008, Chat Messages)
Для автоматизации используются Python-скрипты и Unix Shell через Termux. Уточнение: в ATT&CK техники T1059.006 (Python) и T1059.004 (Unix Shell) относятся к тактике Execution и описывают поведение противника на скомпрометированной системе, а не работу OSINT-аналитика на собственном устройстве. Упоминаю для справки - злоумышленник может применять те же средства для разведки целей.
Требования к окружению
Перед первой командой - что должно быть готово.Desktop ((GNU/Linux)/macOS/Windows):
- Python 3.8+ (рекомендую 3.10+)
- RAM: от 2 ГБ для скриптов на Telethon, от 4 ГБ при параллельном парсинге нескольких каналов
- Telegram API credentials: api_id и api_hash (получаются на my.telegram.org, нужен номер телефона)
- Стабильный интернет (Telegram API требует постоянного соединения)
- Android 7.0+ (актуальные сборки Termux из F-Droid требуют API 24+)
- RAM: от 3 ГБ на устройстве (Termux + Python + зависимости съедают ~1.5 ГБ)
- Хранилище: от 2 ГБ свободного места
- Termux из F-Droid (версия из Google Play не обновляется с 2020 года - считайте её мёртвой)
OSINT инструменты для Telegram: что выбрать и когда
Русскоязычные обзоры обычно перечисляют десятки ботов без анализа ограничений. Ниже - trade-off таблица по инструментам, которые реально работают в расследованиях. Критерий отбора: инструмент оперирует публичными данными (не утечками), даёт воспроизводимый результат и доступен без платной подписки хотя бы для базового функционала.
| Инструмент | Преимущества | Ограничения | Когда использовать | Когда НЕ использовать |
|---|---|---|---|---|
| TGStat (tgstat.com) | Веб-интерфейс, статистика каналов, поиск по ключевым словам, API-ключи не нужны | Только публичные каналы, нет данных о конкретных пользователях | Первичная разведка: каналы по теме, аудитория, упоминания | Нужна информация о конкретном пользователе |
| Telethon 1.36+ (Python) | Полный доступ к Telegram API, автоматизация, извлечение участников | Требует api_id/api_hash, rate-limiting, нужен Python | Массовый сбор, мониторинг, кастомные сценарии | Быстрая ручная проверка одного юзернейма |
| Maigret (GitHub: soxoj/maigret) | Поиск юзернейма на ~3000 платформах | Высокий false-positive rate, скан 10-20 минут | Корреляция Telegram-юзернейма с другими платформами | Поиск внутри Telegram (каналы, группы) |
| TelegramDB (telegramdb.org) | Бесплатный поиск по публичным каналам и группам | Ограниченная индексация, не все каналы попадают в базу | Быстрый поиск каналов и ботов по ключевым словам | Глубокий анализ участников |
| IntelX.io (Telegram search) | Архивные данные Telegram, интеграция с другими OSINT-источниками | Полный функционал платный, бесплатный тариф ограничен | Поиск исторических данных, удалённые сообщения | Мониторинг в реальном времени |
| metadata2go.com | Извлечение EXIF/GPS из медиафайлов | Работает только с файлами, не с Telegram-данными напрямую | Анализ фото/видео из каналов (геолокация, камера) | Текстовый анализ переписок |
Командные утилиты: Maigret и Telepathy
Maigret (форк Sherlock с расширенной базой сайтов) - основной инструмент для корреляции юзернеймов. Проект активно поддерживается, регулярные коммиты на GitHub. Установка черезpip install git+https://github.com/soxoj/maigret(GitHub - soxoj/maigret: maigret target_username. Ключевые флаги: --timeout 15 увеличивает таймаут для медленных сайтов, --top-sites 500 ограничивает проверку популярными платформами и сокращает время с 20 до 5 минут. Из ~3000 сайтов в базе реально полезных - пара сотен, остальные дают false-positive. Так что --top-sites - не компромисс, а здравый смысл.Telepathy (GitHub: jordanwildon/Telepathy) - специализированный инструмент для сбора данных из Telegram-каналов. Собирает сообщения, медиа, форвардные цепочки. Под капотом - тот же Telethon API, но с CLI-обёрткой. Ограничение: те же rate-limit'ы, что и при прямой работе с Telethon. Обёртка не спасает от FloodWaitError.
Веб-сервисы: TGStat и поисковые платформы
TGStat (tgstat.com) - первый инструмент, с которого я начинаю разведку в Telegram. Не требует регистрации для базового поиска. Показывает количество подписчиков, динамику роста, среднее покрытие постов. Для OSINT полезна функция поиска упоминаний: можно найти, в каких каналах упоминался конкретный юзернейм или фраза.Дополнительные сервисы: Lyzem (lyzem.com) работает как поисковик по публичным Telegram-беседам - поиск по фразам выдаёт сообщения из групп. Archive.org (archive.org/details/archiveteam_telegram) хранит архивные снапшоты Telegram-каналов - бывает полезно, когда канал уже удалён или очищен. Не раз выручало: канал почистили, а снапшот остался.
Запуск OSINT Telegram через Termux на Android
Termux - полноценная GNU/Linux-среда на Android без root. В полевых условиях - конференции, выездные проверки, физическое наблюдение - ноутбук не всегда уместен, и Termux OSINT на Android становится единственным вариантом. Телефон в руке вопросов не вызывает, ноутбук - вызывает.
Установка базового окружения:
Bash:
pkg update && pkg upgrade -y
pkg install python git clang libffi openssl -y
pip install telethon
pip install git+https://github.com/soxoj/maigret
- Termux из Google Play - deprecated разработчиками, targetSdkVersion устарел и на современных версиях Android приложение работает нестабильно или не запускается. Устанавливайте только из F-Droid или GitHub Releases
- Падение pip install с ошибкой компиляции cryptography - выполните
pkg install rustперед повторной установкой. Да, Rust в Termux. Звучит дико, но работает - Termux убивается Android при уходе в фон - перед длительными операциями выполните
termux-wake-lock. Без этого система прибьёт процесс через 5-10 минут. Классика Android - "оптимизация батареи" убивает то, что не надо - Результаты недоступны из файлового менеджера - выполните
termux-setup-storageодин раз и сохраняйте результаты в~/storage/shared/
maigret target_username --top-sites 300 --timeout 10. Флаг --top-sites 300 критичен для мобильного устройства: полный скан ~3000 сайтов занимает 30+ минут и может быть прерван системой при нехватке RAM. С ограничением до 300 - результат за 3-5 минут.Методики сбора данных в Telegram OSINT
Поиск информации в Telegram по юзернейму
Юзернейм - точка входа в большинство расследований. Люди ленивы (и это хорошо для OSINT) - переиспользуют один юзернейм на нескольких платформах, что делает корреляцию самым результативным первым шагом.Алгоритм:
- Зафиксировать юзернейм из Telegram
- Прогнать через Maigret на наличие совпадений на других платформах
- Найденные профили на GitHub/LinkedIn/VK дают дополнительные привязки: email, реальное имя, геолокация
- Проверить юзернейм через TGStat - в каких каналах и группах фигурирует как админ или упоминается
- Выполнить обратный поиск по аватарке (Google Images, TinEye) - если пользователь использует одно фото на нескольких платформах, это даёт ещё одну точку привязки
Анализ Telegram каналов и форвардных цепочек
Публичные каналы и группы - основной источник при анализе Telegram каналов OSINT. Что можно вытянуть:- Список участников - в группах до 200 участников API отдаёт полный список; в крупных группах - только активные. Ограничение ChannelParticipantsRecent, обойти нельзя
- Форвардные цепочки - если сообщение переслано, метаданные форварда раскрывают источник, даже если исходный канал закрыт. Это одна из самых недооценённых техник: анализируя форварды, можно восстановить целую сеть связанных каналов. Я на одном кейсе так раскопал 12 связанных каналов из одного форварда
- Корреляция по admin ID - администраторы часто управляют несколькими каналами, и в части публичных каналов API позволяет получить список админов (ChannelParticipantsAdmins), если они не скрыты владельцем
- Геолокация - если пользователь делился местоположением в группе, данные доступны через API. Сервис metadata2go.com позволяет извлечь EXIF-данные из фотографий, опубликованных в каналах
Telegram API парсинг через Telethon
Telethon (версия 1.36+) - Python-библиотека для прямой работы с Telegram API. Базовое подключение:
Python:
from telethon import TelegramClient
api_id = 12345 # ваш api_id с my.telegram.org
api_hash = 'your_hash' # ваш api_hash
client = TelegramClient('osint_session', api_id, api_hash,
flood_sleep_threshold=60)
async def main():
await client.connect()
async for msg in client.iter_messages('channel_name', limit=100):
print(msg.sender_id, msg.text)
# Для групп >200 участников вернёт только часть (ограничение ChannelParticipantsRecent)
async for user in client.iter_participants('group_name'):
print(user.id, user.username)
await client.disconnect()
import asyncio
asyncio.run(main())
osint_session.session, повторная авторизация не потребуется.Rate-limiting - главная боль работы с Telegram API. FloodWaitError с таймером от 30 секунд до 24 часов - стандартная ситуация. Параметр
flood_sleep_threshold=60 в конструкторе TelegramClient задаёт порог: при лимите до 60 секунд клиент автоматически ждёт, при большем - бросает исключение. Между пакетами запросов - пауза 2-3 секунды через asyncio.sleep(). Новые аккаунты (менее 7 дней) получают значительно более жёсткие ограничения. Совет: заведите OSINT-аккаунт заранее и дайте ему "отлежаться" хотя бы неделю.Ограничения техник и юридические рамки разведки по открытым источникам Telegram
Когда Telegram OSINT не работает
- Secret chats - сквозное шифрование, данные не проходят через API, извлечь невозможно. Точка
- Скрытые номера телефонов - если пользователь закрыл номер в настройках приватности (по умолчанию с 2019 года), API его не отдаёт
- Приватные группы без инвайта - без ссылки-приглашения нет доступа к участникам и сообщениям
- Удалённые сообщения - после удаления данные недоступны через API, но могут сохраниться в архивах Archive.org или кеше поисковых систем
- Аккаунты без юзернейма - корреляция через Maigret невозможна, если у цели только числовой ID без публичного имени. Тупик, если нет других зацепок
Юридические границы
Разведка по открытым источникам легальна, пока вы работаете с публично доступными данными.Допустимо:
- Анализ публичных каналов и групп
- Поиск юзернеймов через открытые сервисы (TGStat, TelegramDB)
- Корреляция публичных профилей на разных платформах
- Извлечение метаданных из публично размещённых медиафайлов
- Использование данных из утёкших баз - боты «пробива» по номеру телефона оперируют именно такими базами
- Массовый сбор персональных данных без правового основания - штрафы по ст. 13.11 КоАП РФ до 500 тыс. рублей для юрлиц, с 30.05.2025 до 18 млн рублей за повторное нарушение
- Публикация собранных персональных данных (доксинг) - до 4 лет лишения свободы по ст. 137 УК РФ
- За утечки персональных данных предусмотрены штрафы до 15 млн рублей за первичное нарушение и до 500 млн рублей за повторные
Чеклист для Telegram OSINT-расследования
📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
По моему опыту, ключевые находки дают шаги 5-8. Остальное - для случаев, когда цель осознанно минимизирует цифровой след в Telegram.
За несколько десятков расследований, где Telegram был ключевым источником, я вижу один и тот же паттерн: русскоязычное OSINT-сообщество зациклено на ботах "пробива", которые по сути торгуют утёкшими персональными данными. Это не OSINT - это нарушение закона, причём штрафы за это с 2025 года выросли кратно. Настоящая разведка по открытым источникам - это корреляция публичных данных, анализ поведенческих паттернов и методичный перебор платформ через Maigret и TGStat. Занимает больше времени, зато результаты юридически чистые и воспроизводимые в отчёте.
Мобильная разведка через Termux - отдельная история. Многие считают это несерьёзным, но в полевых условиях Android с настроенным Termux - единственный вариант, когда ноутбук привлекает внимание или физически недоступен. Ограничения есть: RAM, время от батареи, убийство процессов системой. Для быстрой проверки юзернейма и первичной корреляции - хватает за глаза.
Прогноз на ближайший год: Telegram продолжит ужесточать API-ограничения для свежих аккаунтов, и рабочая сегодня цепочка через Telethon через полгода потребует адаптации. Те, кто строит расследования на готовых ботах, останутся без инструментов при первом же изменении API. Те, кто понимает механику и умеет писать свои скрипты, адаптируются за вечер. Попробуйте прогнать свой юзернейм через
maigret your_username --top-sites 500 - результат может неприятно удивить.
Последнее редактирование модератором: