Добавить ключ безопасной загрузки в Live Distro

Добавить ключ безопасной загрузки в Live Distro

Я хотел спросить, возможно ли загрузить ключ в мой live persistence distro, чтобы обойти Secure Boot без отключения? Я предполагаю, что ответ, скорее всего, нет, но я все равно хотел спросить.

решение1

Вы не сказали, для чего вам нужен ключ, но в Ubuntu я периодически делаю это, чтобы подписывать драйверы вручную. Мой драйвер BroadCom WiFi — сторонний и неподписанный, и я использую следующий скрипт каждый раз, когда устанавливается новое ядро:-

#!/bin/bash
if [ "$(whoami)" != "root" ]
then echo "wlsign: must be called from 'root'"
elif [ -z "$1" -o "$1" == "-c" ]
then
     [ "$1" == "-c" ] && \
     openssl req -new -x509 -newkey rsa:2048 -keyout wl.priv -outform DER -out wl.der -nodes -days 36500 -subj "/CN=BroadCom/"
     /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./wl.priv ./wl.der $(modinfo -n wl)
     [ "$1" == "-c" ] && mokutil --import wl.der
     [ "$1" == "-c" ] && echo Now reboot and select MOK install || modprobe wl
else
     [ "$1" != "-h" ] && echo "wlsign: invalid options - $@"
     echo 'wlsign [-c|-h] : signs proprietary Wireless kernel drivers'
     echo '            -c : create new keys (default: use existing)'
     echo '            -h : give this help information'
fi

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

У меня есть аналогичные скрипты для других неподписанных драйверов, особенно драйверов VMware, которые компилируются на лету, поэтому их невозможно подписать.

Поскольку Kali и Ubuntu являются производными от Debian, я надеюсь, что структуры системных каталогов будут похожи. Обратите внимание, что программа sign-fileустанавливается в заголовочные файлы ядра, поэтому ее linux-headers-*нужно будет установить для вашего ядра. kmodsignВ /usr/bin/, которая может быть альтернативой, но я ее не пробовал.

Я не помню, где я нашел эту информацию, поэтому не могу указать ее источник.

Связанный контент