Консоль бодро оповестила меня о завершении работы скрипта. Его задача заключалась в поиске учётных данных для доступа к Firebase, которые лежали в открытом доступе и принадлежали одному из сотен недавно появившихся ИИ‑стартапов.
Скрипт шёл по общедоступному списку сайтов с использованием домена верхнего уровня .ai
. Программа парсила данные сайтов (и любые.js‑бандлы, на которые находила ссылки) в поиске переменных, которые обычно используются для настройки подключения к Firebase.
Production: {
apiKey: "AIza<Insert_Funny_Joke_Here>",
authDomain: "KFC.firebaseapp.com",
databaseURL: "https://KFC.firebaseio.com",
projectId: "KFC",
storageBucket: "KFC.appspot.com",
messagingSenderId: "123456789"
}
Я исходил из предположения о том, что кто‑то, спеша вывести в свет свой новый сверкающий проект, «срежет путь» и забудет реализовать в нём адекватную систему безопасности.
Интуиция меня не подвела. Всё оказалось даже хуже, чем я мог себе представить.
Знакомьтесь: Chattr.ai
Это — проект, позиционирующий себя как ИИ‑система для найма сотрудников. Её авторы заявляют о том, что она способна сэкономить 88% времени, необходимого для того чтобы принять нового человека на работу.
Chattr.ai предоставляет услуги огромному количеству компаний из США, нанимающих сотрудников с почасовой оплатой, в частности — сетям фаст‑фуда. Вот некоторые из них:
Applebees
Arbys
Chickfila
Dunkin
IHOP
KFC
Shoneys
Subway
Tacobell
Target
Wendys
Уязвимость
Если взять из JS-бандла данные для подключения к Firebase и закинуть их в Firepwn, то, как видно из следующего скриншота, у нас не будет вообще никаких прав.
Но если прибегнуть к функции Firebase по созданию нового пользователя (на сайте сервиса зарегистрироваться не получится) — можно получить полные привилегии (чтение/запись) на доступ к БД Firebase.
Вот что удалось получить из базы данных:
Имена.
Телефонные номера.
Адреса электронной почты.
Незашифрованные пароли (их удалось обнаружить лишь в некоторых аккаунтах).
Расположение подразделений.
Конфиденциальная информация.
Сведения о рабочих сменах.
Эти данные относятся к следующим группам людей:
Персонал Chattr.
Менеджеры франчайзи.
Соискатели вакансий.
Дальше… хуже?!
Да, как‑то так получилось, что всё оказалось даже ещё хуже.
Если взять список администраторов из /orgs/0/users
— в него можно запихнуть новую запись, что даёт полный доступ к административной панели управления.
Как видите — это открывает ещё больше возможностей по управлению системами компании. В том числе — позволяет принимать/отклонять соискателей, или даже возвращать платежи, полученные Chattr.
Хроника событий (День/Месяц)
06/01 — Обнаружена уязвимость.
09/01 — Завершена работа над отчётом. Отчёт отправлен компании.
10/01 — Уязвимость пропатчена.
11/01 — Запрос в службу поддержки закрыт. «Спасибо» мне не сказали и никак со мной не связались, несмотря на то, что я прямо предложил представителям компании пообщаться.
Благодарности
Хочу поблагодарить моих друзей Logykk и Eva, которые помогали мне проводить этот пентест и оформлять материалы для ответственного раскрытия информации по нему.
Спасибо за внимание!
О, а приходите к нам работать? 🤗 💰
Мы в wunderfund.io занимаемся высокочастотной алготорговлей с 2014 года. Высокочастотная торговля — это непрерывное соревнование лучших программистов и математиков всего мира. Присоединившись к нам, вы станете частью этой увлекательной схватки.
Мы предлагаем интересные и сложные задачи по анализу данных и low latency разработке для увлеченных исследователей и программистов. Гибкий график и никакой бюрократии, решения быстро принимаются и воплощаются в жизнь.
Сейчас мы ищем плюсовиков, питонистов, дата-инженеров и мл-рисерчеров.