Как восстановить удаленные файлы
Введение
Когда файл "удаляется", его содержимое обычно не стирается с устройства хранения, на котором он хранился. Чаще всего блоки, в которых хранился файл, помечаются как нераспределенные, а указатели на них удаляются из файловой системы. Таким образом, файл продолжает существовать на диске до тех пор, пока его не перезапишут. Восстановление удаленных файлов
Существует множество методов восстановления необработанных, нераспределенных данных. Этот сайт перечислено множество инструментов, которые можно использовать для восстановления файлов в различных сценариях. В этой статье я расскажу о 5 различных инструментах, которые можно использовать для восстановления данных.
Настройка
Я буду проводить криминалистический анализ на диске, который я создал и подключил к своей виртуальной машине Kali Linux. Чтобы узнать, как это делается, вы можете обратиться к статье эта статья. На этом диске я сохранил, а затем удалил файл изображения и текстовый файл. Восстановление удаленных файлов
Я начну с общего перечисления на образе диска. Затем я продемонстрирую различные методы восстановления файлов, используемые криминалистами, которые позволили мне восстановить удаленные файлы. Многие из используемых инструментов будут из Набор для слежки (TSK).
Прежде чем начать, я размонтирую файловую систему, создам ее дубликат, сниму с него разрешения на запись и проверю целостность дубликата по хэшу оригинала /dev/sdb
. Восстановление удаленных файлов
$ cd ../ && umount /mnt/secret # размонтировать /mnt/secret
$ dd if=/dev/sdb of=/home/kali/forensics/sdb.img # скопируйте /dev/sdb в sdb.img 22286+0 записей в 22286+0 записей 11410432 байт (11 МБ, 11 Мбайт) скопировано, 0,0412053 с, 277 МБ/с$ chmod a-w /home/kali/forensics/sdb.img # удалите доступ на запись к образу $ md5sum /home/kali/forensics/sdb.img /dev/sdb 6c49fb21916d59e0df69453959392e23 /home/kali/forensics/sdb.img 6c49fb21916d59e0df69453959392e23 /dev/sdb
Перечисление
Анализ изображений
Использование файл
команда показывает, что образ использует файловую систему ext4.

Кроме того статистика
Команда отображает информацию об изображении, такую как его размер, временные метки и сведения о блоках.

Получив информацию о том, что образ использует ext4, в файле fsstat
Команда может использоваться для извлечения более подробной информации о файловой системе, метаданных, данных о содержимом и группах блоков. Восстановление удаленных файлов
$ fsstat -f ext4 sdb.img
ИНФОРМАЦИЯ О ФАЙЛОВОЙ СИСТЕМЕ
--------------------------------------------
Тип файловой системы: Ext4
Имя тома:
ID тома: dc8a4fb36dce8eabee4c51cf01c2d52a
Последний раз написано в: 2023-05-09 22:35:31 (EDT) Последний раз проверено в: 2023-05-09 22:23:26 (EDT)Последний раз смонтировано в: 2023-05-09 22:24:27 (EDT) Размонтировано должным образом Последний раз смонтирован на: /mnt/secretИсходная ОС: Linux Динамическая структура Совместимые функции: Журнал, расширенные атрибуты, изменение размера Inode, индекс Dir InCompat Features: Filetype, Extents, 64bit, Flexible Block Groups, Read Only Compat Features: Sparse Super, Large File, Huge File, Extra Inode SizeID журнала: 00 Инод журнала: 8ИНФОРМАЦИЯ О МЕТАДАННЫХ -------------------------------------------- Диапазон инодов: 1 - 2785 Корневой каталог: 2 Свободных инодов: 2773 Размер инода: 256ИНФОРМАЦИЯ О СОДЕРЖАНИИ -------------------------------------------- Группы блоков на одну гибкую группу: 16 Диапазон блоков: 0 - 11139 Размер блока: 1024 Зарезервированные блоки перед группами блоков: 1 Свободные блоки: 9223ИНФОРМАЦИЯ О ГРУППЕ БЛОКОВ -------------------------------------------- Количество групп блоков: 2 Иноды на группу: 1392 Блоки на группу: 8192Группа: 0: Block Group Flags: [INODE_ZEROED]. Inode Диапазон: 1 - 1392 Диапазон блоков: 1 - 8192 Макет: Суперблок: 1 - 1 Таблица дескрипторов групп: 2 - 2 Блоки роста дескрипторов групп: 3 - 89 Растровое изображение данных: 90 - 90 Битовая карта инода: 92 - 92 Таблица инодов: 94 - 441 Битмапы неинициированных данных: 92 - 105 Битовые карты неинициированных инодов: 94 - 107 Таблица неинициированных инодов: 790 - 5661 Блоки данных: 5690 - 8192 Свободных инодов: 1381 (99%) Свободные блоки: 6365 (77%) Всего каталогов: 2 Сохраненная контрольная сумма: 0x7DEBГруппа: 1: Группа блоков Флаги: [INODE_UNINIT, INODE_ZEROED]. Диапазон инодов: 1393 - 2784 Диапазон блоков: 8193 - 11139 Макет: Суперблок: 8193 - 8193 Таблица дескрипторов групп: 8194 - 8194 Блоки роста дескрипторов групп: 8195 - 8281 Битовая карта данных: 91 - 91 Битовая карта инода: 93 - 93 Таблица инодов: 442 - 789 Блоки данных: 8282 - 11139 Свободные иноды: 1392 (100%) Свободные блоки: 2858 (96%) Всего каталогов: 0 Сохраненная контрольная сумма: 0xDFA7
Из этого вывода видно, что размер блока составляет 1024 бита, всего блоков 1113, а инодов 2785.
Кроме того, разделенный
можно использовать для поиска дополнительной информации о таблице разделов, что может быть полезно при использовании скальпеля.

Наконец, запуск строки
на изображении дает больше информации о том, что находится в файловой системе. Похоже, что мой secret.txt
файл с содержимым Здравствуй мир
появляется из строки
в дополнение к неудачной попытке загрузки образа. Восстановление удаленных файлов

В команде strings -a --radix=d sdb.img
, -a
есть возможность просканировать весь файл и --radix=d
рассказывает строки
чтобы показать смещение, по которому была найдена строка, в базисе 10. Восстановление удаленных файлов
Анализ файлов
На этом конкретном образе нет никаких файлов, кроме удаленных, поэтому монтирование и анализ файлов не дадут много информации. В тех случаях, когда это необходимо, можно использовать следующую команду:
$ mount -o ro,loop,noexec,noatime sdb.img
Ниже я объясню, что делают эти опции:
-o
: задает параметры для монтажаsdb.img
.- ro: опция для монтирования файловой системы только для чтения.
- петля: смонтировать файловую систему на устройстве цикла
- noexec: запретить выполнение
- noatime: не изменяйте время доступа к файлам.
После этого вы можете продолжить выполнение файл
на файлах в смонтированном петлевом устройстве и сохраните их md5-хэши для проверки целостности. Восстановление удаленных файлов
Восстановление файлов
Метод 1: Использование Набор для слежки
Часто, если вы удалили файлы, они могут отображаться со значком fls sdb.img
, перечислены с istat -o sdb.img
и восстанавливается с icat -o sdb.img
. Пример последних двух шагов показан на скриншоте ниже.

https://www.therootuser.com/wp-content/uploads/2017/11/Screenshot-2017-11-07-17.27.58.png
Однако, судя по всему, это не так. Мои удаленные файлы не отображаются в fls
команда. Вместо этого я вижу переменную под названием $OrphanFiles
. Восстановление удаленных файлов

$OrphanFiles
это файлы, которые все еще существуют в образе, но доступ к ним из корневого каталога уже невозможен. $OrphanFiles
не является реальным каталогом на изображении, это виртуальный способ Sleuth Kit продемонстрировать, что метаданные файла все еще существуют (читать далее).
Чтобы восстановить эти бесхозные файлы, я попробую применить несколько методов, начиная с extundelete
. Восстановление удаленных файлов
Метод 2: Extundelete
Этот инструмент можно использовать для восстановления файлов на файловых системах ext3 и ext4. У меня возникли трудности со сборкой из apt
Поэтому я собираю программу из исходного кода с помощью следующих команд, чтобы она снова заработала:
apt update && apt install -y libext2fs-dev
git клон https://github.com/cherojeong/extundelete.git
./configure
make
src/extundelete --restore-all /path/to/image.img
Примечание: Если при запуске вы получите ошибку make.
в src/insertionoops.cc.
в строке 36, вам может понадобиться заменить строку os << "Directory ACL: " << inode.i_dir_acl << std::endl;
с os << "Directory ACL: " << inode.i_file_acl << std::endl;
.
Команда extundelete --restore-all sdb.img
можно использовать для восстановления файлов.

Как видно на скриншоте выше, инструмент не смог восстановить бесхозные файлы. Однако это все еще жизнеспособный вариант, который может работать во многих сценариях, поэтому я решил включить его в эту статью.
Я еще не сдаюсь. Мы попробуем еще раз!
Метод 3: TestDisk
Сайт .tar.bz
файл можно загрузить здесь. Я использую версию 7.2. Обратите внимание, что для того, чтобы TestDisk
для работы необходимо запустить его в каталоге загрузки. В противном случае вы можете получить ошибку типа *** Ошибка в `/path/to/testdisk-7.2-WIP/photorec_static': malloc(): повреждение памяти: 0x0000000002617d29 ***
.
# извлеките и запустите файл
tar -xf testdisk-7.2-WIP.linux26-x86_64.tar.bz2
cd testdisk-7.2-WIP
./photorec_static /path/to/sdb.img /log
Появится меню помощи. Сначала я выберу изображение, с которым хочу работать.

Затем выберите вариант таблицы разделов для носителя. На моем носителе ее нет, поэтому я выбрал "Нет". Я убедился, что это единственный вариант, который может отображать файлы.

После этого я перехожу к опции "Список" в нижней части терминала и нажимаю кнопку Заходите на
.

Это приводит меня к перечислению файлов на изображении с успешно восстановленными файлами в красный текст.

Как видно на скриншоте, новых файлов, выделенных красным цветом, там нет. Это означает, что TestDisk
не удалось восстановить удаленные файлы.
Ничего, у меня в рукаве есть еще несколько трюков.
Метод 4: Foremost
Foremost может быть установлен с apt
.
sudo apt install foremost
Этот инструмент использует технику, известную как резьба по дереву которая предполагает поиск необработанных данных на диске и вырезание значений между верхним и/или нижним колонтитулом файла.

Увы, нам удалось восстановить удаленный файл изображения с диска с помощью foremost -t jpeg -o recovered-files -i sdb.img
. Восстановленное изображение отображается в программе просмотра изображений, как и ожидалось. Какой красивый костер.

Тот факт, что этот метод сработал, в то время как предыдущие три метода не сработали, еще раз доказывает, что разные инструменты и методы будут более эффективны для восстановления данных в разных сценариях.
Также стоит упомянуть, что вы можете редактировать /etc/foremost.conf
файл, содержащий ваши собственные верхние и нижние колонтитулы для искомого файла. Изменение этих значений будет рассмотрено в следующем и последнем методе.
Метод 5: Скальпель
Scalpel во многом похож на Foremost с дополнительной гибкостью. Вы не так ограничены в типах файлов и заголовках, хотя есть возможность модифицировать Foremost, чтобы получить те же настройки, которые предоставляет Scalpel.
sudo apt install scalpel
cp /etc/scalpel/scalpel.conf .
vim scalpel.conf
Я отредактирую конфиг, добавив в него немного справочной информации, которая у меня есть. Я знаю, что пытаюсь восстановить файл JPEG, а также знаю, что в нем был текстовый файл, начинающийся со слова "Hello". Используя xxd
Я могу определить заголовки файлов для .txt
файл, начинающийся со слова "Hello". В данном случае это будет \x48\x65\x6c\x6c\x6f
. Восстановление удаленных файлов
$ echo -n Hello | xxd
00000000: 4865 6c6c 6f Здравствуйте.
Мы будем использовать эту информацию для обновления scalpel.conf
файл в vim
. Как объясняется в комментариях в верхней части конфигурационного файла, первый столбец указывает на расширение файла. Второй - чувствительны ли заголовок и нижний колонтитул к регистру, третий - заголовок в шестнадцатеричных байтах, четвертый - необязательный нижний колонтитул, а пятый - необязательный параметр для поиска назад от заголовка, а не только вперед. Восстановление удаленных файлов

Установите эти параметры, скальпель
теперь можно запустить, чтобы извлечь эти файлы с диска.
скальпель -восстановленный-файлы_скальпель -c scalpel.conf sdb.img

Похоже, что текстовый файл был успешно восстановлен.

Изображение также было восстановлено.

Заключение
Есть много способов добиться одного и того же результата. Различные инструменты, представленные здесь, имеют свои специфические области применения, где они работают лучше всего. Даже если не все описанные здесь методы сработали в моей конкретной ситуации, это не значит, что они не сработают в вашей. Успешность восстановления файлов зависит от многих факторов, в том числе от типа таблицы разделов, времени, прошедшего с момента удаления, размера файла (файлы меньшего размера имеют больше шансов на восстановление), состояния устройства хранения данных и операций, которые выполнялись на диске после удаления файлов, например переформатирования диска. Восстановление удаленных файлов
Я надеюсь, что, прочитав эту статью, вы смогли углубить свое понимание восстановления файлов и получить практические знания, которые вы сможете применить в реальном мире. Спасибо за прочтение и до встречи в следующий раз.
Очень хорошо https://is.gd/N1ikS2
Очень хорошо https://is.gd/N1ikS2
Хорошо https://is.gd/N1ikS2
Изучите подробную информацию о Audemars Piguet Royal Oak Offshore 15710ST на этой платформе, включая динамику цен от $34,566 до $36,200 для моделей из нержавеющей стали.
Часы диаметром 42 мм отличаются прочной конструкцией, механической точностью и водонепроницаемостью, изготовлены из нержавеющей стали.
https://ap15710st.superpodium.com
Проверьте данные вторичного рынка, где лимитированные издания стоят дороже, чем редкие экземпляры 1970-х годов.
Получайте в режиме реального времени информацию о наличии, технических характеристиках и эффективности перепродажи, а также сравнение цен для принятия обоснованных решений.
Drive sales and watch your affiliate earnings soar! https://shorturl.fm/483So
Rolex Submariner, выпущенная в 1954 году стала первой дайверской моделью, выдерживающими глубину до 100 метров .
Модель имеет 60-минутную шкалу, Oyster-корпус , обеспечивающие безопасность даже в экстремальных условиях.
Дизайн включает светящиеся маркеры, черный керамический безель , подчеркивающие спортивный стиль.
Наручные часы Rolex Submariner обзор
Автоподзавод до 3 суток сочетается с перманентной работой, что делает их надежным спутником для активного образа жизни.
За десятилетия Submariner стал символом часового искусства, оцениваемым как коллекционеры .
Le fēnix® Chronos de Garmin représente un summum de luxe avec un design élégant et capteurs multisports.
Adaptée aux activités variées, elle propose une polyvalence et durabilité extrême, idéale pour les aventures en extérieur grâce à ses modes sportifs.
Avec une batterie allant jusqu’à 6 heures , cette montre s’impose comme une solution fiable , même lors de sessions prolongées .
https://www.garmin-boutique.com/forerunner/forerunner-245-music-noire.aspx
Les fonctions de santé incluent la surveillance du sommeil , accompagnées de conseils d’entraînement personnalisés, pour les amateurs de fitness .
Intuitive à utiliser, elle s’adapte à vos objectifs, avec un écran AMOLED lumineux et compatibilité avec les apps mobiles .
La gamme MARQ® de Garmin est un modèle haut de gamme avec des finitions raffinées et fonctionnalités GPS intégrées .
Conçue pour les sportifs , elle allie robustesse et durabilité extrême, idéale pour les aventures en extérieur grâce à ses modes sportifs.
Grâce à son autonomie allant jusqu’à 6 heures , cette montre s’impose comme une solution fiable , même lors de activités exigeantes.
https://garmin-boutique.com/fenix-5
Les fonctions de santé incluent le comptage des calories brûlées, accompagnées de conseils d’entraînement personnalisés, pour les utilisateurs exigeants.
Facile à personnaliser , elle s’adapte à vos objectifs, avec un écran AMOLED lumineux et synchronisation sans fil.
I once saw medications as lifelines, relying on them without hesitation whenever discomfort arose. Yet, as experiences piled up, revealing how these aids often numbed the symptoms, prompting me to delve deeper into what wellness truly entails. It stirred something primal, illuminating that mindful engagement with treatments fosters genuine recovery, rather than suppressing it.
During a stark health challenge, I hesitated before the usual fix, uncovering hidden layers that wove lifestyle shifts into medical wisdom. I unearthed a new truth: true mending demands awareness, where overdependence dulls our senses. Now, I navigate this path with gratitude to embrace a fuller perspective, viewing remedies as partners in the dance.
Looking deeper, I’ve grasped that interventions must uplift our journey, free from dominating our narrative. It’s a tapestry of growth, inviting us to question entrenched patterns for richer lives. And if I had to sum it all up in one word: difference between valacyclovir and acyclovir