Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
shim-review — Análises do shim | Kitploit
Ferramentas/GitHubGitHub/rhboot/shim-review
Análise de VulnerabilidadesAnálise de CódigoSegurança da Cadeia de SuprimentosAprendizado e EducaçãoRecursos CuradosAnálise de Firmware
GitHubrhboot/shim-review

shim-review

Análises do shim

Ver Repositório
89171há 22 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Este repositório é para revisão de solicitações de assinatura do shim. Para criar uma solicitação de revisão:

  • clone este repositório (de preferência, faça um fork)
  • edite o modelo abaixo
  • adicione o shim.efi a ser assinado
  • adicione logs de compilação
  • adicione quaisquer binários/certificados/hashes SHA256 adicionais que possam ser necessários
  • faça commit de tudo isso
  • marque com uma tag no formato "myorg-shim-arch-YYYYMMDD"
  • envie para o GitHub
  • abra uma issue em https://github.com/rhboot/shim-review/issues com um link para sua tag
  • a aprovação está pronta quando o rótulo "accepted" for adicionado à sua issue

Observe que realmente temos experiência apenas com o uso de GRUB2 ou systemd-boot no Linux, portanto, pedir para endossarmos qualquer outra coisa para assinatura exigirá uma boa dose de convencimento da sua parte.

A partir de 20 de outubro de 2025, os shims enviados para a Microsoft serão assinados com as chaves de 2011 e 2023. Para cada shim que você enviar, receberá duas cópias de volta, cada uma assinada por uma chave diferente. Aqui estão as informações mais recentes da Microsoft: https://techcommunity.microsoft.com/blog/hardware-dev-center/signing-with-the-new-2023-microsoft-uefi-certificates-what-submitters-need-to-kn/4455787

Novos requisitos de assinatura também entraram em vigor e estão disponíveis aqui: https://techcommunity.microsoft.com/blog/hardware-dev-center/updated-microsoft-uefi-signing-requirements/1062916 Observe que passar por esta revisão do shim o isenta de auditorias de segurança anuais, desde que seu shim apenas repasse para bootloaders de código aberto.

Dica: consulte o diretório docs neste repositório para obter orientações sobre envio e como ter seu shim assinado.

Aqui está o modelo:


Qual organização ou pessoas estão solicitando a assinatura?


Nome da organização e site:
[seu texto aqui]


Quais são os dados legais que comprovam a autenticidade da organização?

Os revisores devem conseguir verificar facilmente que sua organização é uma entidade legal, para evitar abusos. Forneça as informações que possam comprovar a autenticidade com certeza.


Registros comerciais/fiscais ou equivalentes:
(um link para a entrada da organização no registro de sua jurisdição serve)

[seu texto aqui]

Os detalhes públicos de sua organização e do emissor no certificado EV usado para assinar arquivos .cab no Serviço de Assinatura de Arquivos do Centro de Desenvolvimento de Hardware da Microsoft.
(não o certificado CA incorporado no seu binário shim)

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

root@kitploit:~
*******************************************************************************
### Para qual produto ou serviço é este?
*******************************************************************************
seu texto aqui

*******************************************************************************
### Qual é a justificativa de que isso realmente precisa ser assinado para que todo o mundo possa inicializá-lo?
*******************************************************************************
seu texto aqui

*******************************************************************************
### Por que você não pode reutilizar o shim de outra distribuição que já está assinado?
*******************************************************************************
seu texto aqui

*******************************************************************************
### Quem é o contato principal para atualizações de segurança, etc.?
Os contatos de segurança precisam ser verificados antes que o shim possa ser aceito. Para solicitações subsequentes, a verificação de contato só é necessária se os contatos de segurança ou suas chaves PGP tiverem mudado desde a última verificação bem-sucedida.

Um revisor autorizado iniciará a verificação de contato enviando a cada contato de segurança um e-mail criptografado com PGP contendo palavras aleatórias.
Você será solicitado a postar o conteúdo desses e-mails em seu problema `shim-review` para provar a propriedade dos endereços de e-mail e chaves PGP.
Por favor, faça upload das chaves PGP para um keyserver conhecido, como keyserver.ubuntu.com, e/ou inclua-as na revisão como um arquivo .asc, e aponte para elas aqui.

*******************************************************************************
- Nome:
- Cargo:
- Endereço de e-mail:
- Impressão digital da chave PGP:
- Localização do arquivo/keyserver:

*******************************************************************************
### Quem é o contato secundário para atualizações de segurança, etc.?
*******************************************************************************
- Nome:
- Cargo:
- Endereço de e-mail:
- Impressão digital da chave PGP:
- Localização do arquivo/keyserver:

*******************************************************************************
### Esses binários foram criados a partir do tarball da versão 16.1 do shim?
Por favor, crie seus binários shim a partir do arquivo tar da versão 16.1 do shim: https://github.com/rhboot/shim/releases/download/16.1/shim-16.1.tar.bz2

Isso corresponde a https://github.com/rhboot/shim/releases/tag/16.1 e contém o código fonte apropriado do gnu-efi.

Certifique-se de que o tarball está correto verificando a soma de verificação do seu download
(SHA256, SHA512) com as seguintes:```
46319cd228d8f2c06c744241c0f342412329a7c630436fce7f82cf6936b1d603  shim-16.1.tar.bz2
ca5f80e82f3b80b622028f03ef23105c98ee1b6a25f52a59c823080a3202dd4b9962266489296e99f955eb92e36ce13e0b1d57f688350006bba45f2718f159fb  shim-16.1.tar.bz2

Certifique-se de que verificou que o seu processo de compilação usa esse ficheiro como fonte da verdade (excluindo correções externas) e que o seu checksum corresponde. Também pode validar melhor o lançamento verificando a assinatura PGP: existe uma assinatura destacada

O lançamento é assinado pelo mantenedor Peter Jones – a sua chave mestra tem a impressão digital B00B48BC731AA8840FED9FB0EED266B70F4FEF10 e a subchave de assinatura na assinatura aqui tem a impressão digital 02093E0D19DDE0F7DFFBB53C1FD3F540256A1372. Uma cópia da sua chave pública está incluída aqui para referência: pjones.asc

Depois de ter a certeza de que o tarball que está a usar está correto e autêntico, confirme aqui com um simples sim.

Um guia curto sobre como verificar chaves públicas e assinaturas deve estar disponível no diretório docs.


[seu texto aqui]


URL para um repositório que contém o código exato que foi compilado para resultar no seu binário:

Dica: Se anexar todas as correções e modificações que estão a ser usadas na sua aplicação, pode apontar para o URL da sua aplicação aqui (https://github.com/YOUR_ORGANIZATION/shim-review).

Também pode apontar para os seus servidores git personalizados, onde o código está hospedado.


[seu url aqui]


Que correções estão a ser aplicadas e porquê:

Mencione todas as correções externas e modificações do processo de compilação que são usadas durante o seu processo de compilação, que tornam o seu binário shim exatamente o que publicou como parte desta aplicação.


[seu texto aqui]


Tem o bit NX definido no seu shim? Se sim, toda a sua stack de arranque é compatível com NX e que testes fez para garantir essa compatibilidade?

Consulte https://techcommunity.microsoft.com/t5/hardware-dev-center/nx-exception-for-shim-community/ba-p/3976522 para mais detalhes sobre a assinatura do shim sem o bit NX.


[seu texto aqui]


Que implementação exata de Secure Boot no GRUB2 tem? (Ou o verificador shim_lock do GRUB2 upstream ou a implementação downstream semelhante à RHEL/Fedora/Debian/Canonical)

Ignore isto, se não estiver a usar GRUB2.


[seu texto aqui]


Tem correções para todas as seguintes CVEs do GRUB2 aplicadas?

Ignore isto, se não estiver a usar GRUB2; caso contrário, certifique-se de que estas estão presentes e confirme com sim.

  • Julho de 2020 - BootHole
    • Detalhes: 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
  • Março de 2021
    • Detalhes: 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 (se estiver a distribuir o módulo shim_lock)
    • CVE-2021-20225
    • CVE-2021-20233
  • Junho de 2022
    • Detalhes: https://lists.gnu.org/archive/html/grub-devel/2022-06/msg00035.html, aumento SBAT para 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
  • Novembro de 2022
    • Detalhes: https://lists.gnu.org/archive/html/grub-devel/2022-11/msg00059.html, aumento SBAT para 3
    • CVE-2022-2601
    • CVE-2022-3775
  • Outubro de 2023 - vulnerabilidades NTFS
    • Detalhes: https://lists.gnu.org/archive/html/grub-devel/2023-10/msg00028.html, aumento SBAT para 4
    • CVE-2023-4693
    • CVE-2023-4692
  • Fevereiro de 2025
    • Detalhes: https://lists.gnu.org/archive/html/grub-devel/2025-02/msg00024.html, aumento SBAT para 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

[seu texto aqui]


Se o shim está a carregar o bootloader GRUB2, e se estas correções foram aplicadas, a geração SBAT global upstream no seu binário GRUB2 está definida para 5?

Ignore isto, se não estiver a usar GRUB2; caso contrário, tem uma entrada no seu binário GRUB2 semelhante a:
grub,5,Free Software Foundation,grub,GRUB_UPSTREAM_VERSION,https://www.gnu.org/software/grub/?


[seu texto aqui]


Os hashes antigos dos shims foram fornecidos à Microsoft para verificação e para serem adicionados a futuras atualizações DBX?

A sua nova cadeia de confiança impede o arranque de compilações antigas do GRUB2 afetadas pelas CVEs?

Se não teve nenhum shim assinado anteriormente, diga-o aqui. Caso contrário, um simples sim serve.


[seu texto aqui]


Se a sua cadeia de confiança de arranque inclui um kernel Linux:

O commit upstream 1957a85b0032a81e6482ca4aab883643b8dae06e "efi: Restrict efivar_ssdt_load when the kernel is locked down" está aplicado?

O commit upstream 75b0cea7bf307f362057cc778efe89af4c615354 "ACPI: configfs: Disallow loading ACPI tables when locked down" está aplicado?

O commit upstream eadb2f47a3ced5c64b23b90fd2a3463f63726066 "lockdown: also lock down previous kgdb use" está aplicado?

Dica: os kernels upstream devem ter todos estes aplicados, mas se distribuir a sua própria versão de kernel mais antiga e fortemente modificada, mantida separadamente do upstream, isto pode não ser o caso.
Se estiver a distribuir um kernel mais antigo, verifique as suas fontes; talvez não tenha todas as correções, mas distribua uma configuração que não exponha o(s) problema(s).


[seu texto aqui]


Como é que o seu kernel assinado impõe o lockdown quando o seu sistema é executado com Secure Boot ativado?

Dica: Se não o fizer, é improvável que assinemos o seu shim.


[seu texto aqui]


Compila o seu kernel assinado com correções locais adicionais? O que fazem elas?


[seu texto aqui]


Usa uma chave efémera para assinar módulos do kernel?

Se não, descreva como garante que uma compilação do kernel não carrega módulos compilados para outro kernel.


[seu texto aqui]


Se usa a funcionalidade vendor_db de fornecer múltiplos certificados e/ou hashes, descreva brevemente a sua configuração de certificados.

Se existirem hashes de lista de permissões, forneça os binários exatos para os quais os hashes são criados através de um serviço de partilha de ficheiros, disponível publicamente com acesso anónimo para verificação.


[seu texto aqui]


Se está a reutilizar o certificado CA do seu último binário shim, precisará de adicionar os hashes dos binários GRUB2 anteriores expostos às CVEs mencionadas anteriormente ao vendor_dbx no shim. Descreva a sua estratégia.

Isto garante que o seu novo shim+GRUB2 não pode mais encadear esses binários GRUB2 mais antigos com problemas.

Se esta é a sua primeira aplicação ou está a usar um novo certificado CA, por favor diga-o aqui.


[seu texto aqui]


O Dockerfile no seu repositório é a receita para reproduzir a construção do seu binário shim?

Um revisor deve ser sempre capaz de executar docker build . para obter o binário exato que anexou na sua aplicação.

Dica: Prefira usar pacotes congelados para a sua toolchain, pois uma atualização do GCC, binutils, gnu-efi pode resultar na construção de um binário shim com um checksum diferente.

Se os seus binários shim não podem ser reproduzidos usando o Dockerfile fornecido, explique por que esse é o caso, quais seriam as diferenças e que ambiente de compilação (SO e toolchain) está a ser usado para reproduzir esta compilação? Nesse caso, escreva um guia detalhado de como configurar este ambiente de compilação a partir do zero.


[seu texto aqui]


Que ficheiros neste repo são os logs da sua compilação?

Isto deve incluir logs para criar os buildroots, aplicar correções, fazer a compilação, criar os arquivos, etc.


[seu texto aqui]


Que alterações foram feitas na cadeia de arranque seguro da distribuição desde que o seu SHIM foi assinado pela última vez?

Por exemplo, assinar novas variantes de kernel, UKI, systemd-boot, novos certificados, novo CA, etc..

Ignore isto, se esta é a sua primeira aplicação para ter o shim assinado.


[seu texto aqui]


Qual é o hash SHA256 do seu binário shim final?


[seu texto aqui]


Como gere e protege as chaves usadas no seu shim?

Descreva a estratégia de segurança que é usada para a proteção de chaves. Isto pode variar desde o uso de tokens de hardware como HSMs ou Smartcards, cofres isolados, cofres físicos, a outras boas práticas.


[seu texto aqui]


Usa certificados EV como certificados embutidos no shim?

Um sim ou não serve. Não há penalização para o último.


[seu texto aqui]


Está a embutir um certificado CA no seu shim?

Um sim ou não serve. Não há penalização para o último. No entanto, se sim: esse certificado inclui as restrições básicas X509v3 para dizer que é uma CA? Consulte a documentação para mais orientações sobre isto.


[seu texto aqui]


Adiciona uma entrada SBAT específica do fornecedor à secção SBAT em cada binário que suporta metadados SBAT (GRUB2, fwupd, fwupdate, systemd-boot, systemd-stub, shim + todos os binários shim filhos)?

Forneça as entradas SBAT exatas para todos os binários que está a arrancar diretamente através do shim.

Dica: A história do SBAT e mais informações sobre como funciona podem ser encontradas aqui. Esse documento é grande, por isso, para apenas alguns exemplos, consulte SBAT.example.md

Se está a usar uma implementação downstream do GRUB2 (por exemplo, do Fedora ou Debian), certifique-se de que preserva as entradas SBAT deles e que anexa as suas (não substitua as deles) para simplificar a revogação.

Lembre-se de publicar as entradas de todos os binários. Além do seu bootloader, pode também estar a distribuir, por exemplo, um atualizador de firmware, que também terá estas.

Dica: execute objcopy --dump-section .sbat=/dev/stdout SEU_BINÁRIO_EFI para obter estas entradas. Cole-as aqui. De preferência, envolva cada listagem com três acentos graves (```), para que sejam exibidos corretamente.


[seu texto aqui]


Se o shim está a carregar o bootloader GRUB2, que módulos estão incorporados na sua imagem GRUB2 assinada?

Ignore isto, se não estiver a usar GRUB2.

Dica: trata-se dos módulos que estão no próprio binário, não os ficheiros .mod no seu sistema de ficheiros.


[seu texto aqui]


Se está a usar systemd-boot em arm64 ou riscv, a correção para carregamento não verificado de Devicetree Blob está incluída?


[seu texto aqui]


Qual é a origem e o número de versão completo do seu bootloader (GRUB2 ou systemd-boot ou outro)?


[seu texto aqui]


Se o seu shim inicia outros componentes além do seu bootloader, forneça mais detalhes sobre o que é iniciado.

Dica: O caso mais comum aqui será um atualizador de firmware como o fwupd.


[seu texto aqui]


Se o seu GRUB2 ou systemd-boot inicia outros binários que não o kernel Linux em modo SecureBoot, forneça mais detalhes sobre o que é iniciado e como impõe o lockdown do Secureboot.

Ignore isto, se não estiver a usar GRUB2 ou systemd-boot.


[seu texto aqui]


Como é que os componentes iniciados impedem a execução de código não autenticado?

Resuma em uma ou duas frases como funciona a sua cadeia de arranque segura num nível superior.


[seu texto aqui]


O seu shim carrega algum loader que suporta carregar kernels não assinados (por exemplo, certas configurações do GRUB2)?


[seu texto aqui]


Que kernel está a usar? Que correções e configuração inclui para impor o Secure Boot?


[seu texto aqui]


Que contribuições fez para nos ajudar a rever as aplicações de outros candidatos?

O processo de revisão é um esforço de revisão por pares e a melhor maneira de ter a sua aplicação revista mais rapidamente é ajudar a rever as outras. Na maioria dos casos, somos voluntários a trabalhar nesta plataforma no nosso tempo livre, em vez de sermos empregados e pagos para rever aplicações durante o nosso horário de trabalho.

Um período razoável de espera por uma revisão pode chegar a 2-3 meses. Ajudar-nos é a melhor maneira de encurtar este período. Quanto mais ajuda recebermos, mais rápido e mais suave as coisas funcionarão.

Para recém-chegados, as aplicações marcadas como fáceis de rever são recomendadas para iniciar o processo de contribuição.


[seu texto aqui]


Adicione qualquer informação adicional que considere que possamos precisar para validar esta aplicação de assinatura de shim.


[seu texto aqui]

Baixar ferramenta
  • CVE-2024-45783
  • 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