Приветствую всех обитателей Codeby, недавно передо мной встала одна задачка. Задача состояла в следующим:
Мне нужно было извлечь из слепка оперативной памяти мастер ключ от криптоконтейнера (TrueCrypt 7.1a). Затем с помощью этого ключа мне нужно было расшифровать собственно сам криптоконтейнер, пустяковое казалось бы дело.
Передо мной сразу встал вопрос связанный с выбором инструментов для реализации задуманного. Первое что мне пришло в голову это ПО от "элкомсофт" а именно
Ну что ж, скачал и установил я значит этот софт (разумеется бесплатную версию). Радостный и в предвкушении я начал извлекать ключ из слепка оперативной памяти.
Увы, радость моя длилась недолго потому что я увидел на своем экране вот это:
Я наивно полагал о том что я смогу реализовать задуманное на триал версии, увы я ошибся...))
Что ж, отдавать за Elcomsoft Forensic Disk Decryptor 36 тысяч рублей мне не очень хотелось, а поставленную задачу нужно было все-таки как-то решить. Немного расстроившись, я начал искать оптимальные пути решения для этой задачи. По итогу задачу я все таки решил, ниже описывается мой способ решения.
Для решения задачи мне понадобилось 2 инструмента:
Извлекаем ключ
Как я уже сказал, для извлечения мастер-ключа я буду использовать фреймворк Volatility. По умолчанию он не предустановлен в систему, поэтому первым делом нам нужно его установить. Сделать это можно с помощью команды:
Наш фреймворк установлен, это значит что теперь мы с вами можем приступить к анализу слепка нашей памяти. Для начала, нужно понять с какой системы снимался наш слепок памяти. Понять это нам поможет плагин, который называется imageinfo
Вводим в терминал команду:
Система нам выдала информацию о нашем дампе, здесь нас интересует лишь один пункт под названием Suggested Profile(s). Этот пункт предположительно, говорит нам о том с какой операционной системы был сделан слепок оперативной памяти. (Все отсортировано в порядке вероятности).
Итак, мы определили, что перед нами находится дамп Windows 7 Service Pack 1 x64. Теперь можно приступить к поиску ключа.
Вводим в терминал команду:
Как видите TrueCrypt действительно установлен и используется. Так же имеется время монтирования контейнера, адрес его расположения и т.д.
Теперь давайте попробуем вытащить ключ. Вводим в терминал:
Отлично! Давайте сдампим этот ключ в отдельный файл. Вводим в терминал:
Поздравляю, теперь у нас есть мастер ключ с помощью которого мы можем вскрыть наш криптоконтейнер.
Теперь перекинем наши файлы в каталог MKDecrypt. Вводим в терминал:
Переходим в каталог MKDecrypt и вскрываем наш криптоконтейнер. Вводим в терминал:
Все, наш криптоконтейнер всрыт. Чтобы убедиться в этом, переходим в /mnt и смотрим.
Спасибо за внимание!
Мне нужно было извлечь из слепка оперативной памяти мастер ключ от криптоконтейнера (TrueCrypt 7.1a). Затем с помощью этого ключа мне нужно было расшифровать собственно сам криптоконтейнер, пустяковое казалось бы дело.
Передо мной сразу встал вопрос связанный с выбором инструментов для реализации задуманного. Первое что мне пришло в голову это ПО от "элкомсофт" а именно
Ссылка скрыта от гостей
. Кстати человек под ником Sunnych очень хорошо описал в этой теме возможности данного софта.Ну что ж, скачал и установил я значит этот софт (разумеется бесплатную версию). Радостный и в предвкушении я начал извлекать ключ из слепка оперативной памяти.
Увы, радость моя длилась недолго потому что я увидел на своем экране вот это:
Я наивно полагал о том что я смогу реализовать задуманное на триал версии, увы я ошибся...))
Что ж, отдавать за Elcomsoft Forensic Disk Decryptor 36 тысяч рублей мне не очень хотелось, а поставленную задачу нужно было все-таки как-то решить. Немного расстроившись, я начал искать оптимальные пути решения для этой задачи. По итогу задачу я все таки решил, ниже описывается мой способ решения.
Для решения задачи мне понадобилось 2 инструмента:
- Volatility - Это фреймворк для криминалистического анализа оперативной памяти. О нем есть отдельная статья на нашем форуме.
- MKDecrypt - Это скрипт написанный на языке python, он позволяет нам расшифровать зашифрованные тома с использованием восстановленного мастер-ключа.
- С помощью фреймворка Volatility находим и извлекаем мастер ключ из слепка оперативной памяти.
- С помощью извлеченного мастер ключа используя скрипт MKDecrypt расшифровываем наш криптоконтейнер.
Извлекаем ключ
Код:
sudo apt-get install -y volatility
Наш фреймворк установлен, это значит что теперь мы с вами можем приступить к анализу слепка нашей памяти. Для начала, нужно понять с какой системы снимался наш слепок памяти. Понять это нам поможет плагин, который называется imageinfo
Вводим в терминал команду:
Код:
volatility -f Название_слепка imageinfo
Система нам выдала информацию о нашем дампе, здесь нас интересует лишь один пункт под названием Suggested Profile(s). Этот пункт предположительно, говорит нам о том с какой операционной системы был сделан слепок оперативной памяти. (Все отсортировано в порядке вероятности).
Итак, мы определили, что перед нами находится дамп Windows 7 Service Pack 1 x64. Теперь можно приступить к поиску ключа.
Вводим в терминал команду:
Код:
volatility -f 20200718.mem --profile=Название_системы truecryptsummary
Как видите TrueCrypt действительно установлен и используется. Так же имеется время монтирования контейнера, адрес его расположения и т.д.
Теперь давайте попробуем вытащить ключ. Вводим в терминал:
Код:
volatility -f 20200718.mem --profile=Название_системы truecryptmaster
Отлично! Давайте сдампим этот ключ в отдельный файл. Вводим в терминал:
Код:
volatility -f 20200718.mem --profile=Название_системы truecryptmaster -D ~/Ваш путь/
Поздравляю, теперь у нас есть мастер ключ с помощью которого мы можем вскрыть наш криптоконтейнер.
Вскрытие криптоконтейнера
Мастер ключ у нас есть, теперь можно приступить к самому важному, к вскрытию. Для вскрытия криптоконтейнера будем использовать специальный скрипт под названием MKDecrypt. Для того чтобы его поставить вводим в терминал:
Код:
git clone https://github.com/AmNe5iA/MKDecrypt.git
Теперь перекинем наши файлы в каталог MKDecrypt. Вводим в терминал:
Код:
mv 0xfffffa80041f11a8_master.key rzfnkd.dat MKDecrypt/
Переходим в каталог MKDecrypt и вскрываем наш криптоконтейнер. Вводим в терминал:
Код:
cd MKDecrypt/
sudo python3 MKDecrypt.py rzfnkd.dat -m /mnt/ -X 0xfffffa80041f11a8_master.key
Все, наш криптоконтейнер всрыт. Чтобы убедиться в этом, переходим в /mnt и смотрим.
Спасибо за внимание!