//kalinux.info
Безопасность 233 просмотров

Аварийное саморазрушение LUKS в Kali Linux

Аварийное саморазрушение LUKS в Kali Linux

Шифрование полного диска Kali Linux

В качестве тестеров для проникновения нам часто приходится путешествовать с конфиденциальными данными, хранящимися на наших ноутбуках. Конечно, мы используем полное шифрование диска, где это возможно, включая Kali Linux, которые, как правило, содержат самые важные материалы.

Настройка полного шифрования диска с помощью Kali Linux - это простой процесс. Установщик Kali Linux включает простой процесс настройки зашифрованных разделов с помощью LVM и LUKS. После шифрования операционная система Kali Linux требует пароль во время загрузки, чтобы ОС могла загружать и расшифровывать ваш диск, защищая эти данные, в случае если ваш ноутбук украден. Управление ключами и разделами дешифрования осуществляется с помощью утилиты cryptsetup.

Nuking наша установка FDI Kali Linux

Пару дней назад у одного из нас появилась идея добавить опцию «nuke» для нашей установки Kali Linux. Другими словами, с паролем загрузки, который уничтожит, а не расшифрует данные на нашем диске. Мы нашли старый патч cryptsetup от Juergen Pabel, который делает именно это, добавив пароль «nuke» для cryptsetup, который при использовании удаляет все ключи и делает данные на диске недоступными. Мы портировали этот патч для последней версии cryptsetup и разместили его на Github.

Тестирование пакета LUKS Nuke

Эта функция еще не реализована в Kali Linux, поскольку мы хотели сделать некоторую обратную связь с пользователем, прежде чем применять этот патч к базовым образам. Если вы хотите попробовать это самостоятельно, это инструкции по сборке. Начните с запуска зашифрованной LVM-установки в Kali Linux и установите пароль для дешифрования. После этого загрузите источник cryptsetup и примените к нему свой патч. Выполните сборку исправленного пакета следующим образом:

root@kali:~# apt-get source cryptsetup
root@kali:~# git clone https://github.com/offensive-security/cryptsetup-nuke-keys
root@kali:~# cd cryptsetup-1.6.1/
root@kali:~/cryptsetup-1.6.1# patch -p1 < ../cryptsetup-nuke-keys/cryptsetup_1.6.1+nuke_keys.diff
patching file lib/libcryptsetup.h
patching file lib/luks1/keymanage.c
patching file lib/setup.c
patching file src/cryptsetup.c
root@kali:~/cryptsetup-1.6.1# dpkg-buildpackage -b -uc

После создания пакета установите пакеты cryptsetup, чтобы реализовать нашу опцию nuke:

root@kali:~/cryptsetup-1.6.1# ls -l ../*crypt*.deb
-rw-r--r-- 1 root root 149430 Jan 4 21:34 ../cryptsetup_1.6.1-1kali0_amd64.deb
-rw-r--r-- 1 root root 250616 Jan 4 21:34 ../cryptsetup-bin_1.6.1-1kali0_amd64.deb
-rw-r--r-- 1 root root 105226 Jan 4 21:34 ../libcryptsetup4_1.6.1-1kali0_amd64.deb
-rw-r--r-- 1 root root 49580 Jan 4 21:34 ../libcryptsetup-dev_1.6.1-1kali0_amd64.deb
root@kali:~/cryptsetup-1.6.1# dpkg -i ../libcryptsetup*.deb
root@kali:~/cryptsetup-1.6.1# dpkg -i ../cryptsetup*.deb

Теперь, когда наш исправленный пакет cryptsetup установлен, мы можем продолжить и добавить ключ «nuke» к нашей настройке:

root@kali:~# cryptsetup luksAddNuke /dev/sda5
Enter any existing passphrase: (existing passphrase)
Enter new passphrase for key slot: (nuke passphrase)

Привет, чувак, где мой диск?

При последующих перезагрузках вам будет задан пароль для расшифровки LUKS каждый раз, как обычно. Если по какой-либо причине вы должны ввести пароль nuke, сохраненные ключи будут очищены, что сделает данные недоступными. Мы будем держать вас в курсе любых дальнейших разработок этой функции.