Найти тему
The Codeby

Расшифровываем криптоконтейнер TrueCrypt с помощью Volatility и MKDecrypt.

Оглавление

Источник codeby.net

Приветствую всех обитателей Codeby, недавно передо мной встала одна задачка. Задача состояла в следующим:
Мне нужно было извлечь из слепка оперативной памяти мастер ключ от криптоконтейнера (TrueCrypt 7.1a). Затем с помощью этого ключа мне нужно было расшифровать собственно сам криптоконтейнер, пустяковое казалось бы дело.

Передо мной сразу встал вопрос связанный с выбором инструментов для реализации задуманного. Первое что мне пришло в голову это ПО от "элкомсофт" а именно Elcomsoft Forensic Disk Decryptor. Кстати человек под ником Sunnych очень хорошо описал в этой теме возможности данного софта.

-2

Ну что ж, скачал и установил я значит этот софт (разумеется бесплатную версию). Радостный и в предвкушении я начал извлекать ключ из слепка оперативной памяти.

-3
-4
-5

Увы, радость моя длилась недолго потому что я увидел на своем экране вот это:

-6
-7
-8

Я наивно полагал о том что я смогу реализовать задуманное на триал версии, увы я ошибся...))

Что ж, отдавать за Elcomsoft Forensic Disk Decryptor 36 тысяч рублей мне не очень хотелось, а поставленную задачу нужно было все-таки как-то решить. Немного расстроившись, я начал искать оптимальные пути решения для этой задачи. По итогу задачу я все таки решил, ниже описывается мой способ решения.

Для решения задачи мне понадобилось 2 инструмента:

  • Volatility - Это фреймворк для криминалистического анализа оперативной памяти. О нем есть отдельная статья на нашем форуме.
  • MKDecrypt - Это скрипт написанный на языке python, он позволяет нам расшифровать зашифрованные тома с использованием восстановленного мастер-ключа.

Решение происходит в 2 этапа:

  • С помощью фреймворка Volatility находим и извлекаем мастер ключ из слепка оперативной памяти.
  • С помощью извлеченного мастер ключа используя скрипт MKDecrypt расшифровываем наш криптоконтейнер.

Извлекаем ключ


​Как я уже сказал, для извлечения мастер-ключа я буду использовать фреймворк
Volatility. По умолчанию он не предустановлен в систему, поэтому первым делом нам нужно его установить. Сделать это можно с помощью команды:

sudo apt-get install -y volatility

Наш фреймворк установлен, это значит что теперь мы с вами можем приступить к анализу слепка нашей памяти. Для начала, нужно понять с какой системы снимался наш слепок памяти. Понять это нам поможет плагин, который называется imageinfo

Вводим в терминал команду:

volatility -f Название_слепка imageinfo

Система нам выдала информацию о нашем дампе, здесь нас интересует лишь один пункт под названием Suggested Profile(s). Этот пункт предположительно, говорит нам о том с какой операционной системы был сделан слепок оперативной памяти. (Все отсортировано в порядке вероятности).

-9

Итак, мы определили, что перед нами находится дамп Windows 7 Service Pack 1 x64. Теперь можно приступить к поиску ключа.

Вводим в терминал команду:

volatility -f 20200718.mem --profile=Название_системы truecryptsummary
-10

Как видите TrueCrypt действительно установлен и используется. Так же имеется время монтирования контейнера, адрес его расположения и т.д.

Теперь давайте попробуем вытащить ключ. Вводим в терминал:

volatility -f 20200718.mem --profile=Название_системы truecryptmaster
-11

Отлично! Давайте сдампим этот ключ в отдельный файл. Вводим в терминал:

volatility -f 20200718.mem --profile=Название_системы truecryptmaster -D ~/Ваш путь/
-12

Поздравляю, теперь у нас есть мастер ключ с помощью которого мы можем вскрыть наш криптоконтейнер.

Вскрытие криптоконтейнера


​Мастер ключ у нас есть, теперь можно приступить к самому важному, к вскрытию. Для вскрытия криптоконтейнера будем использовать специальный скрипт под названием
MKDecrypt. Для того чтобы его поставить вводим в терминал:

git clone https://github.com/AmNe5iA/MKDecrypt.git
-13
-14

Теперь перекинем наши файлы в каталог MKDecrypt. Вводим в терминал:

mv 0xfffffa80041f11a8_master.key rzfnkd.dat MKDecrypt/

Переходим в каталог MKDecrypt и вскрываем наш криптоконтейнер. Вводим в терминал:

cd MKDecrypt/
sudo python3 MKDecrypt.py rzfnkd.dat -m /mnt/ -X 0xfffffa80041f11a8_master.key
-15

Все, наш криптоконтейнер всрыт. Чтобы убедиться в этом, переходим в /mnt и смотрим.

-16
-17

Спасибо за внимание!