Pull to refresh

Получение личного номера телефона с помощью анализа и перебора социальных ресурсов и учётных записей

Reading time 4 min
Views 33K


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

В рассматриваемом ниже случае мы покажем, как опасно использовать привязку единого номера телефона ко всем учётным записям, используемым в онлайн. Мы покажем, как это позволяет узнать Ваш личный номер.

Описанная ниже ситуация может показаться тривиальной на фоне таких уязвимостей, как, например, было недавно описано применительно к пользователям T-Mobile. В этом случае атакующий мог получить полный доступ к персональным данным любого абонента T-Mobile просто на основании его номера телефона. Эти данные включали статус номера и дату регистрации, код IMSI, электронный адрес, ответы на секретные вопросы и даже данные касательно даты последнего изменения пароля доступа к учётной записи.

Вся эта информация позволяла легко инициировать процесс замены SIM-карты, после чего злоумышленник получал фактически полный доступ к телефону, мог совершать звонки, отправлять и принимать сообщения и т.д.

Нет, в описанном ниже методе не будет рассмотрена атака со столь значительной брешью. Она будет проще и ближе к реальной жизни.

Разведка


Для демонстрации указанной уязвимости был выбран один из молодых разработчиков популярного ресурса XDA Developers. На форуме этого ресурса авторы нередко размещают достаточно много информации о себе, чем мы и воспользуемся. Забегая вперёд сразу скажем — разработчик в итоге не пострадал и был уведомлен о проблемах с его безопасностью до написания этой статьи.

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

Вначале злоумышленник определяет местоположение жертвы. Эта часть чрезвычайно проста — очень многие пишут свои страны и даже города в профилях социальных сетей — в том числе Facebook. В нашем случае разработчик не скрывал, что он из Южной Кореи и даже гордился этим, а житель США активно расписывал особенности жизни в Нью-Йорке.

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



После этих некоторых приготовлений, взломщик заходит на страницу «Утерян пароль» в Facebook и указывает электронный адрес или имя пользователя жертвы. Если эти данные соответствуют имеющемуся пользователю социальной сети, и жертва указала номер телефона в качестве средства восстановления пароля, мы увидим последние две цифры этого номера:



Наша жертва указала PayPal как один из источников поощрения его работы на XDA. Жертва из Нью-Йорка также активно постила на Facebook опыт покупок на eBay и также имела учётную запись на PayPal. Посетим этот сайт и попробуем также восстановить пароль, введя электронный адрес жертвы:



Мы получили ещё четыре цифры номера.

Внимательно изучив деятельность жертвы с XDA, находим, что она весьма активна в разработках с использованием новейших 4G-сетей. Исходя из открытых источников делаем вывод, что номер жертвы начинается с 010.



В случае жителя США знание города — места нахождения жертвы позволило тоже существенно сократить количество возможных кодов, если известна первая цифра:



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



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



Следует отметить, что автоматизировать эту часть процесса можно с помощью скрипта Python.

Таким образом, злоумышленник может узнать личный номер телефона жертвы.

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

Например, если в Facebook не настроен определённый параметр, Ваше полное имя и изображение профиля отображаются всем, кто отправляет Ваш адрес электронной почты или номер телефона на странице «Утерян пароль». Точно так же, функция «Забыли адрес эл. почты?» от Google позволяет проверить соответствие имени номеру телефона:



Выводы


Таким образом,

  1. Злоумышленник использует Facebook для определения местоположения жертвы, а также двух последних цифр номера телефона
  2. Затем используется Paypal для определения дополнительных цифр номера телефона. Также Paypal подтверждает достоверность данных Facebook.
  3. По данным о местоположении и первой цифре номера определяется код региона — или варианты этого кода.
  4. Остальные недостающие цифры определяются простым перебором, который может быть сокращён согласно правил составления номеров конкретного оператора. Эти номера подставляются в форму Facebook «Утерян пароль» до отображения имени жертвы или её известного электронного адреса.

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

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

P.S. Если кому-то материал показался достаточно интересным, чтобы осилить вторую часть — о рисках использования служб виртуальных номеров для приёма смс при регистрации на интернет-ресурсах, тогда добро пожаловать сюда.
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+8
Comments 12
Comments Comments 12

Articles