Saturday, September 23rd, 2017

Восстановление спрятанных или потерянных данных

Published on Апрель 23, 2009 by   ·   Комментариев нет

Глубокий анализ данных, Эпизод 1: foremost

Есть ситуации: ваша флешка начинает помирать, диск плохо читается и на
нём   важные   данные,   или  вы  пришли  к  какому-нибудь  недругу  и
подозреваете, что у него на винчестере есть данные, которые вам нужны,
а  он  их  показывать  не хочет. В общем, вопрос: как выдрать файлы из
труднодоступных носителей?

Решение:  имеется  класс программ «судебного анализа данных» (forensic
analisys),  позволяющих  без  шума  и  пыли  (и ректальной имплантации
горячих паяльников) выудить данные, даже если они хитро записаны.

Лирическое отступление

Всё  началось  с того, что ко мне пришёл один пользователь виндовс, и,
гордо  размахивая  флешкой,  сказал, что у него есть вордовский файл с
паролями,  но  на  этой  флешке его никто никогда не отыщет. Мне стало
интересно, и я, отвлекая его внимание запущенным на ноутбуке Kororaa с
XGL,  по-тихому  перегнал всю гиговую флешку к себе с помощью dd… На
следующий  день  он  очень удивился, увидев в своём почтовом ящике все
свои  пароли.  Ниже  рассказывается,  как  мне  это  удалось  сделать,
используя Дебиан и программы, имеющиеся в нём.

Что есть для этого в Дебиан?

Чего  только  не найдёшь в Дебиановском репозитории! Например, очень и
очень  интересная  программа  foremost.  Она позволяет искать файлы на
сменных  носителях  / внутри образов дисков по hex-данным, характерным
заголовкам  и  окончаниям.  В  Sarge  версия  довольно  старая,  но  с
сайта  можно  скачать  тарболл  и  скомпилировать  его. После чего
foremost  можно  запустить  и прочитать мануал, который, надо сказать,
весьма примечателен:

Foremost  was  written  by  Special  Agent Kris Kendall and Special Agent Jesse
Kornblum   of  the  United  States  Air  Force  Office  of  Special Investigations
starting  in March 2001. This program would not be what it is today without
help  from  (in  no  particular order): Rob Meekins, Dan Kalil, and Chet
Maciag.  This  project  was  inspired  by  CarvThis, written by the Defense
Computer Forensic Lab in 1999.

Выделенные курсивом строки, надеюсь, в переводе не нуждаются?

Как это работает?

Программа прочёсывает файлы на предмет совпадения заранее определённых
hex-кодов,  соответствующих наиболее распространённым форматам файлов.
После  чего  экстрагирует их из диска / образа и складывает в каталог,
вместе с подробным отчётом о том, чего, сколько и откуда было выдрано.
Мануал  к  программе написан очень подробный, с возможностью добавлять
свои  форматы,  о  которых  программа  не знает. Заголовки и окончания
декодируются перед использованием из шестнадцатеричного формата:

Headers and footers are decoded before use. To specify a value in
hexadecimal  use  \x[0-f][0-f], and for octal use \[1-9][1-9][1-9]. Spaces
can  be  represented  by  \s. Example: "\x4F\123\I\sCCI" decodes to "OSI CCI".

А вот и пример того, как выглядят для foremost файлы:

# extension case-sens max-size header footer (option)
#
# GIF and JPG files (very common)
gif y 155000 \x47\x49\x46\x38\x37\x61 \x00\x3b
gif y 155000 \x47\x49\x46\x38\x39\x61 \x00\x00\x3b
jpg y 200000 \xff\xd8\xff \xff\xd9

Так  что  если есть желание и необходимость, можно добавить информацию
для  поиска  шифрованный  файлов  и  прочих  наводящих  на размышления
данных.

Foremost в действии

Отлично, программа собрана и установлена, с требуемого носителя содран
образ при помощи dd, теперь осталось поискать там файлы.
Попробуем поискать файлы, замаскированные под другой формат.
Берём  флешку,  втыкаем  и не монтируем — пробуем выдрать оттуда файлы
типа doc, один из которых переименован в jpg (наивный юноша…):

./foremost -t doc -o /opt/foremost-1.3/output/ -i /dev/sdf

После чего идём в подкаталог ../output и наблюдаем радостную картину —
файлик обнаружился. А вот и отчёт программы:

Foremost  version  1.3  by  Jesse  Kornblum, Kris Kendall, and Nick Mikus
Audit File
Foremost started at Sat Dec 16 21:48:07 2006
Invocation:  ./foremost  -t  doc  -o  /opt/foremost-1.3/output/ -i /dev/sdf
Output directory: /opt/foremost-1.3/output
Configuration file: /opt/foremost-1.3/foremost.conf
------------------------------------------------------------------
File: /dev/sdf
Start: Sat Dec 16 21:48:07 2006
Length: 15 MB (16121856 bytes)
Num (bs=512) Size Offset
0: 129.jpg 155 KB 66048
Finish: Sat Dec 16 21:48:12 2006
1 FILES EXTRACTED
doc:= 1
------------------------------------------------------------------

Имя  не  сохранено,  но содержимое в порядке. Нагретый паяльник и утюг
можно отложить в сторону. :-)

Другой  пример. Пусть хакер Нео хочет скрытно передать товарищу Морфею
диск  с  изображением кодов к Матрице (фотографией голой Тринити). Для
этого   можно  схитрить:  приказывать  писать  программе  cdrecord  не
iso-образ, а просто файл:

cdrecord -v speed=0 dev=ATAPI:0,0,0 matrixcodes

На другом конце Морфей делает

dd if=/dev/cdrom bs=2048 of=~/temp/matrix.jpg

Но  вот  всех  застукал  агент  Смит,  приволок  в отделение и ласково
спрашивает,  что на болванке. Хакер Нео с ясными глазами говорит почти
правду  —  ничего,  болванка  пустая  (ясное  дело,  что «в лоб» такая
болванка не читается). Агент Смит знает Линукс и поэтому он набирает в
консоли:

# foremost -t all -o ~/output/ -i /dev/hda

И  выуживает  из  диска  крамольные  данные:  в  подкаталоге ..output/
появляется файл audit.txt следующего содержания:

Foremost  version  1.3  by  Jesse  Kornblum, Kris Kendall, and Nick Mikus
Audit File
Foremost started at Sat Dec 16 22:15:26 2006
Invocation:  ./foremost  -t  all  -o  /opt/foremost-1.3/output/ -i /dev/hda
Output directory: /opt/foremost-1.3/output
Configuration file: /opt/foremost-1.3/foremost.conf
------------------------------------------------------------------
File: /dev/hda
Start: Sat Dec 16 22:15:26 2006
Length: 604 KB (618496 bytes)
Num (bs=512) Size Offset
0: 0.jpg 88 KB 0
Finish: Sat Dec 16 22:15:28 2006
1 FILES EXTRACTED
jpg:= 1
------------------------------------------------------------------
Foremost finished at Sat Dec 16 22:15:28 2006

и каталог ..output/jpg/ с этим файлом…

Ситуацию  можно  усложнить:  дописать  в  конец диска этот файл тем же
способом,  после  записи  липовых  файлов,  или записать так архив — в
общем, есть где фантазии развернуться.

Ещё  немного поигравшись с программой, можно сказать следующее. Сразу,
без  дополнительных  танцев,  находит  foremost графические файлы tif,
jpg,  png,  bmp,  звуковые  файлы wav, виндовые exe-шники, все офисные
форматы  (мелкоОфиса  и  ОпенОфиса), архивы rar и zip и многое другое.
Линуксовые  архивы  типа  bzip2 и p7zip «в лоб» программа не берёт, но
это  дело  не  сильно  облегчает, так как, задавшись целью, можно и их
выдрать с диска.

Заключение

На  простых  примерах была показана мощь программы foremost, которая в
умелых   руках   и  при  знании  простых  UNIX-программ  типа  dd  или
recoverdm  способна выуживать из носителей информации данные, даже
весьма хитро спрятанные и записанные нестандартным образом.

how can i get my ex boyfriend back

Аналогичные программы

Такие  программы  особенно не афишируются, и крайне неохотно раздаются
за просто так. Или надо оставлять свои паспортные данные и доказывать,
что  вы  работаете в полиции, в суде или в КГБ :-) Но всё-таки кое-что
имеется.  Это  проприетарные  Safeback, Encase, safecopy, dvdisaster и
некоторые другие. Особые параноики полагают, что старый-добрый dd тоже
является программой из этой же серии.

Глубокий анализ данных, Эпизод 2: The Sleuth Kit

Продолжая тему о программах анализа данных, в этом посте пойдёт речь о
семействе утилит судебного анализа (forensic analys) The Sleuth Kit. В
дистрибутив Debian оно пока не входит (в Sarge v3.1r1 во всяком
случае), но это не мешает скачать сырцы с сайта проекта и собрать
самостоятельно.

Установка

Для того, чтобы начать использовать 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: Entering directory `/home/penta4/temp/1/src/afflib/lib'
make: *** Не заданы цели и не найден make-файл. Останов.
make: 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.])
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
how to get your ex boyfriend back

# 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, которая показывает не только записанные, но и удалённые файлы. Посмотрим, что есть в корневом каталоге: $ 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-систем огромные возможности по восстановлению повреждённых или скрытых данных, и в приведённом выше примере освещается лишь некоторые программы. Больше информации о судебном анализе данных можно найти в прекрасных мануалах, идущих с утилитами, и на сайте авторов.

zp8497586rq
zp8497586rq




























































































Смотрите также:

Readers Comments (Комментариев нет)

Comments are closed.

Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]