Был я как-то на ZeroNights, это очередная конференция по информационной безопасности, которая в этом году была совсем шлаком.
Там я хотел как всегда что-либо поломать, получить за это приз, и т.д., но как я выяснил - интересных задач там не было, и пришлось развлекать себя самому.
Что происходило там - особой смысловой нагрузки не несёт, а вот что началось потом - это что-то.
Как закончилась конференция, все её участники взяли билеты на сапсан, последний сапсан Санкт-Петербург - Москва выезжает в 21:00, и я на него успевал…
Занял место в Сапсане
Я сел на своё место в вагоне, думал, что же делать, и начал читать книгу, как вдруг ко мне подошёл мужчина и попросил поменяться местами, ибо он едет со своей девушкой. Я поменялся, ибо как говорится дари людям добро - и оно к тебе вернётся.
Сидел читал книгу, и понял что блин, я же так ничего интересного не отломал, сяду-ка я за свои пентест задачи, которые остались не выполненные.
Решил зайти на почту, а интернет не ловило, по пути было часто покрытие 2G, которое было УЖАСНЫМ.
Я решил подключиться к местному WiFi сапсана.
Делал я это впервые!
Ну так вот, он попросил меня ввести номер вагона, места и последние 4 цифры паспорта для авторизации, и тут меня уже немного заинтересовало, что же я могу сделать с этой сеткой Сапсана, но всё же в приоритете были пентест задачи по работе.
Захожу на яндекс почту, и вижу такую картину:
супер медленный интернет не грузил даже почту
И я подумал, да и хрен бы с ним, придётся читать книгу… И тут вспомнил что вызвало интерес у меня, а это авторизация в WiFi по цифрам паспорта и номере места с вагоном. Значит Сапсан у себя локально хранит данные о всех пассажирах, кто на каком месте. А что если проверить, насколько трудно к ней получить доступ.
Мне понадобился только NMAP и пару публичных эксплоитов.
Данные для авторизации в системах я описывать не буду, дабы не обидеть РЖД (на всех сапсанах данные для авторизации одинаковые).
Как я ломал Сапсан
Запускаю nmap с параметрами -v -A sapsan.center, и смотрю какие порты открыты у них.
И понимаю, что очень много сервисов висит.
Все порты я раскрывать не буду, но многое видно на скриншотах :-) Думаю, замазывать не стоит, ибо такой же взлом займёт у вас не более 20 минут (20 минут только из-за того, что их сервер лагает).
Ну и я пошёл гулять по сервисам, которые стоят там.
И не долго думая, я понял что у них один сервер на всё, и там тупо стоит докер. Добрался до cAdvisor, и офигел.
С оперативной памятью у них на сервере всё плохо, мб по этому и лагает? Давайте посмотрим что у них вообще есть, какие контейнеры работают, какие процессы запущены и т.д.
Весело дотнет под центосью запускать, нет бы винду поставить рядом, а то как я помню Net Core под линью оперативки жрёт поболее, чем под виндой.
Дальше я пошёл изучать содержимое контейнеров, и некоторыми публичными CVE залился в систему. (пароли у них простые, а доступ по ssh к руту открыт).
На диске у них хранилось много хорошей инфы, и в базе данных (mysql) у них лежали все пассажиры текущего и прошлых рейсов.
Также оттуда в сеть РЖД есть впн. Если захотите - найдёте её там сами.
Но больше всех меня убило то, что РЖД даже не потратилось на сертификат, и поставило let's encrypt на свои домены для HTTPS
Вывод из этого всего:
Скриншотов я много не делал, ибо не думал писать статью. Но я несколько лет назад уже обращался в РЖД с уязвимостью, и они побрили меня с выплатой и просто исправили её, так что отношение у меня к ним не ахти. Хоть и личных данных я не публикую.
Всё настроено ужасно, одинаковые пароли везде - признак хорошего админа, и хранение данных в текстовых документах тоже гуд. Особенно задачи в кроне. РЖД, поправьте всё, через пару месяцев снова проверю.
Все, кто подключен к их WiFi подвержены снифу трафика, ибо всё идёт через их прокси, можно легко собирать HTTP трафик, но если чуть постараться, то и HTTPS (проверенно).
К данным пассажиров рейса получить доступ не составляет труда, и занимает это от силы 20 минут.
Надеюсь, вам понравилось моё чтиво, хоть я и не умею писать статьи.
Всем добра.
https://habr.com/ru/post/476034/