Хабрахабр

Раскрываем номера пользователей Telegram

image

Для примера, телеграм в первую очередь работает с вашей телефонной книгой. Последнее время безопасность Telegram (далее – телеграм) все чаще поддается критике и встает вопрос: «действительно ли телеграм хорошо защищен?»
Как и для любого мессенджера – важна его максимальная интеграция со сторонними сервисами. Далее – телеграм предлагает вам свободные сообщения и звонки с вашими потенциальными друзьями. Он синхронизирует ваши номера со своей базой и проверяет на наличие регистрации в телеграме. «Удобно» — что еще сказать?
Воспользуемся этой удобностью.

Я взял Samsung A3. Берем в руки Android. Предварительно экспортируем контакты и получаем файлик с названием vCard.vcf. Подключаем к ПК. Копируем себе на рабочий стол, открываем через текстовый редактор и видим следующую картину:
image
Каждый наш контакт заносится в некий шаблон с началом тега «BEGIN:VCARD» и концом «END:VCARD». Следующие 5 минут прочтения этой статьи он будет нашим лучшим другом. А то, если мы создадим свою базу по подобному шаблону, то сможем импортировать ее обратно в наш телефон и использовать далее по назначению. Между ними находятся: имя контакта, телефон и фото (если есть) – это основные параметры, которые нам будут нужны.
Что ж, хорошо, но что это нам дает? Ищем базу номеров в паблике/покупаем/генерируем сами, исходя из нашего региона, и тд.
Смысл в том, чтобы собрать базу из 20 тысяч номеров, присвоить им номера и импортировать в наш телефон.
Я просто купил готовую базу для спама, номера которых зарегистрированы в телеграме. Память андроида позволяет сохранять до 20 тысяч контактов. Но мы же с вами собрались за экшеном, поэтому копируем эту базку на флешку нашего андроида, через контакты импортируем данную базу:
image
В итоге, имеем телефонную книгу из 20к контактов. На PHP написал скриптик для генерации шаблона «name;number» и создал свой собственный vCard.vcf:
image
И так, мы имеем базу из 20к контактов, имена которых не известны, как и номера. Мы подрубаем интернет на телефоне. Далее – самое интересное. Запускам клиент телеграма и, О, ЧУДО! Желательно, Wi-Fi. Мы соглашаемся, конечно же. «Телега» предлагает нам синхронизацию контактов, так как считает, что у нас якобы появились новые контакты, а, значит, потенциальные друзья! Телеграм проверяет ваши номера из телефонной книги на регистрацию в своей базе и выдает вам фото контактов, которые зарегистрированы!
И так, мы теперь знаем номер телефона и фото пользователя. И что делает телега? А делаем мы следующее: экспортируем все наши контакты. Что же нам с этим делать? Я взял готовый с гитхаба «ExportTelegramContacts». Стандартный экспорт контактов из телеграма не поможет, так как он не показывает фото, поэтому мы можем, воспользовавшись API, написать свой скриптик или взять готовый. Делается все за минуты.
Запускаем приложение через консоль В конфиге надо прописать данные своего API, зарегистрировавшись как разработчик.

image

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

image

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

image

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

image

Таким образом, мы знаем, кому принадлежит данный номер, но по прежнему не знаем логина и реального имени пользователя. Раз телеграм пробил реальных пользователей на регистрацию, то выдал нам их фото. Экспортируем базу через ExportTelegramContacts и имеем такой же файл формата vcf с данными пользователей (фото, имя, логин).
Затем нам просто нужно сравнить 2 файла и перебрать всех пользователей из первого и второго аккаунтов. Чтобы узнать логин пользователя, нам нужен другой аккаунт в телеграмме, с ранее добавленными пользователями по их логину.
Ну, а потом все повторяется. Соответствующие фото будут означать найденных пользователей, следовательно, мы объединим их фото, логин, номер и имя. Сравнивать мы будем, конечно же, по фото (base64). Все просто! Таким образом, мы пробили данные нужных нам пользователей.
Конечно, этот процесс не быстрый и дает мало шансов, но, если нам нужно пробить пару тысяч пользователей, то загружая и выгружая по 20 тысяч пользователей, а затем, сравнив их, можно добиться вполне не плохих результатов.
И так, подведем итоги! Один нам нужен для импорта номеров, которые будем пробивать. Имеем 2 телеграм аккаунта. Экспортируем из первого аккаунта все наши контакты, которые определил телеграм, как друзей. В другой добавим интересующих нас людей. Из другого экспортируем те же самые контакты, только вид уже будет: «логин: фото».
Ну, а дальше все просто. Вид экспорта будет: «номер_телефона: фото». Сравниваем два файла и перебираем циклично все контакты, находим те, которые соответствуют фото.
Таким образом, фото из одного списка, которое соответствует фото из друго списка, приравнивается к нашей жертве, и мы узнаем его номер.
Ведь, фото = фото => логин + номер
Наглядный скриптик для полного перебора пользователей: (извиняюсь за красивый код)

image

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть