В нашу эру информации любая технология, используемая Вами, может быть потенциально использована для атаки. Не исключением является и номер телефона.
В рассматриваемом ниже случае мы покажем, как опасно использовать привязку единого номера телефона ко всем учётным записям, используемым в онлайн. Мы покажем, как это позволяет узнать Ваш личный номер.
Описанная ниже ситуация может показаться тривиальной на фоне таких уязвимостей, как, например, было недавно описано применительно к пользователям T-Mobile. В этом случае атакующий мог получить полный доступ к персональным данным любого абонента T-Mobile просто на основании его номера телефона. Эти данные включали статус номера и дату регистрации, код IMSI, электронный адрес, ответы на секретные вопросы и даже данные касательно даты последнего изменения пароля доступа к учётной записи.
Вся эта информация позволяла легко инициировать процесс замены SIM-карты, после чего злоумышленник получал фактически полный доступ к телефону, мог совершать звонки, отправлять и принимать сообщения и т.д.
Нет, в описанном ниже методе не будет рассмотрена атака со столь значительной брешью. Она будет проще и ближе к реальной жизни.
Разведка
Для демонстрации указанной уязвимости был выбран один из молодых разработчиков популярного ресурса XDA Developers. На форуме этого ресурса авторы нередко размещают достаточно много информации о себе, чем мы и воспользуемся. Забегая вперёд сразу скажем — разработчик в итоге не пострадал и был уведомлен о проблемах с его безопасностью до написания этой статьи.
Также уязвимость была проверена на жителе США, который также впоследствии был уведомлен до написания статьи.
Вначале злоумышленник определяет местоположение жертвы. Эта часть чрезвычайно проста — очень многие пишут свои страны и даже города в профилях социальных сетей — в том числе Facebook. В нашем случае разработчик не скрывал, что он из Южной Кореи и даже гордился этим, а житель США активно расписывал особенности жизни в Нью-Йорке.
Кроме этого, злоумышленнику потребуется электронный адрес жертвы, что также не является проблемой в большинстве случаев.
После этих некоторых приготовлений, взломщик заходит на страницу «Утерян пароль» в Facebook и указывает электронный адрес или имя пользователя жертвы. Если эти данные соответствуют имеющемуся пользователю социальной сети, и жертва указала номер телефона в качестве средства восстановления пароля, мы увидим последние две цифры этого номера:
Наша жертва указала PayPal как один из источников поощрения его работы на XDA. Жертва из Нью-Йорка также активно постила на Facebook опыт покупок на eBay и также имела учётную запись на PayPal. Посетим этот сайт и попробуем также восстановить пароль, введя электронный адрес жертвы:
Мы получили ещё четыре цифры номера.
Внимательно изучив деятельность жертвы с XDA, находим, что она весьма активна в разработках с использованием новейших 4G-сетей. Исходя из открытых источников делаем вывод, что номер жертвы начинается с 010.
В случае жителя США знание города — места нахождения жертвы позволило тоже существенно сократить количество возможных кодов, если известна первая цифра:
В результате нашей работы нам осталось подобрать всего три цифры телефонного номера — при чём это первые три цифры. Обычно список таких комбинаций не особо велик и в ряде случаев даже публично доступен, особенно в отношении США:
Наконец, злоумышленнику придется вручную отправлять и проверять номера телефонов из полученного списка на странице входа в Facebook до тех пор, пока не будет найдено полное имя жертвы или не отобразится искомый электронный адрес, что подтвердит соответствие номера:
Следует отметить, что автоматизировать эту часть процесса можно с помощью скрипта Python.
Таким образом, злоумышленник может узнать личный номер телефона жертвы.
Также можно дополнительно проверить, принадлежит ли полученный телефонный номер жертве, используя и другие различные методы с использованием открытых источников.
Например, если в Facebook не настроен определённый параметр, Ваше полное имя и изображение профиля отображаются всем, кто отправляет Ваш адрес электронной почты или номер телефона на странице «Утерян пароль». Точно так же, функция «Забыли адрес эл. почты?» от Google позволяет проверить соответствие имени номеру телефона:
Выводы
Таким образом,
- Злоумышленник использует Facebook для определения местоположения жертвы, а также двух последних цифр номера телефона
- Затем используется Paypal для определения дополнительных цифр номера телефона. Также Paypal подтверждает достоверность данных Facebook.
- По данным о местоположении и первой цифре номера определяется код региона — или варианты этого кода.
- Остальные недостающие цифры определяются простым перебором, который может быть сокращён согласно правил составления номеров конкретного оператора. Эти номера подставляются в форму Facebook «Утерян пароль» до отображения имени жертвы или её известного электронного адреса.
Приведённые выше сайты выбраны только для демонстрации возможности поиска и подбора номера телефона. На самом деле таких источников информации достаточно много, и далеко не все ограничивают возможности автоматизированного перебора капчей — а потому скрипты позволяют перебрать и найти соответствие за достаточно короткий срок.
Защитой от приведённой схемы атаки является использование различных номеров телефона при регистрации на разных ресурсах либо ограничение возможности использования номеров телефона для восстановления пароля, получения доступа к ресурсу и т.д.
P.S. Если кому-то материал показался достаточно интересным, чтобы осилить вторую часть — о рисках использования служб виртуальных номеров для приёма смс при регистрации на интернет-ресурсах, тогда добро пожаловать сюда.
Комментарии (12)
DrPass
23.01.2018 04:10Моё ИМХО — надо использовать отдельные реквизиты (телефон, почта) для тех сервисов, которые связаны с финансовыми функциями. Всё остальное, всякие там фейсбуки-твиттеры-форумы-инстаграммы, да гори оно огнём, пусть себе ломают что хотят. Эта параноидальная безопасность с многофакторными аутентификациями досаждает уже порой больше, чем хакеры.
teifo
23.01.2018 10:34Жаль только за посты и репосты стали выносить и реальные дела, и составлять мнения о соискателе, человеке, работнике. Потом попробуй доказать, что была утеряна связь с акком соц.сети.
laughman
23.01.2018 08:27Ок, разные сервисы засвечивают разные части номера, это нехорошо. Можно узнать номер.
«Вся эта информация позволяла легко инициировать процесс замены SIM-карты, после чего злоумышленник получал фактически полный доступ к телефону, мог совершать звонки, отправлять и принимать сообщения и т.д.»
Разве так легко заменить симку за человека? Неужели кому-то кроме олигархов есть смысл париться об этом?geher
23.01.2018 08:55Проще, чем кажется.
Достаточно найти нечистого на руку сотрудника точки обслуживания.
А иногда хватает просто пофигизма такого работника.
Если жертва серьезная и обещает столь же серьезные результаты, то можно заморочиться подделкой, паспорта.
Конечно, телефонные компании прибегают к разным системам "защиты" от подобных действий (вроде задержки на сутки включения СМС), но помогают такие меры слабо.
Papa-Roma
23.01.2018 08:54Не знаю как у вас там «за бугром», но в России номер телефона почти любого человека можно найти в сотнях сливаемых баз, начиная от банков и гос.органов, заканчивая автомойками и кафешками, в которых ты хоть раз бронировал услугу. Хорошо хоть phonenumber заблокировали, но это не беда для тех, кому ты стал интересен.
KirEv
знаете, меня вот бесит эта социальность на ладони… достаточно ФИО или личного номера телефона чтобы человека скомпрометировать.
все доходит до маразма, вот недавно искал себе дополнительно 8гб озу в комп, просто интересовался сколько стоит на одном из популярных инет-магазинов… месяц прошел — до сих пор вылазят на разных сайтах рекламки с предложениями по оперативке, в том числе и на хабре мелькает, а я лишь раз зашел поинтересоваться (охерел конечно с нынешних цен)… и с нынешних нас.
…
bask
Достаточно почистить куки. И поставить AdBlock, uBlock, Ghostery…
sergeyns
Кликайте их!
FAN2tom
Именно для этого у меня и стоит дополнение AdNauseam