Добавляем произвольный телефон в личном кабинете оператора мобильной связи Киевстар (Украина)

    Я являюсь клиентом украинского оператора сотовой связи Киевстар и пользователем их веб-сервиса my.kyivstar.ua. Как и многие другие операторы, Киевстар предлагает веб-версию личного кабинета, в котором можно просмотреть баланс счёта, детализацию звонков, изменить тариф, заказать или отключить услугу и пр.
    Так же у них недавно была запущена новая версия личного кабинета new.kyivstar.ua. В ней появилась интересная функция — добавление другого телефона Киевстар через смс верификацию. Я взялся её проверить на наличие уязвимостей, так как она фактически давала такой же доступ к добавляемому телефону, как и к своему, что меня не особо радовало, как клиента.
    Новый сайт имеет следующий интерфейс добавления телефона:



    Добавление производится в 4 шага:
    Ввод номера телефона


    Выбор варианта через присоединения по смс (бывает ещё через статический пароль, но у меня он не отображается)


    Ввод полученной смс.


    Подтверждение.

    Эти 4 шага преобразуются в серию POST и GET запросов. Последние три запроса из этой серии отвечают за добавление номера после пройденной ОТП верификации.
    И я решил проверить: что, если повторить эти запросы без тех, что отвечают за СМС верификацию.
    Рассмотрим более детально эти последние 3 запроса.
    Они имеют следующий вид в инструменте разработчика Google Chrome (Shift+Ctrl+I):


    Запросы merge.rpc отправляются на адрес account.kyivstar.ua/cas/merge/merge.rpc.
    Содержимое первого запроса:


    Запрос содержит номер добавляемого телефона(097...)
    Содержимое второго запроса:


    Третий запрос на адрес new.kyivstar.ua/ecare/addOrMerge — это GET запрос без параметров, подтверждающий предыдущие две операции.

    Далее я решил повторно воспроизвести эти 3 запроса, предварительно удалив добавленный только-что телефон из личного кабинета.
    Для воспроизведения я использовал приложение Postman.


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


    Что мы имеем.
    Мы можем добавлять любой номер телефона в свой личный кабинет без СМС верификации и управлять им как своим, а именно:
    • просматривать баланс и детализацию звонков
    • просматривать PUK1 код и серийный номер SIM-карты, что позволяет самостоятельно заменить сим-карту
    • добавлять новые услуги и менять тарифный план
    • и самое главное — переводить деньги с телефона на телефон

    Лучшего подарка мошенникам и не придумаешь.

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


    Заявку за 2 дня просмотрел 22 уникальный пользователь.


    По статистике видно, что ссылку смотрели как с компьютеров, так и с мобильных устройств. География просмотров так же не ограничилась киевским офисом, в списке Киев, Львов, Днепропетровск, Тбилиси.
    Анализируя статистику, становится ясно, что существующий канал связи с компанией не предназначен для подачи заявок подобного рода и может привести к утечке информации и эксплуатации её сторонними лицами до закрытия уязвимости.

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

    Эта история напоминает нам о том, что нужно более внимательно относиться к вопросам информационной безопасности в компаниях таких масштабов, как Киевстар, создавать для этого отдельные каналы связи, доступ к которым будут иметь только уполномоченные на это сотрудники. Ну а так же участие компании в bug-bounty программах или создание своей собственной так же положительно влияет на укрепление безопасности сервисов.
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 52
    • +1
      Меня больше удивило то, что при открытии сервиса с другого устройства используя телефон, как хотспот — авторизация не требуется. Реакция саппорта — this is feature, by design.
      • +1
        Этим страдает не только Киевстар, но и большинство российских ОпСоСов.
        • 0
          У Йоты нельзя поменять параметры другого своего устройства — поменяются на том, через которое вы выходите в сеть. Хотя с точки зрения интерфейса именно у другого. Милый фокус.
      • 0
        мда… а на прямую в службу безопасности, не дали связаться) как всё печально)
        • +2
          У «обычных» операторов колл-центра есть скрипты. Такие бумажки или программки с пошаговыми инструкциями что клиенту говорить и о чем спрашивать. Если возникает нестандартная ситуация, то хороший колл-цетнр должен переключать на специалиста, у которго своя голова на плечах. Проблема возникает когда «обычный» оператор не может отличить действительно серьезную «нестандартную ситуацию», и снова и снова зачитывает стандартные фразы вежливо отправляя клиента восвояси. Ведь если он слишком часто будет перенаправлять на «специалиста» ему за это спасибо не скажут.
          • 0
            Вот и меня оператор на первых порах пытался убедить, что такого быть не может, что нельзя телефон добавлять без СМС подтверждения.
            • 0
              Как работник колл-центра скажу, что работа оператора это шаблонно-монотонная работа. Да, количество шаблонов может быть разное, но с такими случаями не обращаются вообще, или обращаются очень редко. Тем более за частую в супортах сидят девушки, которые вряд ли понимают что Вы от них хотите за гранью обычных вопросов.

              Собственно по этому я и сижу на Хабре, повышая свой уровень знаний. И действительно работает. В отсутствие старшего оператора\администратора, девочки за частую бегут ко мне со своими вопросами.
              • 0
                Колл-центр, который вероятнее всего попадает в департамент электронной коммерции Киевстара, вообще отдельная песня.
                Однажды, на Украине, происходили «провайдерские войны» и все благополучно друг другу резали кабели. По итогу, в нашем доме — интернет от Киевстара пропал где-то на месяц. Ежедневно, я звонил в КЦ (а дальше пробиться — нереально), и операторы кормили меня завтраками, что «Вот вот, и сегодня после 18:00» все будет. Естественно, что ничего не происходило. И где-то на третьей неделе я написал заявление об отключении. Компания такого уровня, зная проблему (в данном случае — конкурентные войны), могла бы оповестить всех клиентов, которые попали под раздачу, или хотя бы тех, которые обзванивали КЦ ежедневно, что проблема массовая и связана с тем-то, ждите. А лучше создать смс рассылку, если профиле указан номер телефона (а он был указан, и связан с профилем). Да и вообще, месяц пробрасывать новые кабели — как то долго, для компании такого уровня.
                Не говоря уже, о том, что в процессе, тот же КЦ звонил, и предлагал тариф 80 мбит по цене, которая выше той, что была у меня на тот момент, при пропускной способности в 100 мбит.
                Совокупность факторов говорит о том, что в этом департаменте у них все очень печально. И это не упоминая постоянный смс-спам с текстом «Пополните счет на 70 грн, и получите бонус в 10 грн, которые можно будет потратить только после траты этих 70ти и всех ваших, но не позже трех дней»
                • 0
                  Мне вот банально интересно. Выше по ветке комментарий «У операторов все плохо» в плюсе. Ваш ответ «Да все плохо, но я, как оператор, стараюсь лично для себя с этим бороться» в минусе. Хабр — такой хабр…
                  • 0
                    Если Вы обо мне, то меня приняли за сотрудника Киевстара, что таковым не является.
                • 0
                  Как вариант, попросить мобильный телефон этого оператора техподдержки и через пару минут продиктовать ей её персональные данные.
                  Это, возможно, убедило бы в важности проблемы.
                  • 0
                    Такие действия нарушают закон о защите перснональных данных и закон о тайне переписки (если в персональных данных будет детализация звонков) и поэтому можно попасть под статью
                    • 0
                      Я как-то раз попробовал в чате Приват24 (онлайн банкинг Приватбанка в Украине) сказать, что светить полное ФИО по номеру карточки в процессе оформления перевода — не есть гут, так как можно номера карточек банально перебирать, так после описания этой, гм, проблемы — чат просто молча завершили с той стороны. Нарушает ли Приватбанк этот закон о защите персональных данных? :)
                      • 0
                        Согласно Закону Украины о Персональных данных:
                        «персональные данные — сведения или совокупность сведений о физическом лице, которое идентифицировано или может быть конкретно идентифицировано»
                        Я считаю, связка номер карты — ФИО не идентифицирует конкретного человека, поэтому не могут считаться персональными данными.
                        • 0
                          А я вот, взяв за основу свою карточку, поменяв пару цифр получил ФИО незнакомого мне человека, загуглив которое я нашёл где она живёт, кем работает, за кем замужем и как зовут её детей. Мне осталось только нарисовать сайт-клон Приват24 и прислать ей на почту письмо ведущее на этот клон, где я получил бы её пароль и даже код из СМС. И всё благодаря полному ФИО владельца карты по её номеру.
                      • 0
                        Обычный гражданин разве обязан хранить чужие тайны?
                        • 0
                          Насколько я понимаю, если вы обнаружили на пороге своего дома коробку с кучей анкет клиентов банка, то вы можете публиковать эти документы, так как не вы обязаны охранять чьи-то персональные данные. Другое дело, если вы использовали какую-то уязвимость, чтобы получить к ним доступ. Тогда это уже нарушение закона.
                          • 0
                            Хотя нет, я неправ. В законе «О персональных данных» нашел следующее:

                            Операторы и иные лица, получившие доступ к персональным данным, обязаны не раскрывать третьим лицам и не распространять персональные данные без согласия субъекта персональных данных, если иное не предусмотрено федеральным законом.
                            • 0
                              Продиктовать оператору её персональные данные точно не попадает под раскрытие или распространение.

                              А вообще интересно, как-то упустил, что оказывается персональные данные у нас охраняются строже чем гостайна. Найдя на улице пакет документов с грифом «Совсекретно» я имею полное право его публиковать.
                  • +1
                    … и зачастую у операторов стоит KPI «количество переключений на уровень выше», и их чуть ли не штрафуют за каждое такое переключение, если «уровень выше» скажет, что переключали зря и они должны быть решать это сами.

                    В свою очередь, бороться с этим пытаются, придумывая штрафы уже за каждый непропущенную внутрь серьезную проблему, но обычно они весьма неэффективны из-за того, что ответственность размазывается. Когда человек с «серьезной» проблемой ломился 15 раз и его отшивали 15 разных операторов первой линии — кого именно штрафовать?
                    • +1
                      всех отшивших.
                      • 0
                        Весьма сложно находить и доказывать. Как правило, 15 раз человек будет ломиться разными способами: по телефону, через e-mail, через другие e-mail, через твиттеры, через личные кабинеты и т.д. Почти никто это не агрегирует в одном месте.
                        • 0
                          было бы желание, как и везде.
                      • 0
                        Ага, у голосового меню тоже лимит на переключение на оператора.
                        Сегодня звонил, предложения нажать 9 для соединения с оператором не было.
                        А раньше у КС был лучший КЦ.
                  • +2
                    По своему опыту могу сказать, что вам еще повезло: вам ответила техподдержка, проблемы безопасности кого-то заинтересовали, уязвимость исправили, правда не дали вознаграждение.
                    У меня для всех сообщений об уязвимостях, отправленных в этом году, статистика такая:

                    50% компаний не ответили с первого раза на письмо в техподдержку.
                    25% компаний не ответили вовсе после нескольких напоминаний.
                    Несколько компаний прекращают переписку со словами «Если это заинтересует менеджера, он вам напишет». Среди них крупная российская CRM.

                    Порядка 30% компаний не исправляют уязвимости по той или иной причине (например, куча тех, кому я сообщал об уязвимостях в прошлом году, имеет точно такие же в этом).
                    Почти все, кто ответил и исправил уязвимости, не просят повторно проверить на их наличие. Ну да, разработчики, которые допустили серьезные ошибки безопасности, разумеется, знают, как их искать.
                    И только 10-15% компаний предлагают вознаграждение или сотрудничество. Вот это обычно приятно.
                    • 0
                      > правда не дали вознаграждение
                      Возможно, я не очень хорошо Вас понял, но автор вроде как не говорил о том, что ему не дали вознаграждение. наоборот, сослался на bug-bounty программу, что наталкивает на мысль, что его все-таки отблагодарили.

                      Интересно только, как?
                      • +2
                        Да, отблагодарили. Подключили дополнительных 4000 ежемесячных мегабайт инетрнета на 3 месяца.
                        • +3
                          эээ. на мой взгляд, лучше никакого вознаграждения, просто устная благодарность, чем такая подачка.
                          • +1
                            Самым шикарным вознаграждением, которое я получил, был промокод на скидку в 10% на один месяц хостинга.
                            • +2
                              У меня был сертификат на… чашку кофе (одну чашку кофе).
                              • +1
                                Это вообще шедевр, конечно. Хотя я посчитал и понял, что ваша чашка кофе может быть выгоднее. На том хостинге самый дорогой тариф стоит около 1600 рублей в месяц, так что максимум я получал выгоду 160 рублей. А кофе иногда стоит дороже 160 рублей)
                                • +1
                                  Нет, не выгоднее) 20 грн. было ~ 50 рублей.
                        • +2
                          Вероятно, я неправильно понял последний абзац. При написании комментария я думал, что автор имеет ввиду, что компаниям стоит создавать открытые Bug Bounty программы, а не то, что у Киевстар есть такая программа.

                          Хотя, как автор написал в комментарии, ему не дали денежное вознаграждение.
                      • +2
                        Я помню когда-то подавался в ИТ отдел Киевстара на работу. Заполнял форму на сайте, и она всё время падала. Я открыл тикет по поводу этого, и мне его дважды закрывали со словами «мы не можем воспроизвести ошибку, которая происходит у Вас». Тогда я понял, что дело в содержимом формы. Начал заполнять форму заново, убирая блоками текст, и выяснилось, что форма падает, если в поле input встречалось слово linux. Н-ный раз переоткрыл тикет по телефону и сообщил, что форма падает от слова linux, мне пообещали разобраться…
                        Но потом проверил через пару месяцев, и linux так и остался «убойным».
                        Как хорошо, что я там не работаю
                        • 0
                          Форма, падающая от слова linux? Напоминает недавний xkcd. Я принесу бензин для зажигалок.

                          • 0
                            Съеденная картинка http://xkcd.com/1700/
                        • 0
                          Дали 3 мес интернета?
                          Это такое.
                          Вы им хоть пользовались ранее?
                          Буду знать, что уязвимости в КС не стоить репортить.

                          Кстати, находя уязвимость/баг у банка всегда спрашиваю есть ли у них программа благодарствий за это.
                          Ни у одного банка еще не было. :) Ну я им и не открывал тайну. Хотя 1 раз сказал, что стоило бы добавить переадресацию с http на https в ИБ Альфабанку. Но прошло уже несколко лет, а воз и ныне там.
                          Писал тут статью о дырах Дельтабанка, ее не пропустили, хз чего, банк-то уже был в стадии ликвидации, ИБ там не работал.

                          Нашел дыру у хостинга. Дали год хостинга. Дыру не исправили. :)

                          У нас в компании легко достучаться по проблеме веба. Один клиент даже генеральному недавно пожаловался, что его баг долго фиксили. :) Некоторые баги дейтсвительно не воспроизводятся, а иногда КЦ/ТП передают разработчикам некорректную информацию :)
                          • +1
                            «Дали 3 мес интернета?»
                            «Буду знать, что уязвимости в КС не стоить репортить.»

                            Ссылку на этот камент необходимо передать начальнику безопасности Киевстара ;)
                            krimtsev, вы же можете с этим помочь?
                            • 0
                              я работник немного другого колл-центра и с Киевстар никак не связан

                              а мне уже в карму заминусовали там))
                              • 0
                                На самом деле, меня немного удивляет подобный подход компаний. Давайте дадим подачку или проигнорируем сообщение, а потом удивимся, что над нашей безопасностью смеются.

                                Например, возьмем «абстрактную» компанию «СуперПуперМегаПланирование», которая разрабатывает, предположим, CRM. И пусть ее панель управления насквозь дырявая. Один исследователь решил сообщить, но его проигнорировали. Другой тоже решил сообщить, и тоже получил молчание в ответ. И какой-нибудь десятый напишет статью «Почему СуперПуперМегаПланирование — решето» и открыто опишет все уязвимости. В результате компания получит серьезный удар по имиджу, программисты будут вынуждены экстренно писать заплатки, плюс куча злых хакеров может украсть данные и найти еще более серьезные дыры. Почему нельзя нормально ответить первому исследователю, выплатить ему 10-20 тысяч и поблагодарить? Что за слепая надежда, что все будет хорошо?
                                • +1
                                  потому что очень часто в руководстве сидят «начальники», а не «руководители», которые больше волнуются за финансовые потоки, чем за какой-то там код, ведь у них же работают тыжпрограммисты, которые обязаны все делать отлично — им же деньги платят. Таков образ мышления начальников.
                                  • –1
                                    А еще, у компании может просто отсутствовать такая строчка в бюджете, как выплата каких-то там наград посторонним людям(!), которые что-то там сообщили.
                                    • 0
                                      Разумеется, у компании может отсутствовать такая строчка в бюджете, хотя я не верю, что есть хотя бы одна компания, которая не может предложить вознаграждение в несколько тысяч или дать хорошую скидку и подарок (не путать с купоном на кофе или скидкой в 10% на один месяц). Другое дело, стоит ли игнорировать сообщения или писать «Мы ничего не даем» (дословно)? 9 человек проглотят подобное и уйдут, а один может продать уязвимость или просто опубликовать в выходные.
                                      • 0
                                        А крупная компания может долго пытаться согласовать всё это (здесь должна быть ссылка на тикет «убрать вывеску о банкомате которого нет»).
                                        • 0
                                          Даже ответ «К сожалению, согласования вознаграждения займет несколько месяцев. Я сообщу вам, когда мы будет готовы его выплатить» намного адекватнее подачки или игнорирования сообщений.
                                • 0
                                  M-A-XG, а напишите, пожалуйста, мне в личку/профиль.
                                • 0
                                  Было интересно, спасибо!
                                  • 0
                                    При этом в личном кабинете доступны услуги: «Переадресация SMS» и «Переадресация вызова».
                                    В профиле иногда можно найти ФИО, адрес, дату рождения, email.
                                    Это позволит перехватить управление над куда более критичными сервисами, чем ЛК оператора.
                                    • 0
                                      Сегодня заинтересовался таким вопросом: предположим, какая-то компания игнорирует сообщения об уязвимостях. Если я публикую информацию об этом и описание уязвимостей через те же две недели, я нарушаю какие-либо законы или правила?
                                      • 0
                                        Постите анонимно если игнорят и все будет хорошо.
                                      • –3
                                        >> Так же у них недавно была запущена новая версия личного кабинета

                                        Союз «также» пишется слитно.
                                        Простите, но режет глаз.
                                        • 0
                                          Поддерживаю автора поста, мое виденье на ситуацию — Почему в Украине нет белых хакеров или история взлома Киевстар

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