Обновлено 18 ноября в 17:16: в РЖД рассказали ТАСС, что на серверах информационно-развлекательной системы «Сапсана» нет персональных данных пассажиров. В компании пообещали провести расследование.
Пользователь «Хабра» под псевдонимом keklick1337 рассказал, как взломал Wi-Fi в «Сапсане» пока ехал из Санкт-Петербурга в Москву. Как оказалось, на сервере скоростного поезда хранится информация обо всех текущих и прошлых рейсах.
Взлом Wi-Fi от скуки
Keklick1337 рассказал, что ехал в Москву с конференции по информационной безопасности ZeroNights, на которой не было «интересных задач». Ему быстро наскучило читать книгу, и он решил поработать. Но в пути он часто ловил только 2G-интернет, которого не хватало, даже чтобы подключиться к почте.
Я решил подключиться к местному Wi-Fi «Сапсана». Делал я это впервые! Ну так вот, он попросил меня ввести номер вагона, места и последние 4 цифры паспорта для авторизации, и тут меня уже немного заинтересовало, что же я могу сделать с этой сеткой Сапсана, но всё же в приоритете были пентест-задачи по работе.
Из-за плохого соединения пользователь так и не поработал и собирался вернуться к книге, но попробовал взломать «Сапсан». Он отметил, что раз для авторизации в Wi-Fi нужно вводить цифры паспорта и номер места с вагоном, то поезд хранит у себя данные обо всех пассажирах.
Пользователь решил выяснить, насколько трудно получить к ней доступ. Оказалось, для этого достаточно просканировать сеть и использовать пару публичных эксплоитов.
Как произошёл взлом
Сначала Keklick1337 просканировал сеть «Сапсана» с помощью утилиты nmap с параметрами -v -A. Он обнаружил множество сервисов с открытыми портами и отметил, что такой «взлом» занял 20 минут — и то, потому что сервер «Сапсана» глючил.
Лишь часть открытых портов в сети «Сапсана»
Скриншот пользователя «Хабра» Keklick1337
Пользователь решил зайти на каждый сервис по отдельности. Вскоре он понял, что в «Сапсане» всё работает на одном сервере, на котором установлен Docker — среда для управления и развёртывания контейнерных приложений.
После этого Keklick1337 зашёл в cAdvisor — утилиту для мониторинга ресурсов и удивился показателям. Оперативная память сервера была загружена на 96% — вероятно, из-за этого он и глючил.
Пользователь изучил содержимое контейнеров и с помощью публичных эксплоитов попал в файловую систему. Он пояснил, что у «Сапсана» установлены простые пароли, а по ssh можно получить доступ к Root.
В базе данных на диске «Сапсана» нашлась информация обо всех пассажирах текущего и прошлых рейсов. Кроме того, там оказался VPN в сеть РЖД. Однако больше всего пользователя удивило, что компания не стала покупать сертификат шифрования для HTTPS, а воспользовалась бесплатным Let's Encrypt.
Keklick1337 пришёл к выводу, что в «Сапсанах» всё настроено «ужасно». По его словам, везде используют одни и те же пароли, а данные хранят в текстовых документах.
Пользователь не опубликовал данные авторизации, одинаковые для всех «Сапсанов». Он пояснил, что несколько лет назад уже обращался в РЖД с уязвимостью, но ему не выплатили вознаграждения и просто исправили ошибку.
Keklick1337 призвал компанию исправить уязвимости и пообещал проверить их ещё раз через пару месяцев. Заодно он напомнил всем пассажирам «Сапсана», что их данные находятся под угрозой.
Все, кто подключён к их Wi-Fi, подвержены снифу [перехвату] трафика. Так как всё идёт через их прокси, можно легко собирать HTTP-трафик, но если чуть постараться, то и [зашифрованный] HTTPS (проверенно). К данным пассажиров рейса получить доступ не составляет труда, и занимает это от силы 20 минут.
Редакция TJ обратилась в РЖД за комментарием, но не получила ответа. ТАСС компания рассказала, что проведёт расследование после заявления пользователя Хабра о взломе системы «Сапсана». Перевозчик уточнил, что на серверах мультимедийного портала не хранятся персональные данные пассажиров.
Для авторизации в системе пользователь должен ввести только последние четыре символа документа, на который куплен билет, а также вагон и номер места. Эти данные не относятся к персональным, в соответствии с действующим законодательством РФ, и хранятся на сервере ИРС не более одного дня. Сервер ИРС не связан с внутренней сетью ОАО «РЖД» или другими внутренними сервисами управления в поезде, он разработан исключительно для развлекательной и информационной тематики и не хранит никаких конфиденциальных данных клиентов
1. путать причину и следствие вечно невозможно
2. в дырку полезут более серьёзные люди, например, иностранные
3. кого-то за пункт 2 трахнут так, что дым встанет коромыслом
Let's Encrypt:
1. Короткий срок действия для быстрого внедрения изменений при необходимости.
2. Автоматическое продление.
3. Бесплатно для любого числа доменов, а также wildcard.
4. TLS как технология, независимо от сферы применения.
Классические удостоверяющие центры:
1. Хотят денег. Для экономии предлагают увеличивать срок действия.
2. Продлеваются вручную, требуют манипуляций для переустановки после каждого продления.
3. Заливают маркетинговый буллшит про доверие пользователей и предлагают повышать защищённость картинками (google: ssl site seal).
4. TLS как статусная вещь, разделение на категории с разными ценами и доплатой за ручной труд.
Соблюдение Конституции РФ и законов РФ ...
Уважение прав и свобод других лиц ...
Забота о детях и нетрудоспособных родителях ...
Получение основного общего образования ...
Забота о памятниках истории и культуры ...
Уплата налогов и сборов ...
Охрана природы и окружающей среды ...
Защита Отечества
Пресечение недобросовестных действий
Наблюдение за гражданами с целью информирования
Недопущение порочащих помыслов
Соблюдение норм и регламентов
Исключение неблагонадежных субъектов
Донесение о вредоносных поступках
Проведение просвещающих мероприятий
Выполнение предписаний и постановлений
Какая разница если это сертификат на адрес который никто даже не вводит сам в браузере? Да даже если бы вводили всё равно чем их сертификат хуже дорогого? Выдавливай из себя эту чушь про дорого значит качественно, это не связанные вещи
Чем коммерческий сертификат безопаснее? Т к. алгоритмы криптографии стандартизированы, то уровень безопасности может отличаться только из-за организационных мер на стороне CA. И тут есть большие сомнения, что LetsEncrypt чем-либо хуже коммерческих CA.
Эксплоит не позволит узнать пароль, т.к. на сервере пароли локальных учетных записей хранятся в виде хешей.
Однако, после получения доступа на сервер с помощью эксплоита можно узнать хеши и прогнать их по словарю оффлайн, выявив слабые пароли.
"А что же он тогда ломал его "с помощью публичных эксплоитов" а не вошёл по паролю?"
Либо дед по старости лет приобрел маразм, либо совсем ослеп и нисколько не знает о том, что негоже специалисту по информационной безопасности логинится через вифу с полуоткрытой кривой бд, где твои личные данные(пикрелейтед) может угнать любой школьник, владеющий нмапом чуть более чем ламерски
Ну справедливости ради, имея доступ в даркнет и последние 4 цифры паспорта, его полные данные можно легко купить, так что это все равно нифига не безопасно
Самая главная суть в том, что если у них такая защита на вифи, то страшно представить, что у них с защитой сайта и прочих сервисов(и сколько там в теории личных данных)
Есть надежда что действительно критическими сервисами занимался другой отдел. А так можно было сделать вайфай открытым и стукнуть в роскомнадзор, чтоб РЖД штрафовали. Быстро бы поняли где уязвимость
Молодец, канал свободнее будет. А твои данные все равно будут в доступе. На любой публичной точке трафик могут сниффить, это надо понимать и оценивать риски
Использование сертификатов Letscrypt максимальный срок которых 3 месяца, и требуется настройка автоматического продления - наоборот, более безопасно, чем покупка коммерческого сертификата сроком на год или более. Тут уж эксперт необоснованно на мой взгляд "придирается".
Все остальное по делу.
Согласен, это наиболее распространенный способ решения таких проблем - объектно-ориентированный подход, а csv файлик парсить надо вручную (городить свой велосипед), либо использовать сторонние библиотеки. При использовании JSON не паришься об этих вещах, мыслишь в объектно-ориентированной парадигме. Одной командой сохранил, одной командой восстановил коллекцию объектов, не паришься на сериализации.
Еще раз: парсер уже есть в стандартной библиотеке. И кода для работы с csv получается примерно столько же, сколько при работе с json. Для вас 5 строчек кода - это уже "городить"?
не примерно столько же. Но даже пусть так. Конечно ты можешь сделать что хочешь. Хоть микроскопом гвозди забивать. Вопрос только - зачем? Зачем городить ерунду с csv, когда есть общепринятый формат json ставший стандартом де-факто для серилизации объектов?
Доступ к wifi по билету и паспорту это просто какой-то лютый бред, на ровне с посадкой в тот же сапсан и ласточку по билету (а потом проверку билетов уже а пути) когда у вас на дверях кнопки для открытия. Звучит будто «ладно безбилетник едет, ну хоть интернет наш не тронет!»
Ну да, как то не очень, хотя я слабо представляю что можно сделать человеку, зная только его ФИО и номер паспорта, но не имея самого документа на руках
Судя по чему "всему"?
Судя по статье там данные "четыре символа документа, на который куплен билет". Даже трудно себе предсатвить, какую власть обретает человек, знающий, что в поезде на месте 25 едет человек с "3432" в то-ли гражданском паспорте то-ли в загране а может вообще в военнике.
Я понимаю конечно, что тут ресурс гуманитариев... Но этот дядя сломал не WiFi. А просто получил доступ к информации, к которой он не должен был дотянуться.
Конечно, уровень секьюрности описанной сети - ну-ле-вой, если все служебные порты были доступны любому юзеру. В этой истории нет магии, тут всё закономерно.
Каждый раз езжу поездами и не понимаю, на хрена нужна эта авторизация для поезда, который едет 💁🏻♂️ Люди будут бежать за поездом с вайфаем и высасывать интернет?
на самом деле ничего удивительного. если учесть что в лучших традициях 90х там 9999 и одна фирма на маленьком участке. и ИТ там можно сказать ругательное слово, как впрочем и на других гигантах вроде почты России.
Это о 30 днях в прекрасной Японии. Я буду пытаться донести до вас, насколько необычная, комфортная и не дорогая эта страна. Все будет не максимально, но пожалуй даже излишне подробно, чтобы не забыть лучшие деньки своей жизни.