Статья Расшифровываем криптоконтейнер 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 КБ · Просмотры: 434
  • 9.png
    9.png
    19,8 КБ · Просмотры: 422
  • 12.png
    12.png
    22,1 КБ · Просмотры: 790
Уважаемый, а можно попросить Ваш дамп?) с которым работали, дабы провести такие операции в качестве практики. Спасибо.
 
Приветствую всех обитателей 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

Спасибо за внимание!
Это вариант будет работать, только если будет дамп. После перезагрузки АРМ как вы поступите?
 
Приветствую. А где хранятся ключи TrueCrypt, BitLocker при шифровании целиком дисков, отдельных разделов и создании контейнеров? На самих зашифрованных носителях? То есть, после включения выключенного компьютера этих ключей нигде нет?
 
Лично я по сей день пользуюсь TrueCrypt 7.1a :p, я использую вместе эти 2 инструмента. Проще говоря, я создаю один криптоконтейнер, при помощи программного обеспечения TrueCrypt 7.1a, затем внутри него я создаю второй криптоконтейнер при помощи VeraCrypt и уже в нем размещаю файлы. Добавьте к этому всему файл-ключ, который можно вынести на microSD флешку. =))
Могу ошибаться, поправьте, но после утечек от Сноудена да и прекращения версий на 7.2 где было добавлено, что он больше не безопасен и рекомендуется переход на bitlocker или другие форки по типу veracrypt, вроде остальные его версии небезопасны тоже. Из-за прекращения поддержки и отмены новых версий существуют уязвимости в старых версиях, которые частично, либо специально не опубликованы. Собственно, вы и сами сказали, что спецслужбы в слух не скажут, что имеются уязвимость версии и переходите на другое. Зачем мучиться с схемой truecrypt+vera тем более версии 7.1а если она с большой вероятностью давно уязвима. Да, глобальный аудит 2015 года не показал критических уязвимостей версий, но были найденные low-medium нарушения, да и с тех пор 9 лет прошло.

P.S тут же добавлю, криминалистический отдел ФСБ при работе и дешифровках контейнеров использует спец. аппаратуру с спец.софтом. Для судов в таких случаях, в отчетах при доказательстве вины обвиняемого указывается, что велась работа через верифицированную аппаратуру. Другие пути дешифровки не принимаются судом как истинно верные. Собственно, это всё к тому, чтобы вы не пользовались старыми версиями любых шифровальшиков, даже того же veracrypt. У государств всегда хватает средств для снятия шифров.
 
Последнее редактирование:
Приветствую. Нужно для таких дел как мера безопасности очищать оперативную память, различными утилитами.
 
Мы в соцсетях:

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