Найти тему
FUTURE TECH NOW

Эксперимент. Деанонимизируем telergam аккаунты

Эксперимент с деанонимизацией телеграмм аккаунтов
Эксперимент с деанонимизацией телеграмм аккаунтов

Возьмём Android. Подключим к компьютеру. Предварительно экспортируем контакты и получим файл, который называется vCard.vcf.

Следующие 5 минут прочтения этой статьи будет для нас основой. Копируем его себе на рабочий стол. При открытии с помощью текстового редактора видим следующее:

Файл экспорта контактов с мобильного телефона
Файл экспорта контактов с мобильного телефона

Каждый наш контакт заносится в некий шаблон с началом тега «BEGIN:VCARD» и концом «END:VCARD». Между ними находятся: имя контакта, телефон и фото (если оно есть) – это основные параметры, которые нам будут нужны в дальнейшем.

Что ж, прекрасно, но что это нам дает? А то, что если мы создадим свою базу по подобному шаблону, то сможем импортировать ее обратно в наш телефон и использовать далее по назначению. Память андроида позволяет сохранять до 20 тысяч контактов. Ищем базу номеров в паблике/покупаем/генерируем сами, исходя из нашего региона, и т.п.

Весь смысл заключается в том, чтобы собрать базу из 20 тысяч номеров, присвоить им номера и импортировать в наш телефон.

Я просто купил готовую базу, номера которых зарегистрированы в телеграме. На PHP написал скрип для генерации шаблона «name;number» и создал свой собственный vCard.vcf:

Скрипт генерации шаблона для импорта контактов на телефон
Скрипт генерации шаблона для импорта контактов на телефон

Теперь у нас есть база из 20к контактов, имена которых не известны, как и номера. Но мы же с вами собрались с экспериментом, поэтому копируем эту базу на флешку нашего андроида и через контакты импортируем данную базу:

Импорт контактов на мобильный телефон
Импорт контактов на мобильный телефон

В итоге, получаем телефонную книгу из 20к контактов. Затем переходим к самому интересному. Мы включаем интернет на телефоне. Желательно, Wi-Fi. Запускам клиент телеграмма и, алле-вуаля! Телеграмм предлагает нам синхронизацию контактов, так как считает, что у нас якобы появились новые контакты, а, значит, потенциальные друзья! Естественно, мы соглашаемся. И что же дальше? Телеграмм проверяет ваши номера из телефонной книги на регистрацию в своей базе и выдает вам фото контактов, которые зарегистрированы!

Теперь мы знаем номер телефона и фото пользователя. Что с этим делать дальше? А дальше будет следующее: производим экспорт всех наших контактов. Стандартный экспорт контактов из телеграмма не поможет, так как он не показывает фото, поэтому мы можем, воспользовавшись API, написать свой скрип или взять готовый. Я взял готовый с github «ExportTelegramContacts». В конфиге нужно прописать данные своего API, зарегистрировавшись как разработчик. Делается все это дело за минуты.

Запускаем приложение через консоль:

ExportTelegramContacts скрипт позволяющий экспортировать контакты telegram
ExportTelegramContacts скрипт позволяющий экспортировать контакты telegram

Авторизуемся и введём команду на экспорт с фото

ExportTelegramContacts аутентификация в telegram
ExportTelegramContacts аутентификация в telegram

Спустя некоторое короткое время получаем следующий файл с форматом:

Файл экспорта контактов из telegram
Файл экспорта контактов из telegram

Получаем абсолютно такой же вид, как и был у нас при генерировании импорта, только добавилось поле «фото». Это аватарка нашего контакта, закодированная в base64.

Иными словами, телеграмм «проглотил» нашу базу из 20к номеров и выдал нам все контакты, которые зарегистрированы в системе, попутно привязав к ним реальный аватар пользователя (фото есть не у всех пользователей).

Обнаруженные контакты в telegram
Обнаруженные контакты в telegram

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

А потом все повторяется снова. Экспортируем базу через Export Telegram Contacts и имеем такой же файл формата vcf с данными пользователей (фото, имя, логин).

Затем нам просто нужно сравнить 2 файла и перебрать всех пользователей из первого и второго аккаунтов. Сравнивать мы будем, конечно же, по фото (base64). Соответствующие фото будут означать найденных пользователей, следовательно, мы объединим их фото, логин, номер и имя воедино. Таким образом, мы пробили данные нужных нам пользователей.

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

Что же у нас выходит в итоге? Все просто! Мы имеем 2 телеграмм аккаунта. Один нам нужен для импорта номеров, которые и будем пробивать в дальнейшем. В другой добавим непосредственно интересующих нас людей. Экспортируем из первого аккаунта все наши контакты, которые определил телеграмм, как друзей. Вид экспорта будет: «номер_телефона: фото». Из другого экспортируем те же самые контакты, только вид уже будет: «логин: фото».

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

Формула успеха в данном случае очень проста: фото = фото => логин + номер

Наглядный скрипт для полного перебора пользователей:

Скрипт для корреляции контактов по хэшу фотографии в base64
Скрипт для корреляции контактов по хэшу фотографии в base64

На весь процесс 1 цикла поиска у меня ушло около 10 минут. За это время я перебрал 20 тысяч номеров. В сутки можно прогнать до нескольких миллионов. Полностью автоматизировать этот процесс не удалось, поэтому работать придется руками, что не совсем удобно. К тому же, не все пользователи ставят фото в свой профиль. Ни с какими лимитами или ограничениями я в процессе не столкнулся.

В течение нескольких часов я тестировал схему по максимуму. Не смотря на минусы и плюсы данного метода — сама идея, что номер пользователя телеграмма можно раскрыть – имеет право на жизнь. Думаю кто понял смысл описанной схемы и знаком с работой телеграмм API , сможет «преобразить» и автоматизировать данный мануал и сделать своего телеграмм бота для быстрого деанона.

Спасибо за внимание! Буду очень рад, если ты подпишешься на канал и так же предлагаю посмотреть как за 2 минуты можно вычислить имя любого неизвестного абонента по номеру телефона