## 23. Libewf ### Введение **Libewf** — это библиотека с открытым исходным кодом, которая поддерживает чтение и запись форматов EWF. Используя libewf, мы можем легко создавать и получать доступ к файлам EWF в Linux и OSx. **EWF формат** (сейчас чаще используется название **Encase** или **E01**) использует метод криминалистического копирования носителей информации «диск в файл». В этом случае данные с жесткого диска-источника переносятся в файл, расположенный на другом диске. При этом создается посекторная копия исследуемого жесткого диска. Скопированные данные из диска-источника подвергаются сжатию. Криминалистические копии в формате Encase позволяют существенно экономить дисковое пространство на компьютере специалиста по расследованию инцидентов или компьютерного эксперта. Кроме всего перечисленного, данные в файле формата Encase защищены от изменения. ### Возможности программы Пакет libewf содержит следующие инструменты: * **ewfacquire** - записывает данные носителя с устройств и файлов в файлы EWF. * **ewfacquirestream** - записывает данные со стандартного ввода в файлы EWF. * **ewfexport** - экспортирует данные носителя из файлов EWF в формат RAW или определенную версию файлов EWF. * **ewfinfo** - показывает метаданные в файлах EWF. * **ewfmount** - монтирует файлы EWF. * **ewfrecover** - специальный вариант ewfexport для создания нового набора файлов EWF из поврежденного набора. * **ewfverify** - проверяет данные носителя в файлах EWF. * **ewfaquirestream-mt** - многопоточная версия C++11 ewfacquirestream, предоставленная Бернхардом Заком в 2013 году. ### Установка В данной статье будет рассмотрена установка пакета libewf на Linux Ubuntu 20.04. В Ubuntu инструменты libewf можно найти в пакетах libewf-dev и libewf2. Сами инструменты можно найти в пакете ewf-tools. Для установки через терминал требуется прописать следующую команду: ``` sudo apt install libewf-dev ewf-tools ``` ### Получение образа диска С помощью команды **lsblk** в терминале выберем диск, образ которого хотим создать. В данном примере возьмем **/dev/sdc1**: ![](https://i.imgur.com/7mjzotG.png) Мы будем использовать **ewfacquire** для получения образа диска. Свойство **-t** позволяет указать пункт назначения. При запуске команды появляется информация о носителе: ![](https://i.imgur.com/VaAf5OP.png) Далее требуется задать дополительные параметры для получения образа диска. Список дополнительных параметров можно найти в документации (например, [здесь](http://manpages.ubuntu.com/manpages/bionic/man1/ewfacquire.1.html)). После заполнения дополнительных параметров нужно их подтвердить: ![](https://i.imgur.com/bxEaGUK.png) После завещрения работы утилиты получаем файл example.E01. С помощью **ewfinfo** можем получить подробную информацию об образе: ![](https://i.imgur.com/3NifT3W.png) Для проверки хэш-суммы можно использовать **ewfverify**: ![](https://i.imgur.com/DL1D9Kk.png) ### Монтирование EWF Далее, можно смонтировать образ диска, чтобы обеспечить прямой доступ к скопированному диску. После монтирования инструменты, не поддерживающие EWF, могут получить доступ к диску или смонтированным разделам. Для монтирования EWF используется **ewfmount**. Сначала нужно создать точку монтирования: ``` sudo mkdir ./libewf/mount sudo chown tanya ./libewf/mount ewfmount ./example.E01 ./libewf/mount ``` Теперь устройство внутри ./libewf/mount является образом диска. Далее можно получить доступ к этому устройству с помощью любых других инструментов. ![](https://i.imgur.com/oEYPtvQ.png)