Статья PoC: Узнать ник, по номеру телефона (Python/Telegram)

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

Эту задачу можно решить топорным и медленным способом, вручную добавляя к себе в контакты интересующие номера и затем открывая профили тех юзеров, которые окажутся зарегистрированными в ТГ. В профиле очевидным образом будет отображаться ник юзера, который начинается с символа собачки, разумеется, если юзер установил таковой.

Но мы же хакеры, нам не интересны топорные методы, гораздо круче написать свой собственный переборщик номеров, который сделает работу за считанные секунды. Мне больше всего нравится язык Python, поскольку он подходит для подобных задач и позволяет написать функциональный код очень быстро. А так же он достаточно нагляден, что бы использовать его для подобных демонстраций концепций.

И, кончено, мы бы не были профессионалами, если не пользовались бы библиотеками и APIшечками. Поэтому идём в гугл и находим первую попавшуюся библиотеку для взаимодействия с клиентским API телеграма.

Мне попалась библиотка telethon. А простой запрос в гугл "telethon add user by phone" по первой же ссылке предлагает годный пример кода.

По понятным причинам(защита от скрипткиддисов) приведу здесь лишь самую важную часть кода, оставив вам для самостоятельного ресёрча всё остальное.

Итак, после импорта всех необходимых объектов из библиотеки, а так же ID и токена приложения для ТГ добавляем переменную для хранения искомого номера, на который зарегистрирован аккаунт ТГ.
Код:
guest_phone_number='+3809ХХХХХХХХ'
Проводим инициализацию и подключаемся к ТГ
Код:
client = TelegramClient('session_name', api_id, api_hash)
client.connect()
Пропускаем формальности про ввод пин-кода, приходящего на мобильник при подклчении из нового места. И добавляем искомый номер в наш список контактов
Код:
contact = InputPhoneContact(client_id=0, phone=guest_phone_number, first_name="custom_first_name", last_name="custom_last_name")
result = client.invoke(ImportContactsRequest([contact]))
Ну и последним шагом получаем ник по тому же номеру
Код:
contact_info = client.get_entity(guest_phone_number)
print(contact_info.username)

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

Каждый, кто хоть немного разобрался в программировании на Python, сможет закончить данный проект. Остальные же, могут написать в телеграм чатике https://t.me/thecodeby запрос на данный скрипт с указанием предлагаемой стоимости ;)
 
Последнее редактирование:

Resonance

New member
23.10.2018
2
0
BIT
0
Доброго дня!
Вопрос для тех, кто пробовал запускать скрипт циклом для определенного количества номеров. Не знаю, только у меня так, или нет, но быстро прогонять номера не получается, потому что после каждого четвертого номера АПИ Телеграма начинает думать 10-15 секунд, а затем уже продолжает. Чем это можно объяснить?
 

Bunder99

Green Team
19.04.2017
20
12
BIT
2
после каждого четвертого номера АПИ Телеграма начинает думать 10-15 секунд, а затем уже продолжает
У меня также, видимо особенность работы их API, чтобы не перегружали подобными парсинговыми запросами...
 
Z

Zaharius

Не знаю как у кого, а у меня после 100 добавленных абонентских номеров, Телеграмм отказывается добавлять еще. На каждый новый (свыше 100) номер приходит сообщение о том, что данный абонент еще не зарегистрирован в Телеге, хотя это номер достоверного пользователя. Если сменить аккаунт и начать добавлять на него, то все идет успешно тьже до 100-го номера. Кто-нибудь знает, как обойти это ограничение?
 

Resonance

New member
23.10.2018
2
0
BIT
0
Не знаю как у кого, а у меня после 100 добавленных абонентских номеров, Телеграмм отказывается добавлять еще. На каждый новый (свыше 100) номер приходит сообщение о том, что данный абонент еще не зарегистрирован в Телеге, хотя это номер достоверного пользователя. Если сменить аккаунт и начать добавлять на него, то все идет успешно тьже до 100-го номера. Кто-нибудь знает, как обойти это ограничение?
У меня то же самое, только даже не 100 номеров, а меньше, порядка 50-60, а раньше было больше, 130 где-то. Так что телеграму походу просто не нравятся эти массовые запросы номеров, что он решил это ограничить
 

АлексДом

New member
11.08.2022
1
0
BIT
0
Смысл их в том, чтобы сначала прочитать из файла список номеров, затем добавить цикл, выполняющий два последних шага с каждым номером из списка.

Каждый, кто хоть немного разобрался в программировании на Python, сможет закончить данный проект. Остальные же, могут написать в телеграм чатике Чат врем запрос на данный скрипт с указанием предлагаемой стоимости ;)
Здравствуйте, форумчане!
Напишите пожлуйста полный скрипт или дайте пожалуйста ссылку
Статья старая и к сожалению автор сильно занят, пишу текст сюда.

Спасибо =)

@dark2strike @Rollly @wittmann404

 
Последнее редактирование:

Natalia Nikolaeva

Заблокирован
12.02.2022
3
0
BIT
2
Есть несколько методов поиска собеседников в телеграм. С помощью данного ресурса можно без труда найти любой контакт в телеграм по телефонному номеру:

Система поиска контактов проста и понятна. При помощи встроенных опций легко найти знакомых людей или расширить круг общения.
 

Natalia Nikolaeva

Заблокирован
12.02.2022
3
0
BIT
2
Несмотря на минимальное количество сведений, оставляемых абонентом Телеграм в своем профиле, специальные боты-помощники могут «накопать» в интернете большой объем дополнительных сведений. В этом материале представлен список ботов для поиска данных:

Обзор посвящен методам поиска информации о человеке при помощи ботов Телеграм. Приведен список ботов для поиска данных. Обсуждается блокировка Carscan. Перечислены боты-взломщики аккаунтов мессенджера.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!