С каждым днём Telegram завоёвывает всё большую аудиторию пользователей по всеми миру. Но при этом всё чаще можно услышать критику касательно его безопасности и защиты персональных данных каждого отдельно взятого пользователя. Сегодня мы поговорим о том, как узнать номер телефона пользователя telegram и использовать данную информацию в своих целях.
Возьмём Android. Подключим к компьютеру. Предварительно экспортируем контакты и получим файл, который называется vCard.vcf. Следующие 5 минут прочтения этой статьи он будет для нас основой. Копируем его себе на рабочий стол. При открытии с помощью текстового редактора видим следующее:
Каждый наш контакт заносится в некий шаблон с началом тега «BEGIN:VCARD» и концом «END:VCARD». Между ними находятся: имя контакта, телефон и фото (если оно есть) – это основные параметры, которые нам будут нужны в дальнейшем.
Что ж, прекрасно, но что это нам дает? А то, если мы создадим свою базу по подобному шаблону, то сможем импортировать ее обратно в наш телефон и использовать далее по назначению. Память андроида позволяет сохранять до 20 тысяч контактов. Ищем базу номеров в паблике/покупаем/генерируем сами, исходя из нашего региона, и т.п.
Весь смысл заключается в том, чтобы собрать базу из 20 тысяч номеров, присвоить им номера и импортировать в наш телефон.
Я просто купил готовую базу для спама, номера которых зарегистрированы в телеграме. На PHP написал скрип для генерации шаблона «name;number» и создал свой собственный vCard.vcf:
Теперь у нас есть база из 20к контактов, имена которых не известны, как и номера. Но мы же с вами собрались за экшеном, поэтому копируем эту базку на флешку нашего андроида, через контакты импортируем данную базу:
В итоге, получаем телефонную книгу из 20к контактов. Затем переходим к самому интересному. Мы подрубаем интернет на телефоне. Желательно, Wi-Fi. Запускам клиент телеграма и, алле-оп вуаля! Телеграм предлагает нам синхронизацию контактов, так как считает, что у нас якобы появились новые контакты, а, значит, потенциальные друзья! Естественно, мы соглашаемся. И что же дальше? Телеграм проверяет ваши номера из телефонной книги на регистрацию в своей базе и выдает вам фото контактов, которые зарегистрированы!
Теперь мы знаем номер телефона и фото пользователя. Что с этим делать дальше? А дальше будет следующее: производим экспорт всех наших контактов. Стандартный экспорт контактов из телеграма не поможет, так как он не показывает фото, поэтому мы можем, воспользовавшись API, написать свой скрип или взять готовый. Я взял готовый с гитхаба «ExportTelegramContacts». В конфиге нужно прописать данные своего API, зарегистрировавшись как разработчик. Делается все это дело за минуты.
Запускаем приложение через консоль:
Авторизуемся и введём команду на экспорт с фото
Спустя некоторое короткое время получаем следующий файл с форматом:
Получаем абсолютно такой же вид, как и был у нас при генерировании импорта, только добавилось поле «фото». Это аватарка нашего контакта, зашифрованная в base64.
Иными словами, телеграмм «проглотил» нашу базу из 20к номеров и выдал нам все контакты, которые зарегистрированы в системе, попутно привязав к ним реальный аватар пользователя (фото есть не у всех пользователей).
Если телеграм пробил реальных пользователей на регистрацию, то логично, что он выдал нам их фото. Теперь мы знаем, кому принадлежит данный номер, но по прежнему не знаем логина и реального имени абонента. Чтобы узнать логин пользователя, нам нужен другой аккаунт в телеграмме, с ранее добавленными пользователями по их логину.
А потом все повторяется снова. Экспортируем базу через Export Telegram Contacts и имеем такой же файл формата vcf с данными пользователей (фото, имя, логин).
Затем нам просто нужно сравнить 2 файла и перебрать всех пользователей из первого и второго аккаунтов. Сравнивать мы будем, конечно же, по фото (base64). Соответствующие фото будут означать найденных пользователей, следовательно, мы объединим их фото, логин, номер и имя воедино. Таким образом, мы пробили данные нужных нам пользователей.
Естественно, этот процесс не быстрый и дает мало шансов. Но если нам нужно пробить несколько тысяч пользователей, то загружая и выгружая по 20 тысяч абонентов, а затем, сравнив их, можно добиться вполне приличных результатов.
Что же у нас выходит в итоге? Все просто! Мы имеем 2 телеграм аккаунта. Один нам нужен для импорта номеров, которые и будем пробивать в дальнейшем. В другой добавим непосредственно интересующих нас людей. Экспортируем из первого аккаунта все наши контакты, которые определил телеграм, как друзей. Вид экспорта будет: «номер_телефона: фото». Из другого экспортируем те же самые контакты, только вид уже будет: «логин: фото».
А дальше все элементарно. Сравниваем два файла и перебираем циклично все контакты, находим те, которые соответствуют фото. Таким образом, фото из одного списка, которое соответствует фото из другого списка, приравнивается к нашей жертве, и мы узнаем её номер.
Формула успеха в данном случае очень проста: фото = фото => логин + номер
Наглядный скрипт для полного перебора пользователей:
На весь процесс 1 цикла поиска у меня ушло около 10 минут. За это время я перебрал 20 тысяч номеров. В сутки можно прогнать до нескольких миллионов. Полностью автоматизировать этот процесс не удалось, поэтому работать придется руками, что совсем неудобно. К тому же, не все пользователи ставят фото в свой профиль. Ни с какими лимитами или ограничениями я в процессе не столкнулся. В течение нескольких часов я тестировал схему по максимуму. Не смотря на минусы и плюсы данного метода — сама идея, что номер пользователя телеграмма можно раскрыть – имеет право на жизнь.
Теперь ваша очередь испытать свои силы в новой практической головоломке. Удачи)
11 comments On Как узнать номер телефона пользователя telegram
Возьмём Андройд, имеется ввиду телефон или эмулятор?
имеется ввиду ОС Андроид. без разницы на чем. можно и эмулятор
Можно чуть проще.
1. Создать левый акк гугла и в него импортировать всю базу номеров. За раз получается перенести не более 1000 штук
2. Синхронизируемся
3. Смотрим в телеге
done
Есть тоже идея насчёт твоего комментария просьба свяжись со мной, оставлю тут свои данные для связи.
Телеграм: https://t.me/HerzMAN
Почта: foooren@bk.ru
Есть вариант. При импорте номеров в контакты высвечивается ник пользователя, то есть если импортировать через API огромное количество номеров, то с большой вероятностью номер будет определен
Я нашел видео на ютубе где бот определяет номер реального человека, на развод не похоже https://www.youtube.com/watch?v=FNAmFj6uEcg
Судя по тому, что комментарии к этому видео отключены, смею предположить, что это «развод»
20 000 за 10 минут? можно это делать намного быстрее если использовать многопоточность.
Если бы ты сказал, что вода мокрая или сахар сладкий — это выглядело бы примерно так же, хотя нет лучше, на юмор бы смахивало, а то что многопоточность быстрее чем однопоточность понятно даже последнему идиоту, комментарий человека, который вчера узнал о существовании термина «многопоточность», столько ржачных тел в сети, ты сделал мой вечер))
Pingback: Как взломать телеграмм - часть 1. Кража телеграмм канала - Cryptoworld ()
привет
Можете показать, как посмотреть чей-то последний вход в телеграмм. То есть, например, я не вижу, чтобы кто-то последний раз заходил в Telegram. как я могу увидеть его последний вход в телеграмму?
Господа, Телеграм эту уязвимость уже закрыл. Не работает эта схема.