BlackLotus
BlackLotus, también conocido como CVE-2023-24932, scripts de remediación para Intune, ConfigMgr y uso genérico ad-hoc.
Entrada del blog: https://ajf.one/blacklotus
Notas generales
- Estos scripts de remediación NO inician ningún reinicio. Están diseñados para ejecutarse "con el tiempo" y, eventualmente, el dispositivo se reportará como compatible a lo largo de sus reinicios "naturales", ya sea por actualizaciones mensuales, por iniciativa del usuario o de otro modo.
- La totalidad del script de remediación DEBE colocarse dentro del script de detección para su uso con Intune Remediation y ConfigMgr CI. Esto se debe a que estos scripts funcionan como una historia de "elige tu propia aventura", con múltiples puntos de salida, cada uno devolviendo su propia salida.
- Al comienzo de cada script se encuentran los equivalentes a los scripts de "detección", con el fin de evitar realizar cambios o generar un registro excesivo en un dispositivo ya compatible.
- No dudes en abrir un issue aquí, o escríbeme por Discord en WinAdmins (@krbtgt) si tienes algún problema o comentario. ¡Te lo agradecería mucho!
Fase 1: Instalación de las definiciones de certificados actualizadas en la base de datos y actualización del Administrador de arranque en tu dispositivo
Diagrama de flujo del proceso:
El script de la Fase 1 realizará los pasos 1 y 2 de la guía publicada por Microsoft, haciendo lo siguiente:
- Establecer el valor de registro
AvailableUpdates en 0x40
- Iniciar la tarea programada
\Microsoft\Windows\PI\Secure-Boot-Update para realizar el paso 1, "Instalar las definiciones de certificados actualizadas en la base de datos"
- Validar que el paso 1 esté completo
- Establecer el valor de registro
AvailableUpdates en 0x100
- Iniciar la tarea programada
\Microsoft\Windows\PI\Secure-Boot-Update para realizar el paso 2, "Actualizar el Administrador de arranque en tu dispositivo"
- Validar que el paso 2 esté completo
La validación se realiza entre cada paso y se registrará en $env:TEMP\BlackLotusPhase1Remediation.log, además de devolverse a Intune (si se ejecuta el script como una remediación).
Fase 2: Habilitar la revocación y aplicar la actualización de SVN al firmware
Diagrama de flujo del proceso:
El script de la Fase 2 realizará los pasos 3 y 4 de la guía publicada por Microsoft, haciendo lo siguiente:
- Establecer el valor de registro
AvailableUpdates en 0x80
- Iniciar la tarea programada
\Microsoft\Windows\PI\Secure-Boot-Update para realizar el paso 3, "Habilitar la revocación"
- Validar que el paso 3 esté completo
- Establecer el valor de registro
AvailableUpdates en 0x200
- Iniciar la tarea programada
\Microsoft\Windows\PI\Secure-Boot-Update para realizar el paso 4, "Aplicar la actualización de SVN al firmware"
- Validar que el paso 4 esté completo