[Из песочницы] Взламывая ASOS

Привет, Хабр! Представляю вашему вниманию перевод статьи «Breaking Into ASOS» автора Michal Necasek.

Люблю старое железо, и мне хочется поделиться с вами любопытной историей изучения однго жёсткого диска из музея.

Музей OS/2 недавно приобрел жесткий диск Quantum Bigfoot TS в отличном состоянии. Диски Bigfoot, если кто не помнит,  были довольно странными 5,25-дюймовыми носителями информации, популярными в 1990-х годах. Они дешево стоили, были довольно медленными и большими. Но по-своему необычными.

На диске была наклейка, из которой становилось понятно, что устройство когда-то находилось внутри машины Compaq. После подключения носителя к системе Linux выяснилось, что диск не пустой. Это уже было интересно. Однако далее выяснилось, что содержимое диска было совсем не характерно для Linux.

После подключения образа диска к виртуальной машине выяснилось, что диск не просто является загрузочным, он загружает какую-то, мягко говоря, причудливую вещь, которую когда-то придумали Compaq и SCO. Вот как выглядит экран при загрузке:

wa9oy5b_txjrkovxqnfmxov1vlw.png
Какой-то сервер Microsoft/SCO/Compaq?

По большому счёту, там не на что смотреть. Вообще не на что. Но после переключения виртуального терминала (комбинацией Alt+F2, и у кого же  Linux взял эту идею?) оказалось, что перед нам любопытная смесь готовой ОС с некоторыми пользовательскими настройками:

7wwe2wzry_dr0kzffm5y6vhzn0y.png
Compaq ASOS, настроенный SCO OpenServer

Как видно, это SCO OpenServer Release 5, но с некоторыми модификациями Compaq. Если хорошенько поискать в сети, то можно найти некоторые подробности. Оказывается, жесткий диск принадлежал Compaq Prosignia NeoServer, необычному сетевому серверу конца 1990-х годов. Это был маломощный и дешёвый компьютер Celeron с веб-сервером, файловым сервером, сервером печати и т.д. По какой-то причине Compaq решила использовать его. По правде сказать, NeoServer немного походил на шредер или мусорное ведро. Однако мы видим надпись »1999 год» и «network», так что работать все должно было как надо. Значительная часть функциональности NeoServer опиралась на продукт VisionFS, который был примерно похож на Samba.

Линейка NeoServer похоже, оказалась не слишком успешной, поэтому найти документацию непросто. Существует куча мёртвых ссылок. Даже на archive.org нет полного FTP-архива Compaq. Там нет всего /pub/supportinformation/techpubs/user_reference_guides поддерева.

Кроме того, если верить одному старому сообщению на форуме, NeoServer был заблокирован, так что на самом деле невозможно войти в систему под root через консоль. Итак, как же пробиться на OpenServer?

ASOS настроен с полу-недокументированным параметром загрузки QUIET = YES. Это означает, что нет возможности прервать процесс загрузки. Мне не удалось найти способ получить какую-либо однопользовательскую загрузку на OpenServer, настроенном таким образом.

Очевидной альтернативой было бы подключение диска (образа) к Linux…, но это бесполезно, потому что Linux не поддерживает файловую систему OpenServer (HTFS). Единственная оставшаяся возможность — это использование установочного диска OpenServer.

Этот вариант не даёт очевидного способа получить доступ к командной строке, но на самом деле у нас есть два пути. Один из них — это нажатие клавиши F8 (не задокументировано) после загрузки установщика. Это вызывает экран отладки с опцией «Shell escape»:

cmdy2zptksx3beagwser-gs9l4i.png
Магия F8 призывает к жизни функцию отладки установщика

Другой вариант — добавить «инструменты» в меню загрузки установщика OpenServer, например:
7fewgwsm3njjywx61_oait_aaf4.png
Ещё немного загрузочной магии OpenServer

После загрузки установщик вместо установки ОС переходит в это меню:

lu6ck84xipnmz4qfzt89ddzdfkw.png
Меню инструментов в OpenServer

Итак, мы добрались до командной строки и можем смонтировать файловую систему жесткого диска с помощью mount/mnt/dev/hd0root. На этом этапе должна появиться возможность запуска команды passwd, с помощью которой сбрасывается/удаляется пароль root. Увы, не всё так просто. Да, это должно так работать, и есть инструкции по сбросу пароля root. Однако на ASOS Compaq это не работает.

Проблема в том, что /etc/passwd — это просто символическая ссылка на /rwroot/etc/passwd. А я не знаю, где это находится. Концепция «rwroot» оказалась весьма своеобразной для ASOS, поскольку никаких ссылок по этой теме я не смог найти.

Заглянем внутрь корневой файловой системы, в каталог /idev. Там есть /idev/rwroot с младшим и старшими номерами от 1 до 43. Если попробовать mknod /dev/rwroot b 1 43, а затем mkdir /rwroot и в конце mount /dev/rwroot /rwroot, то мы добьёмся нужного результата. И откроем, наконец, настоящий /etc/passwd файл в vi:

vmugtlphusqzzcjpzwfsvxhrdm4.png
Вот он, настоящий файл паролей ASOS

Конечно, настоящие пароли находятся в shadow-файле, но изменить то, что нужно нам, совсем не сложно. Одна перезагрузка … и дело в шляпе! Мы вошли:

uvr02bugf5uzzayedksrknh1new.png
Командная строка ASOS

Эта информация могла бы даже помочь кому-то 20 лет назад. А сейчас просто способ унять исследовательский зуд.

PS
Оказалось, что получение root-доступа не так уж и полезно. Конфигурация системы фактически исправлена, ядро ​​не может быть перенастроено и т. д. В конце концов, лучшим подходом оказалась установка виртуальной машины OpenServer, настройка сети для обмена файлами, а затем подключение образа диска Bigfoot. Было непросто выяснить, что находится на диске между разделами fdisk и разделами divvy, но это объяснение очень помогло. Похоже, диск действительно использовался в Compaq ProSignia NeoServer, но был списан в 2002 году.


Спасибо за внимание. Источник.

© Habrahabr.ru