История о совпадении, везении и вознаграждении.
Два года назад пользователь dinikin написал пост, как он нашёл уязвимость в личном кабинете крупнейшего мобильного оператора Украины — Киевстар. Уязвимость позволяла добавлять к себе в аккаунт без верификации любой номер телефона Киевстар и полностью управлять им:
- просматривать баланс и детализацию звонков;
- просматривать PUK-код и серийный номер SIM-карты, что позволяет самостоятельно заменить SIM-карту;
- добавлять новые услуги и менять тарифный план;
- и самое главное — переводить деньги с телефона на телефон.
Уязвимость была закрыта, а автору в благодарность выплатили огромную премию подключили 4000 мегабайт интернета на 3 месяца.
Позже хабрапользователь rewiaca в своём посте "Почему в Украине нет белых хакеров или история взлома Киевстар" описал ситуацию со столь щедрой наградой более эмоционально.
В комментариях тогда отметился Виталий Султан, Soultan, Chief Digital Officer Киевстар, пообещав вскоре запустить в компании Bug Bounty.
И вот, спустя почти два года, Киевстар анонсирует запуск собственной программы Bug Bounty. Одной из первых фраз в анонсе была следующая:
В «Киевстаре» отметили, что приняли решение запустить программу после того, как нашли уязвимость во время бета-тестирования обновленной системы «Мой Киевстар».
Как видим, компания лукавит, ведь именно пользователь Habrahabr.ru dinikin нашёл уязвимость в системе «Мой Киевстар».
И зная то, сколько тратит абонент, недобропорядочные люди могут использовать такие номера для обзвона, или просто собрать и продать базу номеров для рассылки.
Вот только программа выплаты вознаграждения за уязвимости была запущена всего на 2 недели, после чего перешла в режим приватной, и я не успел сообщить им о проблеме (а что бывает, если отправить сигнал по каналам связи, непредназначенным для подачи подобных заявок, описано в конце того же поста про Киевстар).
Общаясь с w9w по другим вопросам, выяснилось, что у него есть возможность отправить отчёт в приватную программу Киевстара. Было принято решение попробовать передать проблему через коллегу. Но пока я составлял описание и подбирал скриншоты, мобильный оператор снова открыл доступ к Bug Bounty всем желающим.
Поэтому я самостоятельно оформил обнаруженный мной кейс. Получив ответ, что это часть логики работы и риски были приняты на этапе их реализации, я не спорил.
А вечером я обнаружил у себя в папке «Спам» письмо с домена Киевстар с HTML-вложением.
И вот тут начинается самое интересное.
Несмотря на то, что имя отправителя совпадало с именем сотрудницы, которая отвечала на мой предыдущий запрос на платформе Bugcrowd, e-mail пришёл не на тот ящик, который использовался для регистрации.
Проверив вложение на вирусы, открыв его блокнотом и погуглив отправителя, я всё ещё не мог поверить в такое совпадение: это были закладки из браузера рабочего компьютера сотрудника Киевстар.
Крупнейшему мобильному оператору Украины повезло, что письмо с вложением вида «Bookmarks_July.2018.html» попало не куда-попало (извините за тавтологию), а тому, кто понимает ценность таких данных и последствия их утраты.
Всего в файле было 113 закладок. И среди разнообразных ссылок, как по работе (которые не открывались из внешней сети), так и не очень, затесалась одна, открыв которую мои глаза стали по пять копеек.
Ссылка вела на незащищённый файл, в котором, среди прочего, были следующие колонки: «URL of the service», «Login» и «Password»:
(для увеличения изображения откройте его в новой вкладке)
Ещё раз подумав, а не фейк ли это, не honeypot ли, я попробовал войти в несколько из сервисов, ожидая преграду в виде двухфакторной аутентификации. Но её не было, и я вошёл. Вошёл как админ:
Понимая, что доступ с правами администратора — это 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), я ожидал большего:
Потеря доступа к таким сервисам любой цифровой компании является значительным ударом для бизнеса и репутации. Это намного хуже, чем просто какая-то уязвимость, это полный доступ. Это Клондайк полезной информации для любого преступника.
С помощью одной только учётной записи, например, в Apple Developer злоумышленник может сменить логин и пароль и загрузить свои сборки приложения или просто добавить себя в администраторы, оставив backdoor.
Однако Киевстар был непреклонен: «спасибо, вот вам $50, эта находка выходит за рамки программы».
Жаль, что из-за таких решений корпораций честные люди будут задумываться, где сообщать о таком: официальными каналами, как я, или лучше найти того, кто предложит за данную информацию больше. Компании сами подталкивают людей к плохим мыслям и поступкам.
И дело ведь не в деньгах, а в неуважении компании ко мне. В то время, как в одном из банков я находил возможности получать квитанции других клиентов и мне платили чуть больше $300 за каждую найденную возможность, есть также платёжные сервисы, которые за такую же уязвимость платили меньше $20 — и ничего, я не зол на вторых, 500 грн. тоже деньги. Но тут…
Возможно, я ошибся в том, что ожидал большей награды. Пожалуйста, выберите в вариантах опроса ниже правильный по вашему мнению размер вознаграждения в данной ситуации. Своё мнение можете озвучить прямо здесь, в комментариях.
P.S.: у каждого правила есть исключение.
Автор: Gorodnya