Fatcat — Файловые системы FAT. Исследуйте, извлекайте, восстанавливайте и проводите экспертизу — Information Security Squad
Fatcat — Файловые системы FAT. Исследуйте, извлекайте, восстанавливайте и проводите экспертизу

Этот инструмент предназначен для управления файловыми системами FAT для изучения, извлечения, восстановления и экспертизы.

В настоящее время он поддерживает FAT12, FAT16 и FAT32.

Сборка и установка

Вы можете собрать fatcat таким образом:

 # mkdir build
# cd build
# cmake ..
# make 

И после установить:

 # make install 

Исследование

Использование fatcat

Fatcat принимает image в качестве аргумента:

 # fatcat disk.img [options] 

Вы можете указать -O, что может быть полезно, если на блочном устройстве имеется несколько разделов:

 # fatcat disk.img -O 1048576 [options] 

Это fatcat, что начинать надо с 1048576-го байта.

Список

Вы можете изучить раздел FAT с помощью опции -l следующим образом:

 # fatcat disk.img -l /
Listing path /
Cluster: 2
d 24/10/2013 12:06:00 some_directory/ c=4661
d 24/10/2013 12:06:02 other_directory/ c=4662
f 24/10/2013 12:06:40 picture.jpg c=4672 s=532480 (520K)
f 24/10/2013 12:06:06 hello.txt c=4671 s=13 (13B)

Также вы можете указать путь, например -l / some /directory

Используя -L, вы можете указать номер кластера вместо пути

Если вы добавите -d, вы также увидите удаленные файлы

В листинге префикс f или d предназначен для строки, относящейся к файлу или каталогу

C = указывает номер кластера, s = указывает площаль в байтах.
Буква h в конце указывает, что файл должен быть скрыт.
Буква d в конце указывает, что файл был удален.

Чтение файла

Вы можете прочитать файл с использованием -r, файл будет записан на стандартный вывод:

 # fatcat disk.img -r /hello.txt
Hello world!
# fatcat disk.img -r /picture.jpg > save.jpg 

Используя -R, вы можете указать количество кластеров, которое подходит, если вы не предоставите параметр -s, чтобы указать размер файла для чтения.

Вы можете использовать -x для извлечения каталогов файловой системы FAT в каталог:

 # fatcat disk.img -x output/ 

Если вы хотите извлечь из определенного кластера, предоставьте ему опцию  -c.

Если вы предоставите -d для извлечения, также будут извлечены удаленные файлы.

Восстановить после удаления

Просмотр удаленных файлов и каталогов

Как объяснялось выше, списки файлов, с опцией -d:

 # fatcat disk.img -l / -d
f 24/10/2013 12:13:24 delete_me.txt c=5764 s=16 (16B) d 

Вы можете изучить и найти файл или интересную удаленную директорию.

Извлечение удаленного файла
Чтобы получить удаленный файл, просто используйте -r для его чтения. Обратите внимание, что созданный файл будет читаться смежно из исходной системы FAT и может быть сломан.

Удаленный изъятый каталог
Чтобы получить удаленный каталог, обратите внимание на его номер кластера и извлеките его, как указано выше:

Если ваш удаленный кластер каталогов равен 71829

 # fatcat disk.img -x output / -c 71829 

 

Взлом

Вы можете использовать fatcat для взлома файловой системы FAT

Информация

Флаг -i предоставит вам много информации о файловой системе:

 # fatcat disk.img -i 

Он вернет вам данные заголовков, такие как размеры секторов, площаль, метки дисков и т. д.

Он  прочитает таблицу FAT для оценки использования диска.

Таким образом, вы можете получить информацию о конкретном кластере, используя — @:

 # fatcat disk.img -@ 1384 

Это действие даст вам адрес кластера и значение следующего кластера в двух таблицах FAT.

Резервное копирование и восстановление FAT

Вы можете использовать -b для резервного копирования таблиц FAT:

 # fatcat disk.img -b backup.fats 

И используйте -p, чтобы записать его обратно:

 # fatcat disk.img -p backup.fats 

Запись в FAT

Вы можете писать в таблицы FAT с помощью -w и -v:

 # fatcat disk.img -w 123 -v 124 

Это  действие будет писать 124 как значение следующего кластера 123.

Таким образом, вы можете выбрать таблицу с -t, 0 — обе таблицы, 1 — первая и 2 -вторая.

Сравнение и объединение FAT

Вы можете взглянуть на разницу двух FAT, используя -2:

Смотрим различия

 # fatcat disk.img -2
Comparing the FATs

FATs are exactly equals 

Запись 123 в 500-м кластере только в FAT1

 # $ fatcat disk.img -w 500 -v 123 -t 1
Writing next cluster of 500 from 0 to 123
Writing on FAT1

Смотрим различия

 #

$ fatcat disk.img -2
Comparing the FATs
[000001f4] 1:0000007b 2:00000000

FATs differs
It seems mergeable 

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *