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
shim-review — Recensioni di shim | Kitploit
Strumenti/GitHubGitHub/rhboot/shim-review
Analisi delle VulnerabilitàAnalisi del CodiceSicurezza della Supply ChainApprendimento e FormazioneRisorse CurateAnalisi del Firmware
GitHubrhboot/shim-review

shim-review

Recensioni di shim

Vedi Repository
8917124 giorni faRevisionato da Kitploit

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

Questo repository è per la revisione delle richieste di firma del shim. Per creare una richiesta di revisione:

  • clona questo repository (preferibilmente crea un fork)
  • modifica il modello sottostante
  • aggiungi il file shim.efi da firmare
  • aggiungi i log di build
  • aggiungi eventuali binari/certificati/hash SHA256 aggiuntivi necessari
  • esegui il commit di tutto
  • tagga con un tag nel formato "myorg-shim-arch-YYYYMMDD"
  • carica su GitHub
  • apri un issue su https://github.com/rhboot/shim-review/issues con un collegamento al tuo tag
  • l'approvazione è pronta quando viene aggiunta l'etichetta "accepted" al tuo issue

Nota che abbiamo esperienza solo con l'uso di GRUB2 o systemd-boot su Linux, quindi chiederci di approvare qualsiasi altra cosa per la firma richiederà una certa convinzione da parte vostra.

A partire dal 20 ottobre 2025, i shim inviati a Microsoft verranno firmati con le chiavi 2011 e 2023. Per ogni shim inviato, riceverai due copie indietro, ciascuna firmata con una chiave diversa. Ecco le informazioni più recenti da Microsoft: https://techcommunity.microsoft.com/blog/hardware-dev-center/signing-with-the-new-2023-microsoft-uefi-certificates-what-submitters-need-to-kn/4455787

Nuovi requisiti di firma sono inoltre entrati in vigore e sono disponibili qui: https://techcommunity.microsoft.com/blog/hardware-dev-center/updated-microsoft-uefi-signing-requirements/1062916 Tieni presente che sottoporsi a questa revisione shim ti esonera dagli audit di sicurezza annuali, purché il tuo shim passi il controllo solo a boot loader open source.

Suggerimento: controlla la directory docs in questo repository per indicazioni sulla presentazione e per ottenere la firma del tuo shim.

Ecco il modello:


Quale organizzazione o persone stanno chiedendo la firma?


Nome dell'organizzazione e sito web:
[il tuo testo qui]


Quali sono i dati legali che dimostrano l'autenticità dell'organizzazione?

I revisori dovrebbero poter verificare facilmente che la tua organizzazione sia un'entità legale, per prevenire abusi. Fornisci le informazioni che possono provare l'autenticità con certezza.


Registri delle imprese o equivalenti:
(un collegamento alla voce dell'organizzazione nel registro della tua giurisdizione andrà bene)

[il tuo testo qui]

I dettagli pubblici sia della tua organizzazione che dell'emittente nel certificato EV utilizzato per firmare i file .cab presso Microsoft Hardware Dev Center File Signing Services.
(non il certificato CA incorporato nel tuo shim binario)

Esempio:``` Issuer: O=MyIssuer, Ltd., CN=MyIssuer EV Code Signing CA Subject: C=XX, O=MyCompany, Inc., CN=MyCompany, Inc.

root@kitploit:~
*******************************************************************************
### A quale prodotto o servizio è destinato?
*******************************************************************************

[your text here]

*******************************************************************************
### Qual è la giustificazione per cui è davvero necessario firmarlo affinché tutto il mondo possa avviarlo?
*******************************************************************************

[your text here]

*******************************************************************************
### Perché non puoi riutilizzare shim da un'altra distribuzione già firmata?
*******************************************************************************

[your text here]

*******************************************************************************
### Chi è il contatto principale per gli aggiornamenti di sicurezza, ecc.?
I contatti per la sicurezza devono essere verificati prima che lo shim possa essere accettato. Per richieste successive, la verifica del contatto è necessaria solo se i contatti per la sicurezza o le loro chiavi PGP sono cambiati dall'ultima verifica riuscita.

Un revisore autorizzato avvierà la verifica del contatto inviando a ciascun contatto per la sicurezza un'email crittografata con PGP contenente parole casuali.
Ti verrà chiesto di pubblicare il contenuto di queste email nel tuo problema `shim-review` per dimostrare la proprietà degli indirizzi email e delle chiavi PGP.
Carica le chiavi PGP su un keyserver noto come keyserver.ubuntu.com e/o includile nella revisione come file .asc, e segnalale qui.

*******************************************************************************
- Nome:
- Posizione:
- Indirizzo email:
- Impronta della chiave PGP:
- Percorso file/keyserver:

*******************************************************************************
### Chi è il contatto secondario per gli aggiornamenti di sicurezza, ecc.?
*******************************************************************************
- Nome:
- Posizione:
- Indirizzo email:
- Impronta della chiave PGP:
- Percorso file/keyserver:

*******************************************************************************
### Questi binari sono stati creati dal tarball della release 16.1 di shim?
Crea i tuoi binari shim a partire dal tarball della release 16.1 di shim: https://github.com/rhboot/shim/releases/download/16.1/shim-16.1.tar.bz2

Ciò corrisponde a https://github.com/rhboot/shim/releases/tag/16.1 e contiene il codice sorgente gnu-efi appropriato.

Assicurati che il tarball sia corretto verificando il checksum del tuo download
(SHA256, SHA512) con i seguenti:```
46319cd228d8f2c06c744241c0f342412329a7c630436fce7f82cf6936b1d603  shim-16.1.tar.bz2
ca5f80e82f3b80b622028f03ef23105c98ee1b6a25f52a59c823080a3202dd4b9962266489296e99f955eb92e36ce13e0b1d57f688350006bba45f2718f159fb  shim-16.1.tar.bz2

Assicurati di aver verificato che il tuo processo di build utilizzi quel file come fonte di verità (escluse le patch esterne) e che il suo checksum corrisponda. Puoi anche convalidare ulteriormente il rilascio controllando la firma PGP: c'è una firma distaccata

Il rilascio è firmato dal manutentore Peter Jones - la sua chiave master ha l'impronta digitale B00B48BC731AA8840FED9FB0EED266B70F4FEF10 e la sottochiave di firma in questa firma ha l'impronta digitale 02093E0D19DDE0F7DFFBB53C1FD3F540256A1372. Una copia della sua chiave pubblica è inclusa qui come riferimento: pjones.asc

Una volta che sei sicuro che il tarball che stai utilizzando sia corretto e autentico, confermalo qui con un semplice sì.

Una breve guida sulla verifica delle chiavi pubbliche e delle firme dovrebbe essere disponibile nella directory docs.


[your text here]


URL di un repository che contiene il codice esatto che è stato compilato per ottenere il tuo binario:

Suggerimento: Se alleghi tutte le patch e le modifiche utilizzate alla tua applicazione, puoi indicare qui l'URL della tua applicazione (https://github.com/YOUR_ORGANIZATION/shim-review).

Puoi anche indicare i tuoi server git personalizzati, dove è ospitato il codice.


[your url here]


Quali patch vengono applicate e perché:

Menziiona tutte le patch esterne e le modifiche al processo di build, che vengono utilizzate durante il tuo processo di compilazione, che rendono il tuo binario shim quello esatto che hai pubblicato come parte di questa richiesta.


[your text here]


Hai impostato il bit NX nel tuo shim? In caso affermativo, l'intero stack di avvio è compatibile con NX e quali test hai eseguito per garantire tale compatibilità?

Vedi https://techcommunity.microsoft.com/t5/hardware-dev-center/nx-exception-for-shim-community/ba-p/3976522 per maggiori dettagli sulla firma di shim senza bit NX.


[your text here]


Quale implementazione esatta di Secure Boot in GRUB2 hai? (O il verificatore shim_lock di GRUB2 upstream o l'implementazione downstream simile a RHEL/Fedora/Debian/Canonical)

Salta questa domanda se non stai utilizzando GRUB2.


[your text here]


Hai applicato le correzioni per tutte le seguenti CVE di GRUB2?

Salta questa domanda se non stai utilizzando GRUB2, altrimenti assicurati che siano presenti e conferma con sì.

  • 2020 Luglio - BootHole
    • Dettagli: https://lists.gnu.org/archive/html/grub-devel/2020-07/msg00034.html
    • CVE-2020-10713
    • CVE-2020-14308
    • CVE-2020-14309
    • CVE-2020-14310
    • CVE-2020-14311
    • CVE-2020-15705
    • CVE-2020-15706
    • CVE-2020-15707
  • Marzo 2021
    • Dettagli: https://lists.gnu.org/archive/html/grub-devel/2021-03/msg00007.html
    • CVE-2020-14372
    • CVE-2020-25632
    • CVE-2020-25647
    • CVE-2020-27749
    • CVE-2020-27779
    • CVE-2021-3418 (if you are shipping the shim_lock module)
    • CVE-2021-20225
    • CVE-2021-20233
  • Giugno 2022
    • Dettagli: https://lists.gnu.org/archive/html/grub-devel/2022-06/msg00035.html, aumento SBAT a 2
    • CVE-2021-3695
    • CVE-2021-3696
    • CVE-2021-3697
    • CVE-2022-28733
    • CVE-2022-28734
    • CVE-2022-28735
    • CVE-2022-28736
    • CVE-2022-28737
  • Novembre 2022
    • Dettagli: https://lists.gnu.org/archive/html/grub-devel/2022-11/msg00059.html, aumento SBAT a 3
    • CVE-2022-2601
    • CVE-2022-3775
  • Ottobre 2023 - Vulnerabilità NTFS
    • Dettagli: https://lists.gnu.org/archive/html/grub-devel/2023-10/msg00028.html, aumento SBAT a 4
    • CVE-2023-4693
    • CVE-2023-4692
  • Febbraio 2025
    • Dettagli: https://lists.gnu.org/archive/html/grub-devel/2025-02/msg00024.html, aumento SBAT a 5
    • CVE-2024-45774
    • CVE-2024-45775
    • CVE-2024-45776
    • CVE-2024-45777
    • CVE-2024-45778
    • CVE-2024-45779
    • CVE-2024-45780
    • CVE-2024-45781
    • CVE-2024-45782
    • CVE-2024-45783

[your text here]


Se shim sta caricando il bootloader GRUB2 e se queste correzioni sono state applicate, la generazione globale SBAT upstream nel tuo binario GRUB2 è impostata a 5?

Salta questa domanda se non stai utilizzando GRUB2, altrimenti hai una voce nel tuo binario GRUB2 simile a:
grub,5,Free Software Foundation,grub,GRUB_UPSTREAM_VERSION,https://www.gnu.org/software/grub/?


[your text here]


Gli hash dei vecchi shim sono stati forniti a Microsoft per la verifica e per essere aggiunti ai futuri aggiornamenti DBX?

La tua nuova catena di fiducia impedisce l'avvio di vecchie build di GRUB2 affette dalle CVE?

Se non avevi uno shim firmato in precedenza, dillo qui. Altrimenti un semplice sì andrà bene.


[your text here]


Se la tua catena di fiducia di avvio include un kernel Linux:

Il commit upstream 1957a85b0032a81e6482ca4aab883643b8dae06e "efi: Restrict efivar_ssdt_load when the kernel is locked down" è stato applicato?

Il commit upstream 75b0cea7bf307f362057cc778efe89af4c615354 "ACPI: configfs: Disallow loading ACPI tables when locked down" è stato applicato?

Il commit upstream eadb2f47a3ced5c64b23b90fd2a3463f63726066 "lockdown: also lock down previous kgdb use" è stato applicato?

Suggerimento: i kernel upstream dovrebbero avere tutti questi applicati, ma se distribuisci la tua versione di kernel più vecchia pesantemente modificata, mantenuta separatamente dall'upstream, potrebbe non essere così.
Se stai distribuendo un kernel più vecchio, ricontrolla le tue fonti; forse non hai tutte le patch, ma distribuisci una configurazione che non espone il(i) problema(i).


[your text here]


In che modo il tuo kernel firmato applica il lockdown quando il sistema viene eseguito con Secure Boot abilitato?

Suggerimento: Se non lo fa, è improbabile che firmiamo il tuo shim.


[your text here]


Costruisci il tuo kernel firmato con patch locali aggiuntive? Cosa fanno?


[your text here]


Usi una chiave effimera per firmare i moduli del kernel?

In caso contrario, descrivi come garantisci che una build del kernel non carichi moduli costruiti per un altro kernel.


[your text here]


Se utilizzi la funzionalità vendor_db di fornire più certificati e/o hash, descrivi brevemente la tua configurazione dei certificati.

Se ci sono hash nella lista bianca, fornisci i binari esatti per i quali vengono creati gli hash tramite un servizio di condivisione file, disponibile pubblicamente con accesso anonimo per la verifica.


[your text here]


Se stai riutilizzando il certificato CA dal tuo ultimo binario shim, dovrai aggiungere gli hash dei precedenti binari GRUB2 esposti alle CVE menzionate in precedenza a vendor_dbx in shim. Descrivi la tua strategia.

Questo garantisce che il tuo nuovo shim+GRUB2 non possa più caricare a catena quei vecchi binari GRUB2 con problemi.

Se questa è la tua prima richiesta o stai utilizzando un nuovo certificato CA, dillo qui.


[your text here]


Il Dockerfile nel tuo repository è la ricetta per riprodurre la costruzione del tuo binario shim?

Un revisore dovrebbe sempre essere in grado di eseguire docker build . per ottenere il binario esatto che hai allegato nella tua richiesta.

Suggerimento: Preferisci utilizzare pacchetti congelati per la tua toolchain, poiché un aggiornamento di GCC, binutils, gnu-efi potrebbe portare alla costruzione di un binario shim con un checksum diverso.

Se i tuoi binari shim non possono essere riprodotti utilizzando il Dockerfile fornito, spiega perché, quali sarebbero le differenze e quale ambiente di build (SO e toolchain) viene utilizzato per riprodurre questa build? In questo caso, scrivi una guida dettagliata su come configurare questo ambiente di build da zero.


[your text here]


Quali file in questo repo sono i log della tua build?

Questo dovrebbe includere i log per la creazione dei buildroot, l'applicazione delle patch, l'esecuzione della build, la creazione degli archivi, ecc.


[your text here]


Quali modifiche sono state apportate alla catena di avvio sicuro della distribuzione dall'ultima firma del tuo SHIM?

Ad esempio, firma di nuove varianti del kernel, UKI, systemd-boot, nuovi certificati, nuova CA, ecc.

Salta questa domanda se questa è la tua prima richiesta per far firmare shim.


[your text here]


Qual è l'hash SHA256 del tuo binario shim finale?


[your text here]


Come gestisci e proteggi le chiavi utilizzate nel tuo shim?

Descrivi la strategia di sicurezza utilizzata per la protezione delle chiavi. Può variare dall'uso di token hardware come HSM o smartcard, caveau air-gapped, casseforti fisiche ad altre buone pratiche.


[your text here]


Utilizzi certificati EV come certificati incorporati nello shim?

Un sì o no andrà bene. Non c'è penalità per il secondo.


[your text here]


Stai incorporando un certificato CA nel tuo shim?

Un sì o no andrà bene. Non c'è penalità per il secondo. Tuttavia, se sì: quel certificato include i vincoli di base X509v3 per indicare che è una CA? Vedi la documentazione per ulteriori indicazioni.


[your text here]


Aggiungi una voce SBAT specifica del fornitore alla sezione SBAT in ogni binario che supporta i metadati SBAT (GRUB2, fwupd, fwupdate, systemd-boot, systemd-stub, shim + tutti i binari shim figli)?

Fornisci le voci SBAT esatte per tutti i binari che avvii direttamente tramite shim.

Suggerimento: La storia di SBAT e maggiori informazioni su come funziona si trovano qui. Quel documento è grande, quindi per alcuni esempi consulta SBAT.example.md

Se stai utilizzando un'implementazione downstream di GRUB2 (ad esempio da Fedora o Debian), assicurati di conservare le loro voci SBAT e di aggiungere le tue (non sostituire le loro) per semplificare la revoca.

Ricordati di pubblicare le voci di tutti i binari. Oltre al bootloader, potresti anche distribuire, ad esempio, un aggiornatore firmware, che avrà anche queste.

Suggerimento: esegui objcopy --dump-section .sbat=/dev/stdout YOUR_EFI_BINARY per ottenere queste voci. Incollale qui. Preferibilmente racchiudi ogni elenco con tre backtick (```), in modo che vengano visualizzati correttamente.


[your text here]


Se shim sta caricando il bootloader GRUB2, quali moduli sono integrati nella tua immagine GRUB2 firmata?

Salta questa domanda se non stai utilizzando GRUB2.

Suggerimento: si tratta dei moduli che sono nel binario stesso, non dei file .mod nel tuo filesystem.


[your text here]


Se stai utilizzando systemd-boot su arm64 o riscv, è inclusa la correzione per caricamento non verificato del Devicetree Blob?


[your text here]


Qual è l'origine e il numero di versione completo del tuo bootloader (GRUB2 o systemd-boot o altro)?


[your text here]


Se il tuo shim avvia altri componenti oltre al bootloader, fornisci ulteriori dettagli su cosa viene avviato.

Suggerimento: Il caso più comune qui sarà un aggiornatore firmware come fwupd.


[your text here]


Se il tuo GRUB2 o systemd-boot avvia altri binari che non sono il kernel Linux in modalità SecureBoot, fornisci ulteriori dettagli su cosa viene avviato e come applica il blocco Secureboot.

Salta questa domanda se non stai utilizzando GRUB2 o systemd-boot.


[your text here]


In che modo i componenti avviati impediscono l'esecuzione di codice non autenticato?

Riassumi in una o due frasi come funziona la tua catena di avvio sicuro a livello superiore.


[your text here]


Il tuo shim carica loader che supportano il caricamento di kernel non firmati (ad esempio, alcune configurazioni GRUB2)?


[your text here]


Quale kernel stai utilizzando? Quali patch e configurazione include per applicare Secure Boot?


[your text here]


Quali contributi hai fornito per aiutarci a revisionare le richieste di altri richiedenti?

Il processo di revisione è inteso come uno sforzo di peer-review e il modo migliore per far revisionare più rapidamente la tua richiesta è aiutare a revisionare quelle degli altri. Nella maggior parte dei casi siamo volontari che lavorano su questo spazio nel tempo libero, piuttosto che essere impiegati e pagati per revisionare le richieste durante l'orario di lavoro.

Un periodo di attesa ragionevole per una revisione può arrivare a 2-3 mesi. Aiutarci è il modo migliore per accorciare questo periodo. Più aiuto riceviamo, più velocemente e più fluidamente le cose procederanno.

Per i nuovi arrivati, si consiglia di iniziare il processo di contribuzione con le richieste etichettate come facili da revisionare.


[your text here]


Aggiungi qualsiasi informazione aggiuntiva che ritieni possa essere necessaria per convalidare questa richiesta di firma shim.


[your text here]

Scarica lo strumento
  • CVE-2025-0622
  • CVE-2025-0624
  • CVE-2025-0677
  • CVE-2025-0678
  • CVE-2025-0684
  • CVE-2025-0685
  • CVE-2025-0686
  • CVE-2025-0689
  • CVE-2025-0690
  • CVE-2025-1118
  • CVE-2025-1125