# Практическая работа №2 - Scalpel
[toc]
## Введение
Scalpel — профессиональная утилита для восстановления файлов по их заголовкам, окончаниям и внутренним структурам, основанная на коде Foremost. Позволяет восстанавливать файлы размером больше 4 Гб. В дистрибутиве имеется уже готовая версия для Windows. Поддерживает FATx, NTFS, ext2/3, HFS+.
Многие компьютеры стирают файлы не полностью, и многие из них удается восстановить с помощью специальных инструментов даже через значительное время после очистки корзины. Один из таких инструментов, одинаково любимый и гуру техподдержки, и правоохранительными органами, называется Scalpel.
Scalpel — это утилита командной строки, которая для восстановления удаленных данных с образа, раздела или всего диска использует метод под названием «вырезание файлов (file carving)». В этой статье мы попробуем овладеть его основами.
Scalpel очень надежен и работает практически с любым типом устройства или файловой системы. Во время тестирования мы смогли восстановить удаленные файлы PNG и PDF как с флэш-накопителя на 512 МБ, так и с VDI (виртуальный образ диска) VirtualBox.
Хотя Скальпель — точный инструмент, он не затрагивает файловые системы, а последовательно анализирует блоки данных на диске, образе диска или в файлах подкачки. Вкратце, однако, достаточно знать, что Scalpel основан на прежнем инструменте восстановления данных Foremost, который был разработан для расследований правоохранительных органов. Как и его предшественник, Скальпель использует выделение однородных массивов данных для простого восстановления данных.
Этот метод включает использование встроенной базы данных заголовков и окончаний для конкретных типов файлов, таких как изображений PNG или файлов PDF. Заголовки и окончания состоят из строк байтов, предсказуемо отстоящих от начала, и файлы можно извлекать или вырезать прямо из образов дисков, не затрагивая имеющуюся файловую систему. Scalpel создан, чтобы делать это гораздо эффективнее, чем Foremost.
## Подготовка к работе
Для работы со Scalpel создадим виртуальную машину с помощью VMware Workstation Pro и установим операционную систему Parrot Security OS. Данная операционная система содержит нужную предустановленную утилиту Scalpel. Образ для виртуальной машины можно скачать с [официального сайта](https://www.parrotsec.org/) Parrot Security OS. Если установлен уже другой Linux, Parrot можно установить командой в терминале:
`sudo apt-get install scalpel`

Устанавливаем Parrot Security OS на виртуальную машину.

После установки оказываемся на главном рабочем столе. Обновляем списки пакетов командой `sudo apt update` и устанавливаем Scalpel:
`sudo apt install scalpel`

Проверим установку командой `scalpel`:

Создадим папки куда будут восстанавливаться данные pdf, doc, jpg, txt форматов с основного раздела, с дополнительного раздела и флеш-носителя - restore_1, restore_2 и restore_usb соответственно.

Теперь откроем Scalpel и подготовим его для восстановления данных. Отредактируем файл конфигурации раскомментировав строки, которые отвечают за форматы jpg, pdf, doc, txt.

Откроем конфигурационный файл: `nano /etc/scalpel/scalpel.conf`

Раскомментируем строки jpg, pdf, doc и txt форматов убрав `#`:




## Работа с утилитой
Найдем название основного диска командой:
`sudo fdisk -l`

Теперь можно приступать к восстановлению данных. Начнем с **основного раздела**:
`sudo scalpel /dev/sda1 -o /home/spvrk/restore_1 -v`
:::info
/dev/sda1 - диск с которого производится восстановление данных.
-o указывает директорию, в которую будут сохраняться восстановленные файлы.
/home/spvrk/restore_1 - куда данные сохраняются.
-v для визуализации процесса восстановления данных.
:::


Было восстановлено 394 файла за 247 секунд. Восстановленые файлы можно увидеть в папке restore_1:


Теперь восстановим данные с **флеш-носителя**. Для начала изменим настройки VMware Workstation Pro:

Подключим флеш-носитель к виртуальной машине:



Название флеш-носителя - sdb1. Удалим файлы jpg и txt форматов и попробуем восстановить в папку restore_usb.

`sudo scalpel /dev/sdb1 -o /home/spvrk/restore_usb -v`:


Удаленные файлы были восстановлены:

Теперь восстановим данные с **дополнительного раздела**. Сперва разделим диск на основной и дополнительный раздел, а также увеличим размер дисков:

Для создания дополнительного раздела воспользуемся утилитой GParted.



Изменим конфигурацию:

Восстановление данных с дополнительного раздела:
`sudo scalpel /dev/sda5 -o /home/spvrk/restore_2 -v`

Для восстановления всех файлов памяти не хватило.


sudo mkdir /mnt/usb - создание папки
sudo mount /dev/sdc1 /mnt/usb - монтирование флешки
lsblk -f - узнать файловую систему
> [name=Борисенко Д.А. БСБО-07-19]
>