Продолжая тему о программах анализа данных, в этом посте пойдёт речь о семействе утилит судебного анализа (forensic analys) The Sleuth Kit. В дистрибутив Debian оно пока не входит (в Sarge v3.1r1 во всяком случае), но это не мешает скачать сырцы с сайта проекта и собрать самостоятельно.
Установка
Для того, чтобы начать использовать The Sleuth Kit, требуется распаковать тарбол в любую директорию и просто набрать в ней make. Для сборки программы нужны библиотеки SSL, которые нужно предварительно поставить, как и говорилось в файле README. В дистрибутив они входят:# apt-cache search libssl
Так что это потребует около 7Мб дискового пространства. Если нам его не жалко, ставим:
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# 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
Ищем и находим данные
После установки в вашем распоряжении окажется почти три десятка утилит, способных дать исчерпывающую информацию и том, что и как записано на носителе. Разумеется, утилиты прекрасно работают с raw-данными, полученными dd или recoverdm, о которой уже было написано.
Следует отметить, что если программа foremost предназначена скорее для экспресс-анализа и представляет собой утилиту вида "всё в одном флаконе", то The Sleuth Kit это набор утилит для более глубокого исследования данных. Но это лучше показать на примере, в котором используется версия 2.07.
Пример
Пусть имеется образ флешки в файле 1.img, и на ней есть данные, которые нужно извлечь без монтирования. Для этого сначала смотрим, какие структуры данных вообше присутствуют на диске - это делает утилита mmls - media management lister. Она показывает разметку диски, в том числе пустые области (unallocated spaces), а так же адреса начала и окончания партиций.
Поддерживаются следующие типы партиций: dos (DOS-based partitions [Windows, Linux, etc.])
Так, применяем mmls для того, чтобы узнать, какое расположение и тип партиций:
mac (MAC partitions)
bsd (BSD Disklabels [FreeBSD, OpenBSD, NetBSD])
sun (Sun Volume Table of Contents (Solaris))
gpt (GUID Partition Table (EFI))$ 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
Отлично, теперь мы знаем, сколько файлов записано и где они расположены. Самое время посмотреть на структуру каталогов и файлов, начиная с корневого каталога. Для этого воспользуемся утилитой fls, которая показывает не только записанные, но и удалённые файлы. Посмотрим, что есть в корневом каталоге:
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$ 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
Результатом является смещение файла, которое требуется для его извлечения.
8
Всё, в наших руках вся информация о файлах - осталось их извлечь. Посмотрим, например, на файл cdpocket.pdf, для извлечения которого используем утилиту icat:$ icat -f fat -i raw -o 0000000032 1.img 8 > cdpocket.pdf
В текущем каталоге после выполнения этой команды появляется файл cdpocket.pdf - читается и просматривается соответствующей программой.
Заключение
Комплект утилит The Sleuth Kit даёт пользователям *nix-систем огромные возможности по восстановлению повреждённых или скрытых данных, и в приведённом выше примере освещается лишь некоторые программы. Больше информации о судебном анализе данных можно найти в прекрасных мануалах, идущих с утилитами, и на сайте авторов.
Глубокий анализ данных, Эпизод 2: The Sleuth Kit
Подписаться на:
Комментарии к сообщению (Atom)
6 комментариев: |высказаться!| RSS-лента дискуссии.|
В Debian Etch уже есть в официальных репозиториях (Version: 2.06-3).
2 Anonymous
В Debian Etch уже есть в официальных репозиториях (Version: 2.06-3).
Значит, на ноутбуке по крайней мере я на Этч переходить буду точно. Спасибо за информацию!
А чего make? В дебиане же это не есть камельфо! checkinstall рулит!
[quote]
А чего make? В дебиане же это не есть камельфо! checkinstall рулит!
[/quote]
checkinstall устанавливает в систему через deb, вместо make install но не как не вместо make
Если честно, не вижу проблемы просто скомпилировать программу и сунуть её в /opt, который для этого, собственно, и существует.
Кстати сказать.. Где-то полгода назад имевшиеся у меня тулзы (fatback, sleuth kit, что-то еще подобного типа) напрочь не хотели находить удаленные файлы с русскими именами.. Они просто их не видели. Приходилось опять же использовать magicrescue и foremost. Кто-нибудь еще с таким сталкивался? Или это только мне так везло?
--
Jay
Отправить комментарий