Bug Bounty Киевстара: награда за админский доступ к сервисам Jira, AWS, Apple, Google Developer, Bitbucket — 50 долларов

История о совпадении, везении и вознаграждении.

Два года назад пользователь dinikin написал пост, как он нашёл уязвимость в личном кабинете крупнейшего мобильного оператора Украины — Киевстар. Уязвимость позволяла добавлять к себе в аккаунт без верификации любой номер телефона Киевстар и полностью управлять им:

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


Уязвимость была закрыта, а автору в благодарность выплатили огромную премию подключили 4000 мегабайт интернета на 3 месяца.

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

Позже хабрапользователь rewiaca в своём посте «Почему в Украине нет белых хакеров или история взлома Киевстар» описал ситуацию со столь щедрой наградой более эмоционально.

В комментариях тогда отметился Виталий Султан, Soultan, Chief Digital Officer Киевстар, пообещав вскоре запустить в компании Bug Bounty.

И вот, спустя почти два года, Киевстар анонсирует запуск собственной программы Bug Bounty. Одной из первых фраз в анонсе была следующая:

В «Киевстаре» отметили, что приняли решение запустить программу после того, как нашли уязвимость во время бета-тестирования обновленной системы «Мой Киевстар».

Как видим, компания лукавит, ведь именно пользователь Habrahabr.ru dinikin нашёл уязвимость в системе «Мой Киевстар».

Немного лирики
Ещё до запуска Bug Bounty мной на сайте Киевстара была найдена возможность получать информацию о платёжеспособности клиентов компании по номеру телефона, а также о том, активен ли тот или иной номер.

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

Вот только программа выплаты вознаграждения за уязвимости была запущена всего на 2 недели, после чего перешла в режим приватной, и я не успел сообщить им о проблеме (а что бывает, если отправить сигнал по каналам связи, непредназначенным для подачи подобных заявок, описано в конце того же поста про Киевстар).

Общаясь с w9w по другим вопросам, выяснилось, что у него есть возможность отправить отчёт в приватную программу Киевстара. Было принято решение попробовать передать проблему через коллегу. Но пока я составлял описание и подбирал скриншоты, мобильный оператор снова открыл доступ к Bug Bounty всем желающим.

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


А вечером я обнаружил у себя в папке «Спам» письмо с домена Киевстар с HTML-вложением.

И вот тут начинается самое интересное.

Несмотря на то, что имя отправителя совпадало с именем сотрудницы, которая отвечала на мой предыдущий запрос на платформе Bugcrowd, e-mail пришёл не на тот ящик, который использовался для регистрации.

Проверив вложение на вирусы, открыв его блокнотом и погуглив отправителя, я всё ещё не мог поверить в такое совпадение: это были закладки из браузера рабочего компьютера сотрудника Киевстар.

Крупнейшему мобильному оператору Украины повезло, что письмо с вложением вида «Bookmarks_July.2018.html» попало не куда-попало (извините за тавтологию), а тому, кто понимает ценность таких данных и последствия их утраты.

Всего в файле было 113 закладок. И среди разнообразных ссылок, как по работе (которые не открывались из внешней сети), так и не очень, затесалась одна, открыв которую мои глаза стали по пять копеек.

Ссылка вела на незащищённый файл, в котором, среди прочего, были следующие колонки: «URL of the service», «Login» и «Password»:

fm0qc8hw5bbxyflrmt0rsd0wfmm.png
(для увеличения изображения откройте его в новой вкладке)

Ещё раз подумав, а не фейк ли это, не honeypot ли, я попробовал войти в несколько из сервисов, ожидая преграду в виде двухфакторной аутентификации. Но её не было, и я вошёл. Вошёл как админ:

lfrlzq_zu2pmg4l-44s0okmdjei.png

czims8swxph9fbcmy1cvgzzggim.png

ysj-sjz3sw47_7a_jxzvspxeaaq.png

Понимая, что доступ с правами администратора — это critical, на следующий день я быстро создал и отправил запрос Киевстару на том же Bugcrowd-е. Позже я получил в ответ «спасибо», очки репутации и $50.

$50 за доступ к аккаунтам, общая стоимость которых официально составляет более $5 800.

Я написал, что доступ к сервисам из списка с правами администратора:
Amazon Web Services
Apple Developer
Mobile Action
App Annie
Disqus
Google Developers
Windows Dev Center
KBRemote
JIRA
Smartsheet
PushWoosh
TicketForEvent
Samsung Developers
CMS для bigdata.kyivstar.ua и hub.kyivstar.ua
Gmail
Zeplin
Prezi
Bitbucket
это критическая проблема, это доступ почти ко всей структуре компании и сервисам, которые она использует.

Опираясь на потенциальный ущерб для бизнеса, репутации и клиентов, да и просто глядя на таблицу вознаграждений Киевстар, где моему сигналу был присвоен приоритет P1 (Sensitive Data Exposure: Critically Sensitive Data — Password Disclosure), я ожидал большего:

suq8x8-d_ugsnghp1ga50wna6s8.png

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

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

Однако Киевстар был непреклонен: «спасибо, вот вам $50, эта находка выходит за рамки программы».

Жаль, что из-за таких решений корпораций честные люди будут задумываться, где сообщать о таком: официальными каналами, как я, или лучше найти того, кто предложит за данную информацию больше. Компании сами подталкивают людей к плохим мыслям и поступкам.

И дело ведь не в деньгах, а в неуважении компании ко мне. В то время, как в одном из банков я находил возможности получать квитанции других клиентов и мне платили чуть больше $300 за каждую найденную возможность, есть также платёжные сервисы, которые за такую же уязвимость платили меньше $20 — и ничего, я не зол на вторых, 500 грн. тоже деньги. Но тут…

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

P.S.: у каждого правила есть исключение.

© Habrahabr.ru