Вечером 06.05.2019 наша автоматизированная система обнаружила в свободном доступе сервер Elasticsearch, принадлежащий сервису по продаже электронных билетов
Радарио (
www.radario.ru). 🔥🔥
По уже сложившейся печальной традиции, сервер содержал детальные логи информационной системы сервиса, из которых можно было получить персональные данные, логины и пароли пользователей, а также непосредственно сами электронные билеты на различные мероприятия по всей стране. 🙈
Общий объем логов
превышал 1 Тб.
По данным поисковика Shodan сервер находился в открытом доступе с 11.03.2019. Мы оповестили сотрудников
Радарио 06.05.2019 в 22:50 (МСК) и 07.05.2019 около 09:30 сервер стал недоступен.
В логах находился универсальный (единый) токен авторизации, предоставляющий доступ ко всем купленным билетам по специальным ссылкам, вида:
✅ http://radario.ru/internal/tickets/XXXXXXXX/print?access_token=******JuYWw6MDIzOWRjOTM1NzJiNDZjMTlhZGFjZmRhZTQ3ZDgyYTk
✅ http://radario.ru/internal/orders/YYYYYYY/print?access_token=******JuYWw6MDIzOWRjOTM1NzJiNDZjMTlhZGFjZmRhZTQ3ZDgyYTk
http://radario.ru/internal/tickets/XXXXXXXX/print?access_token=******JuYWw6MDIzOWRjOTM1NzJiNDZjMTlhZGFjZmRhZTQ3ZDgyYTk✅
http://radario.ru/internal/orders/YYYYYYY/print?access_token=******JuYWw6MDIzOWRjOTM1NzJiNDZjMTlhZGFjZmRhZTQ3ZDgyYTkПроблема также заключалась в том, что для учета билетов использовалась сквозная нумерация заказов и простым перебором номера билета (
XXXXXXXX) или заказа (
YYYYYYY), можно было получить все билеты из системы. 🤦♂️
Отдельно хочется подчеркнуть, что были доступны билеты как на уже прошедшие мероприятия, так и на те, которые еще только планируются. То есть, потенциальный злоумышленник мог воспользоваться чужим билетом для прохода на планируемое мероприятие.
В среднем в каждом индексе Elasticsearch, содержащем логи за один определенный день (начиная с 24.01.2019 и по 07.05.2019), находилось
от 25 до 35 тыс. билетов.
Помимо самих билетов в индексе содержались логины (адреса электронной почты) и
текстовые пароли для доступа в личные кабинеты партнеров
Радарио, продающих билеты на свои мероприятия через данный сервис:
Content: \"ReturnUrl=&UserEmail=***@yandex.ru&UserPassword=***\"
ReturnUrl=&UserEmail=***@yandex.ru&UserPassword=***\"
Всего было обнаружено более 500 пар логин/пароль. В личных кабинетах партнеров видна статистика продаж билетов. 🤦🏻♂️
Также в открытом доступе находились ФИО, телефоны и адреса электронной почты покупателей, решивших осуществить возврат, купленных ранее билетов:
"Content": "{\"name\":\"***\",\"surname\":\"*** \",\"middleName\":\"Евгеньевна \",\"passportType\":1,\"passportNumber\":\"\",\"passportIssueDate\":\"11-11-2011 11:11:11\",\"passportIssuedBy\":\"\",\"email\":\"***@mail.ru\",\"phone\":\"+799*******\",\"ticketNumbers\":[\"****24848\",\"****948732\"],\"refundReason\":4,\"comment\":\"\"}"
mail.ru\",\"phone\":\"+799*******\",\"ticketNumbers\":[\"****24848\",\"****948732\"],\"refundReason\":4,\"comment\":\"\"}"
За один, случайно выбранный день, было обнаружено более 500 таких записей.
Мы получили ответ на наше оповещение от технического директора
Радарио: 👍
Я технический директор Радарио, и хотел бы поблагодарить за обнаружение проблемы. Доступ к эластику, как вам известно, мы закрыли и решаем вопрос с перевыпуском билетов для клиентов.