• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

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

1.png


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

2.png


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

3.png


4.png




5.png


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

6.png


7.png


8.png


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

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

Для решения задачи мне понадобилось 2 инструмента:
  • Volatility - Это фреймворк для криминалистического анализа оперативной памяти. О нем есть отдельная статья на нашем форуме.
  • MKDecrypt - Это скрипт написанный на языке python, он позволяет нам расшифровать зашифрованные тома с использованием восстановленного мастер-ключа.
Решение происходит в 2 этапа:
  1. С помощью фреймворка Volatility находим и извлекаем мастер ключ из слепка оперативной памяти.
  2. С помощью извлеченного мастер ключа используя скрипт MKDecrypt расшифровываем наш криптоконтейнер.

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

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

Вводим в терминал команду:
Код:
volatility -f Название_слепка imageinfo

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

9.png


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

Вводим в терминал команду:
Код:
volatility -f 20200718.mem --profile=Название_системы truecryptsummary

10.png


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

Теперь давайте попробуем вытащить ключ. Вводим в терминал:
Код:
volatility -f 20200718.mem --profile=Название_системы truecryptmaster

11.png


Отлично! Давайте сдампим этот ключ в отдельный файл. Вводим в терминал:
Код:
volatility -f 20200718.mem --profile=Название_системы truecryptmaster -D ~/Ваш путь/
12.png


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


Вскрытие криптоконтейнера
Мастер ключ у нас есть, теперь можно приступить к самому важному, к вскрытию. Для вскрытия криптоконтейнера будем использовать специальный скрипт под названием MKDecrypt. Для того чтобы его поставить вводим в терминал:
Код:
git clone https://github.com/AmNe5iA/MKDecrypt.git

13.png


14.png


Теперь перекинем наши файлы в каталог MKDecrypt. Вводим в терминал:
Код:
mv 0xfffffa80041f11a8_master.key rzfnkd.dat MKDecrypt/

Переходим в каталог MKDecrypt и вскрываем наш криптоконтейнер. Вводим в терминал:
Код:
cd MKDecrypt/ 
sudo python3 MKDecrypt.py rzfnkd.dat -m /mnt/ -X 0xfffffa80041f11a8_master.key

15.png


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

16.png

17.png


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

Вложения

  • 3.png
    3.png
    12,5 КБ · Просмотры: 383
  • 9.png
    9.png
    19,8 КБ · Просмотры: 360
  • 12.png
    12.png
    22,1 КБ · Просмотры: 735

Lesya_sh

New member
20.04.2021
3
0
BIT
0
Уважаемый, а можно попросить Ваш дамп?) с которым работали, дабы провести такие операции в качестве практики. Спасибо.
 

supportyukoffru

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

Посмотреть вложение 42537

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

Посмотреть вложение 42539

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

Посмотреть вложение 42542

Посмотреть вложение 42543



Посмотреть вложение 42544

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

Посмотреть вложение 42545

Посмотреть вложение 42546

Посмотреть вложение 42547

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

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

Для решения задачи мне понадобилось 2 инструмента:
  • Volatility - Это фреймворк для криминалистического анализа оперативной памяти. О нем есть отдельная статья на нашем форуме.
  • MKDecrypt - Это скрипт написанный на языке python, он позволяет нам расшифровать зашифрованные тома с использованием восстановленного мастер-ключа.
Решение происходит в 2 этапа:
  1. С помощью фреймворка Volatility находим и извлекаем мастер ключ из слепка оперативной памяти.
  2. С помощью извлеченного мастер ключа используя скрипт MKDecrypt расшифровываем наш криптоконтейнер.

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

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

Вводим в терминал команду:
Код:
volatility -f Название_слепка imageinfo

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

Посмотреть вложение 42551

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

Вводим в терминал команду:
Код:
volatility -f 20200718.mem --profile=Название_системы truecryptsummary

Посмотреть вложение 42552

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

Теперь давайте попробуем вытащить ключ. Вводим в терминал:
Код:
volatility -f 20200718.mem --profile=Название_системы truecryptmaster

Посмотреть вложение 42553

Отлично! Давайте сдампим этот ключ в отдельный файл. Вводим в терминал:
Код:
volatility -f 20200718.mem --profile=Название_системы truecryptmaster -D ~/Ваш путь/
Посмотреть вложение 42556

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


Вскрытие криптоконтейнера
Мастер ключ у нас есть, теперь можно приступить к самому важному, к вскрытию. Для вскрытия криптоконтейнера будем использовать специальный скрипт под названием MKDecrypt. Для того чтобы его поставить вводим в терминал:
Код:
git clone https://github.com/AmNe5iA/MKDecrypt.git

Посмотреть вложение 42555

Посмотреть вложение 42557

Теперь перекинем наши файлы в каталог MKDecrypt. Вводим в терминал:
Код:
mv 0xfffffa80041f11a8_master.key rzfnkd.dat MKDecrypt/

Переходим в каталог MKDecrypt и вскрываем наш криптоконтейнер. Вводим в терминал:
Код:
cd MKDecrypt/
sudo python3 MKDecrypt.py rzfnkd.dat -m /mnt/ -X 0xfffffa80041f11a8_master.key

Посмотреть вложение 42558

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

Посмотреть вложение 42559
Посмотреть вложение 42560

Спасибо за внимание!
Это вариант будет работать, только если будет дамп. После перезагрузки АРМ как вы поступите?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!