Он успел сделать это за одну поездку от скуки из-за отсутствия интернета.
Обновлено 18 ноября в 17:16: в РЖД рассказали ТАСС, что на серверах информационно-развлекательной системы «Сапсана» нет персональных данных пассажиров. В компании пообещали провести расследование.
Пользователь «Хабра» под псевдонимом keklick1337 рассказал, как взломал Wi-Fi в «Сапсане» пока ехал из Санкт-Петербурга в Москву. Как оказалось, на сервере скоростного поезда хранится информация обо всех текущих и прошлых рейсах.
Взлом Wi-Fi от скуки
Keklick1337 рассказал, что ехал в Москву с конференции по информационной безопасности ZeroNights, на которой не было «интересных задач». Ему быстро наскучило читать книгу, и он решил поработать. Но в пути он часто ловил только 2G-интернет, которого не хватало, даже чтобы подключиться к почте.
Из-за плохого соединения пользователь так и не поработал и собирался вернуться к книге, но попробовал взломать «Сапсан». Он отметил, что раз для авторизации в Wi-Fi нужно вводить цифры паспорта и номер места с вагоном, то поезд хранит у себя данные обо всех пассажирах.
Пользователь решил выяснить, насколько трудно получить к ней доступ. Оказалось, для этого достаточно просканировать сеть и использовать пару публичных эксплоитов.
Как произошёл взлом
Сначала Keklick1337 просканировал сеть «Сапсана» с помощью утилиты nmap с параметрами -v -A. Он обнаружил множество сервисов с открытыми портами и отметил, что такой «взлом» занял 20 минут — и то, потому что сервер «Сапсана» глючил.
Пользователь решил зайти на каждый сервис по отдельности. Вскоре он понял, что в «Сапсане» всё работает на одном сервере, на котором установлен Docker — среда для управления и развёртывания контейнерных приложений.
После этого Keklick1337 зашёл в cAdvisor — утилиту для мониторинга ресурсов и удивился показателям. Оперативная память сервера была загружена на 96% — вероятно, из-за этого он и глючил.
Пользователь изучил содержимое контейнеров и с помощью публичных эксплоитов попал в файловую систему. Он пояснил, что у «Сапсана» установлены простые пароли, а по ssh можно получить доступ к Root.
В базе данных на диске «Сапсана» нашлась информация обо всех пассажирах текущего и прошлых рейсов. Кроме того, там оказался VPN в сеть РЖД. Однако больше всего пользователя удивило, что компания не стала покупать сертификат шифрования для HTTPS, а воспользовалась бесплатным Let’s Encrypt.
Keklick1337 пришёл к выводу, что в «Сапсанах» всё настроено «ужасно». По его словам, везде используют одни и те же пароли, а данные хранят в текстовых документах.
Пользователь не опубликовал данные авторизации, одинаковые для всех «Сапсанов». Он пояснил, что несколько лет назад уже обращался в РЖД с уязвимостью, но ему не выплатили вознаграждения и просто исправили ошибку.
Keklick1337 призвал компанию исправить уязвимости и пообещал проверить их ещё раз через пару месяцев. Заодно он напомнил всем пассажирам «Сапсана», что их данные находятся под угрозой.
Редакция TJ обратилась в РЖД за комментарием, но не получила ответа. ТАСС компания рассказала, что проведёт расследование после заявления пользователя Хабра о взломе системы «Сапсана». Перевозчик уточнил, что на серверах мультимедийного портала не хранятся персональные данные пассажиров.