Использование Scalpel
Scalpel – это программа с открытым исходным кодом для восстановления файлов используя базу данных заголовков, колонтитулов. Может восстанавливать с образов дисков или устройств с сырыми блоками, заголовки и колонтитулы устанавливаются пользователем. Программа используется не только для восстановления файлов, но и цифровых криминалистических исследований.
Установка Scalpel в Ubuntu, Linux Mint и Debian
Откройте терминал и скопируйте в него команду:
1 | sudo apt-get install scalpel |
После завершения установки scalpel, вам нужно найти файл scalpel.conf:
1 | locate scalpel.conf |
Обычно он размещается в /etc/scalpel/scalpel.conf или /etc/scalpel.conf. Откройте этот файл текстовым редактором, вы увидите, что все строки закомментированы (начинаются с #). Т.е. перед запуском scalpel вам нужно раскомментировать форматы файлов, которые вы хотите восстановить. Если раскомментировать весь файл, то потребуется много времени и появится много ложных результатов.
Допустим, я хочу восстановить только файлы .jpg, тогда я просто раскомментирую секцию jpg в конфигурационном файле scalpel.
1234 | # GIF and JPG files (very common) gif y 5000000 \x47\x49\x46\x38\x37\x61 \x00\x3b gif y 5000000 \x47\x49\x46\x38\x39\x61 \x00\x3b jpg y 200000000 \xff\xd8\xff\xe0\x00\x10 \xff\xd9 |
В командной строке вам нужно указать расположение удалённых файлов, которые вы пытаетесь восстановить (в данном примере это /dev/sda1):
1 | sudo scalpel /dev/sda1-o output |
Переключатель -o указывает на директорию вывода, где вы хотите сохранить ваши восстановленные файлы. Перед запуском программы убедитесь, что это директория является пустой, в противном случае вы получите ошибку. Вывод команды:
12345 | Scalpel version 1.60 Written by Golden G. Richard III, based on Foremost 0.69. Opening target "/dev/sda1" Image file pass 1/2. /dev/sda1: 6.1% |***** | 6.6 GB 39:16 ETA |
Как вы видите, теперь scalpel выполняет свои действия, процесс восстановления удалённых файлов занимает время, которое зависит от объёма диска, который вы сканируете, и от скоросоти машины.
Использование extundelete
extundelete – утилита, позволяющая восстанавливать файлы, которые были удалены с разделов ext3/ext4.
Установить extundelete в Ubuntu, Linux Mint и Debian можно выполнив команду:
1 | sudo apt-get install extundelete |
Как только вы поняли, что удалили нужные файлы, надо отмонтировать раздел:
1 | umount /dev/ <partition> |
или перемонтировать в режиме «только чтение»
1 | mount -o remount,ro /dev/ <partition> |
Так же следует создать резервную копию раздела прежде, чем начинать с ним работу по восстановлению файлов:
1 | dd bs=4M if = /dev/ <partition> of=partition.backup |
Зайдите в каталог, в который будут восстанавливаться удаленные данные. Он должен быть расположен на разделе отличном от того, на котором хранились восстанавливаемые данные:
1 | cd /<путь_к_каталогу_куда_восстанавливать_данные> |
Запустите extundelete, указав раздел, с которого будет происходить восстановление и файл, который необходимо восстановить:
1 | sudo extundelete /dev/ <partition> --restore- file /<путь к файлу>/<имя_файла> |
Можно так же восстанавливать содержимое каталогов:
1 | sudo extundelete /dev/ <partition> --restore-directory /<путь_к_директории> |
Можно задать для восстановления рамки по времени удаления восстанавливаемых файлов, например так:
1 | sudo extundelete --after <дата> /dev/ <partition> --restore-directory /<путь_к_директории> |
Дату необходимо указывать в UNIX-времени:
1 | date -d "March 28 19:34" +%s |
Некоторые файлы могут восстановиться под другим именем и расширением, хотя это не повлияет на содержимое файла.
Полный список параметров extundelete можно посмотреть на странице https://kali.tools/?p=2574
Использование foremost
foremost производит поиск и восстановление данных по сигнатурам. Хорошо подходит для восстановления фотографий и скриншотов с битых карт памяти и флешек.
Установка foremost в Ubuntu, Linux Mint и Debian:
1 | sudo apt-get install foremost |
Пример использования для восстановления изображений с диска /dev/sdb в каталог ~/out_dir:
1 | sudo foremost -t jpg,gif,png,bmp -i /dev/sdb -o ~ /out_dir |
Полный список параметров foremost можно посмотреть на странице https://kali.tools/?p=2494
Удалён файл, открытый в программе
Если вы считаете, что удалённый файл ещё открыт в какой-то программе (например, фильм, который в настоящий момент проигрывается медиа плеером) и вы знаете имя файла, но для начала попробуйте эту процедуру:
12 | lsof | grep "путь/до/файла" progname 5559 user 22r REG 8,5 1282410 1294349 /path/to/file |
Запоминаем номер во втором столбце, это 5559, и номер в четвёртой колонке, это 22. Тогда команда восстановления:
1 | cp /proc/5559/fd/22 restored. file |
Если этот трюк не дал результата, то немедленно размонтируйте файловую систему с удалённым файлом или переведите её в режим только чтения.