Определение номера пользователя Telegram с помощью брутфорса в адресной книге

Здравствуйте, друзья. Сегодня я расскажу вам о том, как можно попытаться узнать номер человека в телеграме, зная только его ник.

Теория:

1. Добавляем номера в адресную книгу телефона до лимита (если он вообще есть в iOS или Android смартфонах)
2. Смотрим в профиль нужного человека
3. Если его номер есть в адресной книге — этот номер отобразится и в профиле телеграма
4. Если нет, продолжаем брутфорсить добавляя номера до победного конца

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

Скрин. №1 —
Вижу только ник
image

Скрин. №2 —
Добавляю номер в адресную книгу
image

Скрин. №3 —
Начинаю видеть контакт в телеграме
image

Скрин. №4 —
Начинаю видеть номер в профиле
image

Я понимаю, что это не совсем баг, а скорее фича, для поиска друзей, зарегистрированных в телеграме, но в телеграме нет настройки для отключения такого поиска меня по номеру телефона (и отображения моего номера, в профиле, даже если у кого-то мой номер есть в адресной книге) и добавлять, видимо, такую настройку не собираются, а это прямая угроза безопасности, ведь если злоумышленник узнает номер телефона, то он сможет перехватывать коды, идущие по смс для входа в аккаунт, или сможет удалить его, если включен дополнительный пароль. Как это делается уже не раз обсуждали и здесь и на гиктаймсе (через подкуп сотрудников салонов сотовой связи, например). А отсутствие возможности подключить Google Authenticator вместо смс меня ещё сильнее поражает, чем то, о чём этот топик.

Я писал об этой проблеме на security@telegram.org 3 месяца назад, а в ответ до сих пор полное молчание.
Share post

Comments 18

    +7

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

      +10

      Поэтому мессенджер, требующий привязку к номеру мобильного, это плохой мессенджер.

      +11
      Телеграм, поставьте наконец «виртуальные номера», хоть буквенные id, это не имеет значения, которые можно привязать к почте и-или телефону. Чтобы не привязывать общение к телефону.
        –4
        Ещё раз доказывает, что анонимность только мнимая.
          +4
          Так Telegram про анонимность ничего и не утверждал. Приватность да (при соблюдении определенных правил), анонимность нет.
          +11
          Следующая задача — найти номер телефона малоизвестного пользователя "@durov"
            +4

            Если мне не изменяет память, после какого-то количества контактов (что-то вроде 5000), Telegram перестаёт добавлять людей в свою адресную книгу.
            В любом случае, автор статьи не потрудился провести полноценный эксперимент, так что разговаривать тут не о чем (не в обиду автору, конечно же)

              –5
              Какой вам эксперимент нужен? Это же известный метод залогиниться на мобилке с чужого аккаунта — найти учётку зарегенную на публичные ресиверы SMS.
                +10

                Не совсем. Есть 2 лимита: на общее количество контактов, и ограничение для предотвращения брутфорса.
                Первый лимит — 10 000, если мне не изменяет память.
                Второй лимит — что-то около 5000.


                API возвращает список успешно добавленных контактов, список незарегистрированных номеров, и список номеров, которые не были проверены — их добавление клиент должен запросить позже.


                Как-то ради эксперимента я попробовал добавить 10000 номеров. Сервер прислал около 200 новых контактов, 4800 номеров, которые не зарегистрированы в TG, и ещё 5000 номеров для повторного запроса.


                Вот только повторный запрос естественно ничего не дал — ни один контакт не был обработан.


                Я попробовал удалить часть контактов и отправить новый запрос — безрезультатно. Причем те контакты, которые сервер уже обработал до этого, продолжали обрабатываться. А любые другие, включая 5000 изначально необработанных просто игнорировались — сервер их не добавлял.


                На следующий день я всё ещё не мог добавлять контакты. Больше не проверял, надоело.

                  +1
                  А какой библиотекой — для взаимодействия с TG пользовались для теста?
                    0
                    Посмотрите в сторону MadelineProtoBot — он на PHP7.
                +3
                Веселая статья, особенно определение «брутфорса в адресной книге»))
                руками перебирать все номера по каждому оператору, быстрее экран сотрешь))
                А если у меня Telegram на виртуальный номер зарегистрирован, как быть брутфорсом в адресной книге?))
                другой вопрос, если под рукой есть файл(ы) со всей абонентской базой ОпСоСов в формате *.csv,
                а их 10ки млн. При синхронизации, от такого брутфорса даже серваки Google загнутся, не говоря уже о Telegram
                  0
                  А если еще вспомнить, что дело не ограничивается операторами одной страны… :)
                    –1
                    Допустим, некая Алиса Бобова, работающая учителем русской литературы, зарегистрировалась в телеграме под ником @HrenUznaeteKtoYa чтобы читать один жутко экстремистский канал со стихами террориста Алексея Экваториального, которые недавно попали под запрет согласно новому закону. Алиса пребывает в твёрдой уверенности, что телеграм не показывает никому номер телефона, если только не добавить кого-то в контакты. И поэтому никого не добавляет, все видят только её ник.

                    Но однажды Ева Морозова — ученица Алисы, которая сидит на том же канале под ником pavlik, начинает что-то подозревать и хочет уличить Алису в чтении преступных стихов. Ева находит страницу Алисы в социальной сети «ВКапусте» и… о, нет. Алиса достаточно осмотрительна, на странице не указан номер телефона. Ева не сдаётся и пробует восстановления пароля:

                    image

                    Что ж, 9999 вариантов лучше, чем «десятки миллионов». К сожалению, парадокс дней рождения в этот раз не срабатывает, Еве приходится раскошелиться на ещё одну сим-карту, и вот наконец возле ника @HrenUznaeteKtoYa засветился номер Алисы: ...-99-98. Ах, судьба-злодейка.

                    Ура, победа! Учительница русской литературы Алиса читает Экваториального, какой будет скандал! Ева решает безотлагательно начать шантажировать Алису — да вот прямо с аккаунта pavlik. Почему бы и нет, ведь Алиса никогда не добавляла Еву в контакты, да и не знает об уловке из этой статьи. Ева пишет Алисе сообщение с угрозами и требованием оставить 50 000 рублей (100 долларов) в урне возле школы и отправляется готовиться к контрольной по русской литературе…

                    Утром около урны находят труп школьницы с признаками насильственной смерти, наступившей в результате удара сзади тяжёлым тупым предметом.

                    К сожалению, Ева была недостаточно внимательна и не прочта FAQ телеграма:

                    if you have somebody‘s number saved as a contact and you send them a message, your number also becomes visible to them. Just like with SMS.


                    Мораль:

                    1. Приватность != анонимность.
                    2. Приватность «при соблюдении определённых условий» — хреновая идея, т.к. создаёт ложное ощущение безопасности.
                    3. Среди «безопасно/анонимно/удобно» выберите любые 2 пункта.
                      –1
                      Прошу прощения у юзернейма pavlik за хайлайт :)
                    0
                    Я писал об этой проблеме на security@telegram.org 3 месяца назад, а в ответ до сих пор полное молчание.

                    Телеграм вообще любит игнорировать сообщения. Отправлял им несколько багов, в ответ обещания посмотреть. И все. Так уже полгода жду ответа.
                      –2

                      Думаю, поднять и автоматизировать такой переборщик (или их массив) в "контейнерах" с android x86 — вопрос времени.

                        0
                        Я не понимаю зачем выкладывать такие большие скриншоты?

                        Only users with full accounts can post comments. Log in, please.