Вопрос или проблема
У меня есть сырой образ диска, на котором находятся четыре зашифрованных раздела LUKS.
Я использую bruteforce-luks, чтобы попытаться восстановить пароль. Мне нужно иметь возможность указать путь к (началу) каждого раздела (а не только к началу образа диска).
Очевидно, я не могу смонтировать эти разделы, потому что не помню пароль.
Я мог бы восстановить сырой образ на реальный диск, а затем использовать соответствующее устройство /dev/sd?{1-4}, но у меня нет необходимого оборудования.
Мне удалось передать сырой образ виртуальной машине в качестве диска, и это работает, но виртуальная машина очень медленная (30 паролей в секунду), потому что не может использовать графический процессор.
Мне нужен прозрачный способ указать пути к отдельным разделам внутри сырого образа, чтобы я мог предоставить эти пути инструменту.
Как я могу это сделать?
Ответ или решение
Для решения задачи о предоставлении путей к разделам в образе диска, содержащем зашифрованные LUKS-разделы, можно использовать несколько подходов. Важно понимать, что мы работаем с образами диска, и поскольку доступ к данным на этих разделах ограничен из-за шифрования, мы не можем их смонтировать. Однако, существует один из эффективных методов, который позволяет предоставить устройства для отдельных разделов без необходимости монтирования.
1. Использование losetup
для создания циклических устройств
Первый шаг состоит в использовании утилиты losetup
, которая позволяет создать циклические устройства для отдельных разделов образа диска. Сначала необходимо узнать, где начинаются и заканчиваются разделы в вашем образе.
Определение начальных секторов разделов
Если вы не знаете границ разделов, воспользуйтесь следующей командой:
fdisk -lu /path/to/your/disk-image.img
Эта команда выдаст таблицу разделов, из которой можно извлечь информацию о начальных секторах и размерах каждого раздела.
Создание циклических устройств
Зная начальные позиции разделов, создайте циклические устройства для каждого из них. Например, если ваш LUKS-раздел начинается с 2048-го сектора и имеет размер 1024000 секторов:
losetup -f --show -o $((2048 * 512)) -s $((1024000 * 512)) /path/to/your/disk-image.img
Где:
-f
— находит свободное устройство--show
— выводит имя созданного устройства-o
— смещение, указывающее, с какого байта начинать-s
— размер создаваемого устройства в байтах (можно использовать-s
для указания размера)
После выполнения этой команды вы получите путь к циклическому устройству, например, /dev/loop0
. В дальнейшем, этот путь можно использовать для работы с bruteforce-luks
.
Повторение для каждого раздела
Повторите процесс для всех четырех разделов, подставляя соответствующие значения смещения и размера для каждого. В итоге у вас будет несколько устройств вида /dev/loop1
, /dev/loop2
и т.д.
2. Установка bruteforce-luks
Теперь вы можете использовать bruteforce-luks
, указывая каждое циклическое устройство как аргумент. Например:
bruteforce-luks -i /dev/loop0
bruteforce-luks -i /dev/loop1
...
Заключение
Используя метод циклических устройств через losetup
, вы можете легко указать пути к разделам в образе диска. Это не требует монтирования и не влияет на скорость работы инструмента. Убедитесь, что у вас есть права доступа для выполнения этих операций, и следите за тем, чтобы не повредить ваш оригинальный файл образа. Подобная техника позволяет эффективно работать с зашифрованными данными и повышает эффективность подбора паролей в таких системах.