1 1 2 1 2
Sign in to follow this  
HarliDemon

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

Recommended Posts

18e9a91ee8d185010433c.png
 

Последнее время безопасность телеграм все чаще поддается критике и встает вопрос: «действительно ли телеграм хорошо защищен?»

 

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

 

Воспользуемся этой удобностью. 

 

Берем в руки Android. Я взял Samsung A3. Подключаем к ПК. Предварительно экспортируем контакты и получаем файлик с названием vCard.vcf. Следующие 5 минут прочтения этой статьи он будет нашим лучшим другом. Копируем себе на рабочий стол, открываем через текстовый редактор и видим следующую картину:

d7efc6853daf4df233b04.png
 

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

 

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

 

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

 

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

90718ad6544db666a8edc.png
 

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

8ce32026ed6d5e358fc8d.png
 

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

 

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

 

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

f524658c4fe4d9d218ee6.png
 

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

d62f2b16cb30159415f6e.png
 

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

f449e9dfb40d8ffc28dd8.png
 

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

 

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

38b515fc252f8e3d2e38d.png
 

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

 

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

 

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

 

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

 

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

 

Ну, а дальше все просто. Сравниваем два файла и перебираем циклично все контакты, находим те, которые соответствуют фото.

 

Таким образом, фото из одного списка, которое соответствует фото из друго списка, приравнивается к нашей жертве, и мы узнаем его номер.

 

Ведь, фото = фото => логин + номер

 

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

7e1ba1c6c53250922d24c.png
 

Подведем итоги!

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this