Описание:
1 2 3 |
http://lin.in.ua/articles/25-Vosstanovlenie_dannyx/177-Vostanovlenie_ydalennyx_fajlov_v_Linux.html Речь пойдёт о семействе утилит судебного анализа The Sleuth Kit, которые поддерживают следующие файловые системы: NTFS, FAT, UFS 1, UFS 2, EXT2, EXT3, EXT4 и ISO 9660; |
Установка:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
Для того, чтобы начать использовать The Sleuth Kit, требуется распаковать тарбол в любую директорию и просто набрать в ней make. Для сборки программы нужны библиотеки SSL, которые нужно предварительно поставить, как и говорилось в файле README. В дистрибутив они входят: # apt-cache search libssl libssl-dev - SSL development libraries, header files and documentation libssl0.9.6 - SSL shared libraries (old version) libssl0.9.7 - SSL shared libraries dcmtk - The OFFIS DICOM toolkit command line utilities libdcmtk0 - The OFFIS DICOM toolkit runtime libraries libdcmtk0-dev - The OFFIS DICOM toolkit development libraries and headers Так что это потребует около 7Мб дискового пространства. Если нам его не жалко, ставим: # apt-get install libssl0.9.7 libssl-dev После того, как всё настроится и установится, можно приступать к сборке: # make В результате должно всё собраться, а утилиты появятся в подкаталоге ../bin, который до сборки был пуст. После сборки там появится много утилит, часть которых будет описываться далее. Если у вас библиотека ssl не установлены, при компиляции вы получите ошибку такого вида: checking for initscr in -lncurses... yes checking for uncompress in -lz... yes checking for ssl3_new in -lssl... no configure: error: OpenSSL developer library 'libssl' not installed; cannot continue. make[1]: Entering directory `/home/penta4/temp/1/src/afflib/lib' make[1]: *** Не заданы цели и не найден make-файл. Останов. make[1]: Leaving directory `/home/penta4/temp/1/src/afflib/lib' Error: Missing lib/libafflib.a file make: *** [no-perl] Ошибка 1 Это значит, что упомянутые выше библиотеки у вас не установлены и вам их нужно поставить. |
Ищем и находим данные:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
После установки в вашем распоряжении окажется почти три десятка утилит, способных дать исчерпывающую информацию и том, что и как записано на носителе. Разумеется, утилиты прекрасно работают с raw-данными, полученными dd или recoverdm, о которой уже было написано. Следует отметить, что если программа foremost предназначена скорее для экспресс-анализа и представляет собой утилиту вида "всё в одном флаконе", то The Sleuth Kit это набор утилит для более глубокого исследования данных. Но это лучше показать на примере, в котором используется версия 2.07. Пример: Пусть имеется образ флешки в файле 1.img, и на ней есть данные, которые нужно извлечь без монтирования. Для этого сначала смотрим, какие структуры данных вообще присутствуют на диске - это делает утилита mmls - media management lister. Она показывает разметку диски, в том числе пустые области (unallocated spaces), а так же адреса начала и окончания партиций. Поддерживаются следующие типы партиций: dos (DOS-based partitions [Windows, Linux, etc.]) mac (MAC partitions) bsd (BSD Disklabels [FreeBSD, OpenBSD, NetBSD]) sun (Sun Volume Table of Contents (Solaris)) gpt (GUID Partition Table (EFI)) Так, применяем mmls для того, чтобы узнать, какое расположение и тип партиций: $ mmls 1.img DOS Partition Table Offset Sector: 0 Units are in 512-byte sectors Slot Start End Length Description 00: ----- 0000000000 0000000000 0000000001 Primary Table (#0) 01: ----- 0000000001 0000000031 0000000031 Unallocated 02: 00:00 0000000032 0000031359 0000031328 DOS FAT12 (0x01) 03: ----- 0000031360 0000031487 0000000128 Unallocated Всё верно, досовская файловая система на флешке (выделение полужирным - моё). Теперь известно, откуда она начинается и где заканчивается - эта информация нужна для работы других утилит. Отлично, теперь мы знаем тип файловой системы и где она располагается. Посмотрим, как много данных на ней есть и что мы может оттуда выдрать - в этом деле нам поможет другая утилита, fsstat. Вызываем её, сообщая сведения, полученные от mmls: penta4@penta4rce:~/temp$ fsstat -f fat -o 0000000032 1.img FILE SYSTEM INFORMATION -------------------------------------------- File System Type: FAT12 OEM Name: +/J8LIHC Volume ID: 0x913 Volume Label (Boot Sector): SANVOL Volume Label (Root Directory): File System Type Label: FAT12 Sectors before file system: 32 File System Layout (in sectors) Total Range: 0 - 31327 * Reserved: 0 - 0 ** Boot Sector: 0 * FAT 0: 1 - 12 * FAT 1: 13 - 24 * Data Area: 25 - 31327 ** Root Directory: 25 - 56 ** Cluster Area: 57 - 31320 ** Non-clustered: 31321 - 31327 METADATA INFORMATION -------------------------------------------- Range: 2 - 500226 Root Directory: 2 CONTENT INFORMATION -------------------------------------------- Sector Size: 512 Cluster Size: 4096 Total Cluster Range: 2 - 3909 FAT CONTENTS (in sectors) -------------------------------------------- 57-64 (8) -> EOF 65-80 (16) -> EOF 81-88 (8) -> EOF 89-96 (8) -> EOF 97-408 (312) -> EOF 409-688 (280) -> EOF 689-696 (8) -> EOF 697-1000 (304) -> EOF |
Отлично, теперь мы знаем, сколько файлов записано и где они расположены:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
Самое время посмотреть на структуру каталогов и файлов, начиная с корневого каталога. Для этого воспользуемся утилитой fls, которая показывает не только записанные, но и удалённые файлы. Посмотрим, что есть в корневом каталоге: $ fls -f fat -o 0000000032 1.img d/d 3: DCIM d/d 4: SCENE r/r * 6: raw1.bz2 r/r 8: cdpocket.pdf r/r 10: raw1 Чудесно, знаем не только имена файлов, но и их смещения, которые нам потребуются, чтобы прочесть файлы. Звёздочка означает, что файл удалён: но его можно попробовать восстановить, если после удаления не проводилось интенсивного пере записывания файлов. Если файлов много, или они в каталогах, и требуется найти смещение файла, имя которого известно, следует воспользоваться утилитой ifind. $ ifind -a -n cdpocket.pdf -f fat -i raw -o 0000000032 1.img Результатом является смещение файла, которое требуется для его извлечения. Всё, в наших руках вся информация о файлах - осталось их извлечь. Посмотрим, например, на файл cdpocket.pdf, для извлечения которого используем утилиту icat: $ icat -f fat -i raw -o 0000000032 1.img 8 > cdpocket.pdf В текущем каталоге после выполнения этой команды появляется файл cdpocket.pdf - читается и просматривается соответствующей программой. |
Заключение:
1 2 3 |
Комплект утилит The Sleuth Kit даёт пользователям *nix-систем огромные возможности по восстановлению повреждённых или скрытых данных, и в приведённом выше примере освещается лишь некоторые программы. Больше информации о судебном анализе данных можно найти в прекрасных мануалах, идущих с утилитами, и на сайте авторов. |