Hacking on Rails

:

В бессмысленно дорогом поезде «Александр Невский», курсирующем между Питером и Москвой, в СВ-вагоне бизнес-класса места в два раза меньше, чем в нормальном купе из-за наличия душа в каждом номере, за цену в два раза выше. Отличный пример непонимания основных потребностей пассажиров и вытягивания денег с помощью сомнительных услуг. А еще этот поезд оснащен мультимедийной системой для овощного времяпрепровождения. Про эту систему под названием «Инбера» (информация, безопасность, развлечения), внедренную совсем недавно, написано много отзывов, как про не имеющую аналогов и даже выдан патент.

Было скучно, спать не хотелось, и я решил поиграться с клиентским терминалом, установленном в каждом «люксе». Благо кнопка «Интернет» со значком IE сразу рождала в голове тысячу и один способ получения доступа к командной строке операционки.

По умолчанию для навигации доступна мышка, однако у проводника можно попросить клавиатуру (USB). И тут начинается самое интересное. Не смотря на логотип IE, в качестве браузера используется Firefox с характерным antialiased font. Секунда игры с клавиатурой — и ВНЕЗАПНО:

ВНЕЗАПНО — xterm! Быстро становится ясно, что клиентский терминал построен на линуксе, а в качестве WM используется IceWM:

Дистрибутив — Gentoo 2007 года сборки, ядро 2.6.22, в качестве мультимедийного проводника используется vlc, стримящий видео и музыку с центрального сервера (весьма очевидное решение), сессия запущена из-под пользователя user. Тут все уже взрослые, рассказывать, как получить рута, имея консоль, интернет и двухлетнее ядро, думаю, не надо.

Идем дальше. Нам же хочется получить полноценный десктоп, а не firefox, запущенный во весь экран, верно? Взглянув на список процессов, видим, что основа системы — скрипт /home/user/fox, в цикле мониторящий наличие запущенного браузера и запускающий его с заданным профайлом. Посмотрев инитскрипты, становится понятна примитивная схема работы терминала: Линукс грузится в пятый ранлевел, а в стартовом скрипте xdm прописана строчка вида su — user -c '/home/user/fox'. Вывалился браузер — он запустился снова. Ребутнул систему — она запустилась снова.

Убираем или правим скрипт, и получаем столь любимую класноглазиками консоль Gentoo:

Как не смешно, но inittab остался нетронутым — с помощью трех пальцев отправляем систему в ребут:

BIOS не запаролен, можно грузануться с USB-флешки, например, с Багтраком:

GRUB, к сожалению, судя по всему, сконфигурирован без возможности корректировать меню загрузки (lockalternative=false?), что делает невозможным классическое init=/bin/sh как еще один вариант получения рута.

Посмотрев на все это безобразие, я плюнул, вернул все на место и пошел спать. Через четыре часа поезд прибывал на Ленинградский вокзал.

А когда я вернулся в Москву, то обнаружил, что за время моего отсутствия квартиру затопили соседи сверху.