
Super UEFIinSecureBoot Disk: Inicia cualquier sistema operativo o archivo .efi sin desactivar UEFI Secure Boot
Super UEFIinSecureBoot Disk es una prueba de concepto (no mantenida ni mejorada activamente) imagen de arranque con el cargador de arranque GRUB2 diseñada para ser utilizada como base para unidades flash USB de recuperación.
Característica clave: el disco es completamente funcional con el modo UEFI Secure Boot activado. Puede lanzar cualquier sistema operativo o archivo .efi, incluso con firma no confiable, inválida o faltante.
Secure Boot es una característica del firmware UEFI diseñada para asegurar el proceso de arranque evitando la carga de controladores o cargadores de SO que no estén firmados con una firma digital aceptable.
La mayoría de los ordenadores modernos vienen con Secure Boot habilitado por defecto, lo cual es un requisito para el proceso de certificación de Windows 10. Aunque se puede deshabilitar en todas las placas base típicas en el menú de configuración UEFI, a veces no es fácilmente posible, por ejemplo, debido a una contraseña de configuración UEFI en un ordenador corporativo que el usuario desconoce.
Este disco, después de instalarse en una memoria USB y arrancar desde ella, desactiva de manera efectiva las funciones de protección de Secure Boot y permite temporalmente realizar casi todas las acciones en el PC como si Secure Boot estuviera deshabilitado. Esto puede ser útil para recuperación de datos, reinstalación del SO, o simplemente para arrancar desde USB sin preocuparse por pasos adicionales.
Descargue el archivo de imagen de la página de lanzamientos, escríbalo en una memoria USB usando uno de los siguientes programas:
ADVERTENCIA: todos los datos de su memoria USB serán borrados.
La imagen contiene una única partición FAT32 de 500MiB. Use gparted o una herramienta similar para redimensionarla y obtener todo el espacio de la unidad USB.
El primer arranque en un PC con Secure Boot mostrará un mensaje de Violación de Acceso. Presione OK y elija la opción de menú "Inscribir certificado desde archivo". Seleccione ENROLL_THIS_KEY_IN_MOKMANAGER.cer y confirme la inscripción del certificado.
Los ordenadores sin Secure Boot arrancarán en GRUB sin intervención manual.
¿Funciona este disco en Secure Boot?
Sí, funciona. Carga cualquier kernel de Linux o archivo .efi o controlador sin firmar o no confiable, después de la inscripción manual de clave en el primer arranque usando el software MokManager. No es necesario deshabilitar Secure Boot para realizar la inscripción de clave en el primer arranque.
¿Funciona este disco en ordenadores basados en UEFI sin Secure Boot, o con Secure Boot deshabilitado?
Sí, funcionaría como un GRUB2 estándar.
¿Funciona este disco en ordenadores antiguos con BIOS?
Sí, funciona como cualquier otro cargador de arranque GRUB2.
¿Se puede usar este disco para evitar Secure Boot en un bootkit/virus UEFI?
No, realmente no. Este disco requiere intervención manual de un usuario físico en el primer arranque, lo que elimina el propósito de sigilo del bootkit.
¿Puedo reemplazar GRUB con otro cargador de arranque EFI (rEFInd, syslinux, systemd-boot)?
Sí, reemplace grubx64_real.efi/grubia32_real.efi con sus archivos. El cargador de arranque no necesita estar firmado y también debería iniciar cualquier archivo .efi gracias a la Política de Seguridad instalada por grubx64.efi/grubia32.efi (PreLoader), al igual que GRUB2 incluido en el disco.
El proceso de arranque UEFI de este disco se realiza en 3 etapas.
bootx64.efi (shim) → grubx64.efi (preloader) → grubx64_real.efi (grub2) → EFI file/OS
Etapa 1: la placa base carga shim. Shim es un cargador especial que simplemente carga el siguiente ejecutable, grubx64.efi (preloader) en nuestro caso. Shim está firmado con la clave de Microsoft, lo que permite que se ejecute en modo Secure Boot en todas las placas base de PC estándar.
Shim contiene un certificado de Fedora integrado (porque se extrajo del repositorio de Fedora). Si Secure Boot está habilitado, dado que grubx64.efi no está firmado con el certificado integrado de Fedora, shim arranca otro ejecutable, MokManager.efi, que es un software especial de gestión de claves de shim. MokManager le pide al usuario que proceda con el proceso de inscripción de clave o hash.
Las versiones más recientes de shim instalan hooks para las funciones UEFI LoadImage, StartImage, ExitBootServices y Exit para "Endurecer contra cargadores de arranque no participantes", lo que debe evitarse para el caso de uso de este disco. El shim de Fedora no instala políticas de seguridad UEFI personalizadas, por lo que no es posible cargar archivos efi autofirmados desde el cargador de arranque de segunda etapa, incluso si se agregan sus hashes o certificados usando MokManager.
Etapa 2: preloader es un software similar a shim. También realiza validación de ejecutables y carga el siguiente archivo efi. El preloader incluido en este disco es una versión reducida que realiza solo una función: instalar una política de seguridad UEFI que permita todo. Esto permite la carga de ejecutables efi arbitrarios con las funciones LoadImage/StartImage de UEFI incluso fuera de GRUB (por ejemplo, en UEFI Shell), y evita el endurecimiento de shim.
Etapa 3: GRUB2 es un cargador de arranque universal bien conocido. Se ha parcheado para cargar el kernel de Linux sin verificación adicional (comandos linux/linuxefi), cargar binarios .efi en memoria y saltar a su punto de entrada (comando chainloader), y para imitar un "cargador de arranque participante" para shim.
Lea mi artículo sobre este tema: Exploiting signed bootloaders to circumvent UEFI Secure Boot (también disponible en ruso)
Super UEFIinSecureBoot Disk GRUB2 establece la variable suisbd=1. Podría usarse para detectar el GRUB2 parcheado del disco en un grub.conf compartido entre múltiples cargadores de arranque.
Desde la versión 3, GRUB utiliza el cargador de archivos .efi estándar de UEFI, ya que hubo algunos problemas con la implementación del cargador interno. Para usar el cargador interno, agregue set efi_internal_loader=1 en el archivo de configuración de GRUB. Ambos métodos pueden cargar archivos .efi no confiables.