Пользователь «Хабра» рассказал, как от скуки взломал Wi-Fi в «Сапсане»

Иллюстрация: Инфо24

Пользователь «Хабра» под псевдонимом keklick1337 рассказал, как взломал Wi-Fi в «Сапсане» пока ехал из Санкт-Петербурга в Москву. Как оказалось, на сервере скоростного поезда хранится информация обо всех текущих и прошлых рейсах.

Keklick1337 рассказал, что ехал в Москву с конференции по информационной безопасности ZeroNights, на которой не было «интересных задач». Ему быстро наскучило читать книгу, и он решил поработать. Но в пути он часто ловил только 2G-интернет, которого не хватало, даже чтобы подключиться к почте.

- Я решил подключиться к местному Wi-Fi «Сапсана». Делал я это впервые! Ну так вот, он попросил меня ввести номер вагона, места и последние 4 цифры паспорта для авторизации, и тут меня уже немного заинтересовало, что же я могу сделать с этой сеткой Сапсана, но всё же в приоритете были пентест-задачи по работе, рассказал автор поста.

Из-за плохого соединения пользователь так и не поработал и собирался вернуться к книге, но попробовал взломать «Сапсан». Он отметил, что раз для авторизации в Wi-Fi нужно вводить цифры паспорта и номер места с вагоном, то поезд хранит у себя данные обо всех пассажирах. Пользователь решил выяснить, насколько трудно получить к ней доступ. Оказалось, для этого достаточно просканировать сеть и использовать пару публичных эксплоитов.

Сначала Keklick1337 просканировал сеть «Сапсана» с помощью утилиты nmap с параметрами -v -A. Он обнаружил множество сервисов с открытыми портами и отметил, что такой «взлом» занял 20 минут — и то, потому что сервер «Сапсана» глючил. ​

Пользователь решил зайти на каждый сервис по отдельности. Вскоре он понял, что в «Сапсане» все работает на одном сервере, на котором установлен Docker — среда для управления и развертывания контейнерных приложений.

После этого Keklick1337 зашел в cAdvisor — утилиту для мониторинга ресурсов и удивился показателям. Оперативная память сервера была загружена на 96% — вероятно, из-за этого он и глючил.

Пользователь изучил содержимое контейнеров и с помощью публичных эксплоитов попал в файловую систему. Он пояснил, что у «Сапсана» установлены простые пароли, а по ssh можно получить доступ к Root.

В базе данных на диске «Сапсана» нашлась информация обо всех пассажирах текущего и прошлых рейсов. Кроме того, там оказался VPN в сеть РЖД. Однако больше всего пользователя удивило, что компания не стала покупать сертификат шифрования для HTTPS, а воспользовалась бесплатным Let's Encrypt.

Keklick1337 пришел к выводу, что в «Сапсанах» все настроено «ужасно». По его словам, везде используют одни и те же пароли, а данные хранят в текстовых документах.

Пользователь не опубликовал данные авторизации, одинаковые для всех «Сапсанов». Он пояснил, что несколько лет назад уже обращался в РЖД с уязвимостью, но ему не выплатили вознаграждения и просто исправили ошибку.

Keklick1337 призвал компанию исправить уязвимости и пообещал проверить их еще раз через пару месяцев. Заодно он напомнил всем пассажирам «Сапсана», что их данные находятся под угрозой.

- Все, кто подключен к их Wi-Fi, подвержены снифу [перехвату] трафика. Так как все идет через их прокси, можно легко собирать HTTP-трафик, но если чуть постараться, то и [зашифрованный] HTTPS (проверенно). К данным пассажиров рейса получить доступ не составляет труда, и занимает это от силы 20 минут, - рассказал пользователь.