Перед установкой Solaris в системе i386 необходимо предварительно создать один или несколько разделов DOS. В типичной установке создается загрузочный раздел (тип раздела DOS ОхВЕ) и раздел с файловыми системами (тип раздела DOS 0x82). Загрузочный раздел содержит загрузочный код, необходимый для запуска системы, и файловая система как таковая в нем отсутствует. Структура разметки диска находится во втором секторе раздела файловой системы DOS (тип 0x82) и описывает строение разделов Sun внутри раздела DOS. Все разделы Sun должны начинаться за началом раздела DOS. На рис. 6.6 показан диск с тремя разделами DOS; последний раздел содержит разметку диска и три раздела Sun.

Структура разметки диска занимает 512 байт, и работать с ней удобнее, чем со Spare-версией, потому что вся информация о разделах хранится в одном месте. Другое преимущество 1386-версии состоит в том, что при хранении информации используется адресация LBA (а не CHS). Помимо этих различий, две структуры очень похожи. Первые 456 байтов разметки диска называются оглавлением тома, или VTOC (Volume Table Of Contents); здесь хранится информация о разделах, их количестве, размере сектора и т. д. Структура данных разметки диска приведена в табл. 6.14.

Таблица 6.14. Структура данных разметки диска Sun І386

Диапазон байтов

Описание

Необходимость

0-11

Загрузочная информация

Нет

12-15

Сигнатура (0x600DDEEE)

Нет

16-19

Версия

Нет

Диапазон байтов

Описание

Необходимость

20-27

Имя тома

Нет

28-29

Размер сектора

Да

30-31

Количество разделов

Да

32-71

Зарезервировано

Нет

72-83

Раздел 1 (см. табл. 6.15)

Да

84-95

Раздел 2 (см. табл. 6.15)

Да

96-107

Раздел 3 (см. табл. 6.15)

Да

108-119

Раздел 4 (см. табл. 6.15)

Да

120-131

Раздел 5 (см. табл. 6.15)

Да

132-143

Раздел 6 (см. табл. 6.15)

Да

144-155

Раздел 7 (см. табл. 6.15)

Да

156-167

Раздел 8 (см. табл. 6.15)

Да

168-179

Раздел 9 (см. табл. 6.15)

Да

180-191

Раздел 10 (см. табл. 6.15)

Да

192-203

Раздел 11 (см. табл. 6.15)

Да

204-215

Раздел 12 (см. табл. 6.15)

Да

216-227

Раздел 13 (см. табл. 6.15)

Да

228-239

Раздел 14 (см. табл. 6.15)

Да

240-251

Раздел 15 (см. табл. 6.15)

Да

252-263

Раздел 16 (см. табл. 6.15)

Да

264-327

Временные штампы (не используется)

Нет

328-455

Метка тома

Нет

456-507

Сведения об оборудовании

Нет

508-509

Сигнатура (ОхРАВЕ)

Нет

510-511

Контрольная сумма

Нет

Рис. 6.6. Диск i386 Sun с тремя разделами DOS. Последний раздел содержит разметку диска и три раздела Sun

Каждая из 16 записей разделов имеет структуру, показанную в табл. 6.15.

Таблица 6.15. Структура записи раздела в разметке диска Sun І386

Диапазон байтов

Описание

Необходимость

0-1

Тип раздела (см. табл. 6.11)

Нет

2-3

Флаг (см. табл. 6.12)

Нет

4-7

Начальный сектор

Да

8-11

Размер в секторах

Да

В полях типа и флагов используются те же значения, которые приводились ранее для структур данных Sparc. Для идентификации разделов в Solaris на платформе І386 необходимо проанализировать записи разделов VTOC и определить их структуру по начальному сектору и размеру. Начальный сектор задается по отношению к разделу DOS (с типом 0x82). В нашем примере раздел DOS с разметкой диска начинается с сектора 22 496. Следовательно, разметка диска находится в секторе 22 497:

# dd іf=i386-disk.dd bs=512 skip=22497 xxd

0000000: 0000 0000 0000 0000 0000 0000 eede 0d60 ...............'

0000016: 0100 0000 0000 0000 0000 0000 0002 1000 ................

0000032: 0000 0000 0000 0000 0000 0000 0000 0000 ................

0000048: 0000 0000 0000 0000 0000 0000 0000 0000 ................

0000064: 0000 0000 0000 0000 0200 0000 cOOe 1000 ................

0000080: 0082 3e00 0300 0100 dOOb 0000 f002 1000 ..>.............

0000096: 0500 0000 0000 0000 309a 7001 0000 0000 ........0.p.....

0000112: 0000 0000 0000 0000 0000 0000 0000 0000 ................

0000128: 0000 0000 0400 0000 c090 4e00 2000 faOO ..........N. ...

0000144: 0000 0000 0000 0000 0000 0000 0800 0000 ................

0000160: e090 4801 0041 lfOO 0100 0100 0000 0000 ..H..A..........

0000176: f003 0000 0900 0100 f003 0000 e007 0000 ................

[... НУЛИ]

0000320: 0000 0000 0000 0000 4445 4641 554c 5420 ........DEFAULT

0000336: 6379 6c20 3233 3936 3420 616c 7420 3220 cyl 23964 alt 2

[... НУЛИ]

0000448: 0000 0000 0000 0000 0000 0000 0000 0000 .........]...]..

0000464: 0200 0000 1000 0000 3f00 0000 0100 0000 ........?.......

0000480: 0000 100e 0000 0000 0000 0000 0000 0000 ................

0000496: 0000 100e 0000 0000 0000 0000 beda a24a ...............]

Данные получены в системе i386, в которой используется прямой порядок байтов. По значению со смещением 30 мы видим, что таблица содержит 16 разделов (0x10). Первая запись раздела начинается со смещением 72 и заканчивается со смещением 83. Байты 72-73 показывают, что запись имеет тип 0x02, то есть представляет корневой раздел. Начальный сектор в байтах 76-79 равен 1 052 352 (ОхООЮОЕСО). Байты 80-83 указывают размер раздела; мы видим, что он равен 4 096 512 (0х003е8200). В данной разметке используются 10 разделов, описание последнего находится в байтах 180-191. Все временные штампы равны нулю, а имя тома состоит из слова DEFAULT и параметров геометрии диска.

Для получения информации о местонахождении загрузочного раздела и разделов файловых систем из образа диска i386 молено воспользоваться любой программой, работающей с разделами DOS. При запуске mmls для диска Solaris на платформе i386 был получен следующий результат:

# mmls -t dos т386-disk.dd DOS Partition Table

Units are in 512-byte sectors

Slot Start End Length Description

00: ----------0000000000 0000000000 0000000001 Primary Table (#0)

01: ----------0000000001 0000001007 0000001007 Unallocated

02: 00:00 0000001008 0000021168 0000021168 Solaris 8 Boot (OxBE)

03: ----------0000022176 0000000320 0000000320 Unallocated

04: 00:01 0000022496 0024180911 0024158416 Linux swap / Solaris x86 (0x82)

Напомню, что раздел типа ОхВЕ предназначен для загрузочного кода, файловая система в нем отсутствует. Файловые системы и структуры разметки диска хранятся в разделах типа 0x82. Ту же информацию можно получить, запустив утилиту fdisk в Linux, но fdisk не включает разделы Solaris в разметку диска. Чтобы просмотреть содержимое файловой системы, либо извлеките раздел, начиная с сектора 22 496, либо просто вызовите mmls и укажите смещение с параметром -о:

# mmls -t sun -о 22496 disk8.dd Sun VTOC

Units are in 512-byte sectors

Slot Start End Length Description

00: 02 0000000000 0024156719 0024156720 backup (0x05)

01: 08 0000000000 0000001007 0000001008 boot (0x01)

02: 09 0000001008 0000003023 0000002016 alt sector (0x09)

03: 01 0000003024 0001052351 0001049328 swap (0x03)

04: 00 0001052352 0005148863 0004096512 / (0x02)

05: 05 0005148864 0021532895 0016384032 /usr/ (0x04)

06: 07 0021532896 0023581151 0002048256 /home/ (0x08)

Как говорилось ранее, адреса задаются по отношению к началу раздела DOS, поэтому при извлечении данных программой dd необходимо увеличивать адреса всех начальных секторов на 22 496. Эксперименты показали, что при загрузке Linux с диском Solaris 1386, подключенным как один из ведомых (slave) дисков, Linux создает устройства только для первых восьми разделов Solaris. Для всех последующих разделов устройства не создаются.

Факторы анализа

При анализе разделов Solaris действуют те же особые соображения, что и при анализе других систем разделов. Структура разметки диска содержит неиспользуемые поля, в которых могут находиться скрытые данные (хотя объем этого скрытого пространства невелик).

Как и в других системах разделов, поле типа в описании раздела не имеет строго обязательного смысла. Даже если в структуре разметки диска сказано, что раздел является разделом /var/ или содержит область подкачки, это еще не значит, что это действительно так. Как всегда, проведите поиск неиспользуемого пространства на диске.

Если местонахождение разметки диска неизвестно, попробуйте провести поиск по сигнатурам. Сигнатура 0x600DDEEE находится внутри разметки диска, а сигнатура OxDABE хранится в байтах 508-509.

Итоги

Системы Solaris часто встречаются в корпоративных сетях и часто становятся объектом экспертного анализа при попытках взлома и мошенничества. В этой части книги было показано, как организованы диски Solaris и как вывести или извлечь соответствующую служебную информацию. Структура разметки диска относительно проста, а для ее чтения можно воспользоваться программами fdisk и mmls.

Структуры данных sparc | Криминалистический анализ файловых систем | Разделы gpt


Криминалистический анализ файловых систем



Новости за месяц

  • Март
    2020
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс