Щас наткнулся в торе на небольшую,но информативную обзорную статью.Далее голимый копипаст...
Практическая Форензика - часть 1
О Форензике:
Это прикладная наука о получении и исследовании доказательств в виде информации с компьютера подозреваемого. Как правильно собирать эти данные, чтобы не нарушить целостность и не затереть какие-либо следы, как анализировать образы жесткого диска или же RAM, и конечно же как именно представить это в качестве доказательства в деле, всем этим заведует форензика - наука о компьютерной криминалистике.
Об этой статье:
Вы узнаете о некоторых программных инструментах, которые позволят вам снять дамп оперативной памяти, сделать образы жесткого диска на различных устройствах.
Также будет описано как именно анализировать и добывать необходимую информацию с помощью открытых опенсорс решений.
1 - "Дампим память"
Чтобы сдампить память нам нужно знать какая операционная система является целью.
Если это Виндоус, то вы можете использовать например такие инструменты:
--- Оперативная память (RAM) - Belkasoft Live RAM Capture, FTK Imager, Rekall
--- Жесткий диск (HDD) - Acronis или же аналоги линукс утилиты dd для виндоус
Если это линукс:
--- RAM - LiME -
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
, также в старых дистрибутивах возможно было напрямую с помощью dd сдампить файл устройства /dev/mem, или же используем Rekall -
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
--- HDD - dd
Если это Mac OS:
--- RAM - Можно использовать проект Goldfish
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
, или же Rekall--- HDD - dd
Если же это Андроид:
--- RAM - Lime, можно кросскомпилить и юзать прямо на мобильном девайсе через ADB.
--- HDD - dd, нужны рут права соответственно
Примеры:
Windows - Для дампа оперативки проще всего использовать софт Ram Capture, скачиваете, выбираете версию x86 или x64. Там одно окно и пара кнопок, проблем быть не должно. Также можно использовать Rekall для версий Microsoft Windows XP Service Pack 2 and 3, Microsoft Windows 7 Service Pack 0 and 1.
--Rekall--
Скачиваем, выбираем вашу архитектуру rekall/tools/windows/winpmem/binaries
Например - rekall/tools/winpmem/binaries/amd64/winpmem.sys
Здесь находим консольную утилиту - rekall/tools/winpmem/executables/Release/
И подгружаем ваш драйвер winpmem.exe -l rekall/tools/winpmem/binaries/amd64/winpmem.sys
Создастся специальный девайс - \\.\pmem
Теперь дампим память winpmem.exe image.raw
И выключаем девайс - winpmem.exe -u
Снятие образа жесткого диска в Acronis например не должно вызвать проблем.
Linux - Для RAM юзаем LiME.
git clone
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
-- Клонируем репозиторийcd LiME/src
make -- Компилим
insmod lime.ko "path=image.lime format=lime" -- Подгружаем модуль ядра, сохраняя дамп в файл image.lime
Также один хороший человек сделал специальную сборку для флешки -
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Или же
-- Rekall --
Linux Kernels 2.6.24 to 3.10.
cd rekall/tools/linux/
make
sudo insmod pmem.ko
Будет создан девайс /dev/pmem
sudo dd if=/dev/pmem of=image.raw
Для дампа жесткого диска всего лишь sudo dd if=/dev/ваш_раздел of=obraz.raw
Android - Для снятия образов разделов используем также утилиту dd которая есть на каждом таком девайсе. Предварительно получаем права рут для девайса с помощью инструкций, которы можно например найти на 4pda.ru
Подключаемся к устройству по ADB или же качаем эмулятор терминала напрямую на устройство.
ADB:
adb shell
su
cat /proc/partitions -- Выдаст список разделов вам нужны такие mmcblk0 и далее
dd if=/dev/block/mmcblk0p9 of=/sdcard/system.img -- Пример дампа и так каждый раздел, который будет нужен
Дальше, чтобы закачать на ваш компьютер либо используем adb
adb pull /sdcard/system.img
Либо просто вытаскиваем карту и подключаем напрямую в слот или с помощью кард-ридера
Для дампа RAM:
Пошаговый мануал по кросскомпиляции LiME есть здесь -
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
2 - "Подготовка"
И так у нас имеется некоторое кол-во дампов, будем отталкиваться от того что это например Виндоус дамп RAM и жесткого диска.
В качестве рабочей ОС у нас будет к примеру Ubuntu. Теперь нам необходимо установить некоторый софт.
sudo apt-get install volatility -- Открытый фреймворк для анализа RAM
sudo apt-get install testdisk -- Утилита для работы с образами. Позволяет восстанавливать файлы, анализировать образы и реальные девайсы. Работа с множеством файловых систем.
sudo apt-get install PhotoRec - Тот же testdisk только заточен чисто на восстановление данных, имеет большое кол-во сигнатур и возможность выбора какие именно форматы искать.
md5sum - утилита для создания хешей. Может пригодиться если вам нужно доказать впоследствии неизменность исходных данных и анализируемого образа.
md5sum -b [filename|volume] -- Использование
3 - "Анализируем дампы"
Восстановление файлов и анализ файловых систем:
Есть куда более серьезные решения чем те которые вы прочтете ниже, например Sleuth Kit, однако нам пока хватит и такого.
-- TestDisk
Открываем ваш образ жесткого диска
sudo testdisk windows.raw
Выбираем partition table
Чаще всего это будет Intel или же в некоторых случаях EFI GPT
Выбираем advanced и затем нужный вам раздел
Жмем опцию undelete
И постепенно вы увидете множество файлов.
Чтобы восстановить файл или целиком директорию нажимаем при выборе "c"
-- PhotoRec
В принципе аналогичен приведенному выше, только в разделе FileOpts можно выбрать различные форматы для восстановления
Работа с дампом оперативки:
-- Volatility
Отличный фреймворк, написан на языке python и обладает удобными консольным интерфейсом, а также возможностью напрямую получить доступ к питон шеллу для работы внутри образа.
volatility -f image.mem imageinfo -- Первым делом можно посмотреть информацию о дампе
volatility -f image.mem pslist -- Есть возможность увидеть процессы
volatility -f image.mem pstree - Или как дерево процессов
volatility -f image.mem screenshot --dump-dir ~/ -- И даже получить псевдоскриншот
volatility -f image.mem volshell -- Получаем интерактивный шелл python
volatility -f image.mem cmdscan - Мы можем увидеть историю команд cmd.exe
volatility -f image.mem clipboard - Извлечь контент буфера обмена
volatility -f image.mem connscan - Увидеть открытые соединения
И многое другое..
Также есть некоторые платные утилиты, например решение для Виндоус от Belkasoft под названием Evidence Center.
И конечно рекомендую посмотреть здесь, как сдампить RAM напрямую с рабочего девайса, подключившись через кабель Fireware -
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки