Практика форензики: анализ VDI-образов
Что критично учесть перед началом анализа
- Никогда не работай с оригиналом — всегда делай побитовую копию (
qemu-img
, dd
, dcfldd
).
- Не монтируй стандартным способом — mount может затереть
atime
и повредить журнал.
- Работай в read-only режиме и используй инструменты, не изменяющие данные:
tsk
, icat
, fls
.
Как безопасно подмонтировать образ VDI
1. Конвертировать VDI → RAW:
qemu-img convert -f vdi -O raw disk.vdi disk.raw
2. Найти смещение раздела:
mmls disk.raw
Допустим, раздел начинается с сектора 2048
.
3. Подключить с offset и read-only:
# 2048 * 512 = 1048576
losetup -r -o 1048576 /dev/loop0 disk.raw
mount -o ro,noload,noatime /dev/loop0 /mnt/forensic
ro
— только чтение
noload
— не загружать журнал (ext4)
noatime
— не обновлять дату доступа
Полезные команды CLI для анализа
Работа с файловой системой:
Задача | Команда |
Список всех файлов | fls -r -m / disk.raw |
Извлечь файл по inode | icat disk.raw <inode> |
Статистика файловой системы | fsstat disk.raw |
Извлечь удалённые файлы | tsk_recover disk.raw /output |
Построение временной шкалы:
fls -r -m / disk.raw > body.txt
mactime -b body.txt > timeline.csv
Быстрый сбор артефактов:
bulk_extractor -o out/ disk.raw
Анализ памяти (если есть дамп):
volatility -f memory.raw imageinfo
volatility -f memory.raw --profile=Win10x64 pslist
volatility -f memory.raw dumpfiles -r ".*pass.*"
Типовые ошибки и как их избежать
Ошибка | Как избежать |
Монтирование без read-only |
mount -o ro,noload + использовать только tsk |
Работа с оригиналом |
Всегда создавай копию: qemu-img convert или dd |
Запуск VDI без snapshot'а |
Использовать снэпшоты или sandbox-среду |
Потеря временных меток |
Отключать atime , не использовать стандартный mount |
Рекомендации
- Храни исходные и рабочие копии в отдельных директориях
- Веди лог всех действий, включая команды CLI
- Используй скрипты для воспроизводимости анализа