Вопрос или проблема
Я настроил live USB с Kali для пентестинга, и теперь пытаюсь сделать так, чтобы он работал с персистентностью. На данный момент USB был разделен, и на него установлена файловая система ext2.
Когда я открываю Kali, на рабочем столе появляется необычная папка с иконкой жесткого диска, которая называется MyPersistence — именно так я назвал раздел для персистентности. Путь к этой папке: /media/root/MyPersistence
. Все, что я сохраняю в этой директории, сохраняется правильно.
Однако ничего вне этой директории не сохраняется.
На экране загрузки Kali, когда появляются варианты, я нажимаю tab, и открывается небольшая консоль, предварительно заполненная следующей командой:
.linux /live/vmlinuz noprompt cdrom-detect/try-usb=true boot=live username=root hostname=kali initrd=/live/initrd.img
Согласно инструкциям, которые я прочитал, я должен добавить persistence
в конце этого, и запустить его. Но это не вызывает никаких видимых изменений, ничего не меняется. Что это за параметр? Должно ли это быть имя раздела, MyPersistence
в моем случае? Что такое .linux
и где я могу найти больше информации о параметрах, которые он принимает?
Кроме того, в инструкциях была такая информация:
mkdir -p /mnt/my_usb
mount /dev/sdc2 /mnt/my_usb
echo "/ union" > /mnt/my_usb/persistence.conf
umount /dev/sdc2 && reboot
Но это также не имеет эффекта.
Цель персистентности — позволить вам сохранять содержимое одной папки (например, /home
) между перезагрузками. Невозможно сделать персистентным всю систему, потому что она хранится в ISO-файле, который загружается при загрузке.
Что вам нужно, так это сделать полную установку Kali на USB-накопитель. Таким образом, вы сможете получить доступ ко всей файловой системе, как если бы она была установлена на вашем компьютере. Для этого следуйте этому руководству по установке Kali: http://docs.kali.org/installation/kali-linux-hard-disk-install, и при выборе диска на шаге 10 выберите ваш USB-носитель. Убедитесь, что не выбрали свой жесткий диск, иначе вы его перезапишите. Для большей безопасности подумайте о том, чтобы отключить свой жесткий диск перед тем, как это сделать.
На самом деле я заметил, что на разделе персистентности появляются две папки: ‘rw’ и ‘work’. Похоже, что правильно расположенный файл persistence.conf (с содержимым ‘/ union’) вызывает это. Указанные вами команды делают это из командной строки, но неважно, как вы доберетесь до этого. Все обновления и загрузки, которые вы добавите и выполните после этого, при загрузке с live USB с персистентностью из grub, появятся в папке rw. Я подозреваю, что папка work является временным местом для дополнительного зашифрованного раздела, но я нашел крайне мало документации по настройке этого и созданию правильной записи в grub для загрузки в него, или как это должно ‘работать’… Обычно мне не нужна такая степень безопасности. Для базовой персистентности USB при живой загрузке ключевым моментом является размещение этого текстового файла в корне третьего раздела. Остальное должно автоматически обрабатывать ОС.
Вы использовали неправильную метку на вашей файловой системе. Назовите ее “persistence”, а не “MyPersistence”.
Вам нужно выполнить все следующие шаги:
- Создайте раздел с подходящей файловой системой.
mkfs.ext2 /dev/sdXN
замените X и N на идентификаторы диска и раздела. - Пометьте раздел “persistence”
e2label /dev/sdXN persistence
- Создайте файл
persistence.conf
в корневом каталоге созданного раздела:
sudo mount /dev/sdXN /mnt
echo "/ union" | sudo tee /mnt/persistence.conf
- Загрузите вашу систему Kali live с добавлением ключевого слова “persistence” в командной строке, для загрузчика GRUB это будет выглядеть так:
linux /live/vmlinuz-6.1.0-kali9-amd64 boot=live components noeject persistence
по умолчанию такая загрузочная запись является одним из вариантов в меню загрузки Kali.
Ответ или решение
Как добавить персистентность в файловую систему Kali Linux
Создание Live USB с Kali Linux – отличный способ для проведения тестирования безопасности. Однако, чтобы сделать так, чтобы ваши изменения сохранялись между перезагрузками, необходимо настроить персистентный режим. В этой статье подробно рассмотрим, как правильно реализовать персистентность для всей файловой системы Kali на USB.
Шаг 1: Подготовка USB-накопителя
Прежде всего, нужно убедиться, что ваш USB-накопитель правильно подготовлен. Разделите его так, чтобы одна часть была использована для загрузки ISO-образа, а другая — для хранения данных. Для этого выполните следующие шаги:
-
Создайте раздел ext2:
Используйте командуmkfs.ext2
, чтобы отформатировать один из созданных вами разделов как ext2.sudo mkfs.ext2 /dev/sdXN
Замените
X
иN
на зависимости от вашего устройства. -
Установите метку раздела:
Назначьте разделу метку "persistence" с помощью команды:sudo e2label /dev/sdXN persistence
Шаг 2: Создание конфигурационного файла
Теперь необходимо создать файл конфигурации для персистенции:
-
Создайте файл
persistence.conf
:
Сначала смонтируйте ваш раздел:sudo mount /dev/sdXN /mnt
-
Запишите конфигурацию:
Создайте файлpersistence.conf
, который будет содержать информацию о том, что вы хотите сделать персистентным. Введите следующую команду:echo "/ union" | sudo tee /mnt/persistence.conf
-
Отмонтируйте раздел:
После этого следует отмонтировать USB-репозиторий:sudo umount /dev/sdXN
Шаг 3: Загрузка Kali с персистентностью
Чтобы загрузить Kali в режиме персистенции:
-
При загрузке системы через GRUB вы увидите меню. Выберите нужный пункт загрузки и нажмите
Tab
. Вы увидите строку, подобную следующей:linux /live/vmlinuz noprompt cdrom-detect/try-usb=true boot=live username=root hostname=kali initrd=/live/initrd.img
-
Добавьте параметр
persistence
:
В конце строки добавьте словоpersistence
:linux /live/vmlinuz noprompt cdrom-detect/try-usb=true boot=live username=root hostname=kali initrd=/live/initrd.img persistence
-
Запустите систему:
НажмитеEnter
, чтобы загрузить систему с параметрами персистентности.
Примечания и рекомендации
- Проверка конфигурации: Убедитесь, что файл
persistence.conf
на вашем разделе находится на одном уровне с другими файлами, а не в подпапке. - Обновление системы: Все изменения, такие как установка новых программ и обновления, должны сохраняться в папке
rw
, которую вы заметили ранее. - Безопасность данных: Если вам требуется высокий уровень безопасности, можно рассмотреть возможности шифрования персистентной части, хотя это усложнит процесс.
Заключение
Настройка персистентности на Kali Linux требует определенного внимания к деталям, но, следуя приведенным шагам, вы сможете сохранить изменения и данные между загрузками. Это существенно упростит выполнение ваших задач по тестированию безопасности. Если у вас возникнут проблемы, обязательно ознакомьтесь с документацией Kali Linux: Kali USB Persistence.