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

Теория:

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

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

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

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

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

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

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

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

Комментарии (15)


  1. Kpblc
    01.06.2017 13:30
    +7

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


    1. redmanmale
      01.06.2017 18:03
      +10

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


  1. frees2
    01.06.2017 13:34
    +11

    Телеграм, поставьте наконец «виртуальные номера», хоть буквенные id, это не имеет значения, которые можно привязать к почте и-или телефону. Чтобы не привязывать общение к телефону.


  1. leave_me_here
    01.06.2017 13:45
    -4

    Ещё раз доказывает, что анонимность только мнимая.


    1. Toronton
      01.06.2017 14:21
      +4

      Так Telegram про анонимность ничего и не утверждал. Приватность да (при соблюдении определенных правил), анонимность нет.


  1. dolphin4ik
    01.06.2017 14:00
    +11

    Следующая задача — найти номер телефона малоизвестного пользователя "@durov"


  1. Kondra007
    01.06.2017 14:03
    +4

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


    1. tmnhy
      01.06.2017 14:13
      -5

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


    1. stek29
      01.06.2017 14:21
      +10

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


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


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


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


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


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


  1. Toronton
    01.06.2017 14:23
    +3

    Веселая статья, особенно определение «брутфорса в адресной книге»))
    руками перебирать все номера по каждому оператору, быстрее экран сотрешь))
    А если у меня Telegram на виртуальный номер зарегистрирован, как быть брутфорсом в адресной книге?))
    другой вопрос, если под рукой есть файл(ы) со всей абонентской базой ОпСоСов в формате *.csv,
    а их 10ки млн. При синхронизации, от такого брутфорса даже серваки Google загнутся, не говоря уже о Telegram


    1. whiskey
      01.06.2017 15:27

      А если еще вспомнить, что дело не ограничивается операторами одной страны… :)


    1. JTG
      02.06.2017 16:52
      -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. JTG
        02.06.2017 16:54
        -1

        Прошу прощения у юзернейма pavlik за хайлайт :)


  1. pyrk2142
    01.06.2017 14:49

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

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


  1. firstbyte
    02.06.2017 06:31
    -2

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