Снова предупреждаю: при самостоятельном восстановлении данных есть риск потерять их окончательно. Если информация очень важна, обратитесь в мастерскую. И, пожалуйста, не используйте полученные знания, чтобы рыться в чужих данных.
Установка и знакомство с The Sleuth Kit.
The Sleuth Kit (далее - TSK) представляет собой целый набор инструментов, предназначенных для выуживания утерянных, поврежденных или намеренно спрятанных данных с носителей информации. На официальном сайте указано, что это ПО используется службами безопасности при расследовании различных инцидентов, но его возможности пригодятся и в домашних условиях — например, чтобы вернуть ваши фото из отпуска.
Autopsy — это графическая оболочка и платформа для TSK и не только. Разработчики называют Autopsy платформой по той причине, что это ПО позволяет подключать другие инструменты, в т. ч. собственные плагины, допускает работу нескольких специалистов над одним проектом и добавляет другие интересные возможности. Я же расскажу лишь о той части, которая пригодится для восстановления своих личных данных, удаленных или утраченных вследствие ошибки.
Устанавливаем Autopsy, TSK подтянется вместе с остальными зависимостями:
Запуск и добавление материалов для исследования.
Запускаем в терминале:
и получаем дальнейшие инструкции: обратиться к веб-интерфейсу по адресу:
Вот что вы там увидите:
Нас предупреждают о том, что JS в браузере лучше отключить из соображений безопасности. Впрочем, для восстановления файлов дома это вряд ли имеет значение.
Далее нажмите New Case — создать новое дело (проект). Если вы уже сделали это ранее, выберите Open Case. На следующей странице нужно ввести только название проекта, остальные поля не обязательно заполнять.
Далее жмем Add host и переходим к добавлению нового хоста к нашему делу. Заполните только имя хоста, остальное для нас сейчас не имеет значения.
Добавляем хост (Add host), получаем информацию о созданной папке и конфигурационном файле и переходим к выбору образа исследуемого хоста. Проще говоря, сейчас мы будем выбирать образ носителя, из которого нужно извлечь данные. Выбираем Add Image→Add Image File.
Тут нам предстоит указать путь к образу, его тип (образ одного раздела или носителя целиком) и способ импорта (создание ссылки, копирование или перемещение).
Выбираем и жмем Next. На следующем экране выбираем тип файловой системы, подтверждаем правильность указанных данных — и добавление хоста завершается.
Ищем удаленный файл по названию или его части.
На следующем экране выбираем Analyze, затем — File Analyze.
Теперь вы должны увидеть список файлов, находившихся на носителе на момент создания образа. Что особенно важно — тут есть и те файлы, которые были удалены и ни в одном файловом менеджере не отображались. В списке они выделяются красным цветом. Тут же есть даты изменения, создания, размер и прочие полезные данные. Клик на названии столбца приводит к сортировке данных по его содержимому.
Обратите внимание на левую колонку. Внизу присутствует строка для поиска файлов по имени. Здесь можно использовать регулярные выражения, что значительно упрощает поиск. Если вы не знакомы с ними, краткое руководство находится в разделе помощи под названием «grep Cheat Sheet». Более подробное руководство смотрите в инструкции утилиты grep (раздел Regular Expressions) или просто в сети. Впрочем, это совсем не обязательно.
Давайте попробуем найти удаленное изображение. Все, что нам известно — оно имеет расширение .png. Вводим в строку поиска «.png» и получаем результат:
Чтобы сохранить найденный файл, нажмите на него, затем кликните Export под таблицей и сохраните файл туда, куда вам нужно. Если чуть ниже вы видите надпись «File Type: no read permission», а файлы после сохранения имеют нулевой размер - это баг. Решить проблему можно созданием символьной ссылки. Выполните в терминале:
Теперь осталось обновить страницу — надпись пропадет, а сохраняемые файлы не будут пустыми.
Обратите внимание на встроенный просмотрщик файлов, расположенный в нижней части страницы. Очень удобно, если нужно найти нечто конкретное, а не извлекать все подряд.
У Autopsy и TSK есть еще много интересных и полезных возможностей. Не исключено, что мы еще поговорим об этой связке в следующих статьях.