BlackLotus
Script di remediation per BlackLotus aka CVE-2023-24932 per Intune, ConfigMgr e uso generico ad-hoc.
Post del blog: https://ajf.one/blacklotus
Note Generali
- Questi script di remediation NON avviano alcun riavvio. Sono progettati per essere eseguiti "nel tempo" e, alla fine, il dispositivo risulterà conforme nel corso dei suoi "naturali" riavvii, dovuti ad aggiornamenti mensili, iniziative dell'utente o altro.
- L'intero script di remediation DEVE essere inserito all'interno dello script di rilevamento per l'uso con Intune Remediation e ConfigMgr CI. Ciò è dovuto al funzionamento di questi script come una storia "a scelta multipla", con più punti di uscita, ciascuno dei quali restituisce il proprio output.
- All'inizio di ogni script sono presenti gli equivalenti degli script di "rilevamento", al fine di evitare di apportare modifiche o eseguire log eccessivi su un dispositivo già conforme.
- Sentiti libero di aprire un issue qui, o contattami su Discord in WinAdmins (@krbtgt) se incontri problemi o hai feedback, sarebbe molto apprezzato!
Fase 1: Installazione delle definizioni certificate aggiornate nel database e aggiornamento del Boot Manager sul dispositivo
Diagramma di flusso del processo:
Lo script della Fase 1 eseguirà i passaggi 1 e 2 della guida pubblicata da Microsoft, facendo quanto segue:
- Imposta il valore del registro
AvailableUpdates a 0x40
- Avvia l'attività pianificata
\Microsoft\Windows\PI\Secure-Boot-Update per eseguire il passo 1, "Installare le definizioni certificate aggiornate nel database"
- Convalida il completamento del passo 1
- Imposta il valore del registro
AvailableUpdates a 0x100
- Avvia l'attività pianificata
\Microsoft\Windows\PI\Secure-Boot-Update per eseguire il passo 2, "Aggiornare il Boot Manager sul dispositivo"
- Convalida il completamento del passo 2
La convalida viene eseguita tra ogni passaggio e verrà registrata in $env:TEMP\BlackLotusPhase1Remediation.log, oltre a essere restituita a Intune (se lo script viene eseguito come Remediation).
Fase 2: Abilitazione della revoca e applicazione dell'aggiornamento SVN al firmware
Diagramma di flusso del processo:
Lo script della Fase 2 eseguirà i passaggi 3 e 4 della guida pubblicata da Microsoft, facendo quanto segue:
- Imposta il valore del registro
AvailableUpdates a 0x80
- Avvia l'attività pianificata
\Microsoft\Windows\PI\Secure-Boot-Update per eseguire il passo 3, "Abilitare la revoca"
- Convalida il completamento del passo 3
- Imposta il valore del registro
AvailableUpdates a 0x200
- Avvia l'attività pianificata
\Microsoft\Windows\PI\Secure-Boot-Update per eseguire il passo 4, "Applicare l'aggiornamento SVN al firmware"
- Convalida il completamento del passo 4