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
CVE-2025-4275 — Análise e exploração do CVE-2025-4275 (Hydr0ph0bia), uma fraqueza na cadeia de confiança do Secure Boot onde variáveis de firmware são usadas para introduzir certificados controlados pelo atacante que são confiados por componentes de boot subsequentes. | Kitploit
Ferramentas/GitHubGitHub/themalwareguardian/cve-2025-4275
Mecanismos de PersistênciaAnálise de VulnerabilidadesExploraçãoEngenharia ReversaSegurança de HardwareAnálise de BináriosAprendizado e EducaçãoAnálise de Firmware

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 →
GitHub
themalwareguardian/cve-2025-4275

CVE-2025-4275

Análise e exploração do CVE-2025-4275 (Hydr0ph0bia), uma fraqueza na cadeia de confiança do Secure Boot onde variáveis de firmware são usadas para introduzir certificados controlados pelo atacante que são confiados por componentes de boot subsequentes.

Ver Repositório
7há 26 diasAinda não revisado
Compartilhar

🐞 CVE-2025-4275: Hydroph0bia SecureFlash Certificate Shadowing

Este repositório contém material de pesquisa relacionado ao CVE-2025-4275, uma vulnerabilidade de bypass do Secure Boot que afeta firmwares compatíveis com UEFI baseados no Insyde H2O. Ele centraliza a análise técnica da vulnerabilidade, os binários envolvidos na questão, bem como documentação e ferramentas destinadas a ajudar pesquisadores a compreender melhor, estudar e experimentar essa vulnerabilidade em contextos tanto do mundo real quanto educacionais.




📑 Índice

  • Descoberta Original & Referências Oficiais
  • Visão Geral da Vulnerabilidade (Análise, Exploração, PoC)
  • 📂
    • NVRAM & Secure Boot no Insyde H2O
    • Shadowing de Variáveis NVRAM
    • Explorando a Vulnerabilidade
    • Fornecedores Afetados



🧠 Descoberta Original & Referências Oficiais

O CVE-2025-4275 foi originalmente descoberto e divulgado de forma responsável por Nikolaj Schlej, com a coordenação realizada através do CERT/CC. Referências oficiais e da comunidade:

  • Blog do Pesquisador - Parte 1 (bypass do Secure Boot)
    • Hydroph0bia: A trivial SecureBoot bypass for UEFI-compatible firmware based on Insyde H2O, part 1
  • Blog do Pesquisador - Parte 2 (tomada de controle do volume DXE)
    • Hydroph0bia: A bit more than just a trivial SecureBoot bypass for UEFI-compatible firmware based on Insyde H2O, part 2
  • Blog do Pesquisador - Parte 3 (análise do patch)
    • Hydroph0bia: A fixed SecureBoot bypass for UEFI-compatible firmware based on Insyde H2O, part 3
  • Aviso oficial da Insyde (10 de junho de 2025)
    • INSYDE-SA-2025002
  • Coleção de referências da comunidade
    • Awesome Bring Your Own Vulnerable UEFI Application



🧪 Visão Geral da Vulnerabilidade (Análise, Exploração, PoC)

O CVE-2025-4275, apelidado de Hydroph0bia (um trocadilho com Insyde H2O), é uma vulnerabilidade de bypass do Secure Boot que afeta firmwares compatíveis com UEFI construídos sobre a plataforma Insyde H2O. A vulnerabilidade decorre de uma falha de design no subsistema de atualização de firmware: um certificado de assinatura que deveria ser carregado em uma variável NVRAM volátil por um driver confiável pode, em vez disso, ser pré-populado como uma variável não volátil por um atacante, fazendo com que o firmware confie em código externo arbitrário como se tivesse sido assinado pela própria Insyde.

O que torna essa vulnerabilidade particularmente impactante é a combinação de sua simplicidade e seu alcance. A exploração exige apenas privilégios de administrador local, suficientes para gravar arquivos na EFI System Partition e criar variáveis NVRAM, e afeta qualquer sistema executando firmware Insyde H2O construído antes de 10 de junho de 2025. O ataque é agnóstico em relação ao OEM, ou seja, aplica-se amplamente a Acer, Dell, Framework, Fujitsu, HP, Huawei, Lenovo e qualquer outro fornecedor que distribua firmware baseado em Insyde.


🔐 NVRAM & Secure Boot no Insyde H2O

A UEFI fornece uma interface abstrata para armazenamento de variáveis não voláteis conhecida como NVRAM. Uma peculiaridade antiga dessa interface é que uma variável não volátil com um determinado nome e GUID pode coexistir com, e sombrear, uma variável volátil com a mesma identidade. Se o código espera uma variável volátil (criada em tempo de execução por um driver confiável), mas uma variável não volátil com o mesmo nome já existe, a versão não volátil pode ser consumida em seu lugar. Esse comportamento, às vezes chamado de shadowing de variáveis NVRAM, é a base dessa vulnerabilidade.

O subsistema de atualização de firmware do Insyde H2O depende de duas variáveis NVRAM para comunicar um certificado de assinatura entre drivers:

  • SecureFlashSetupMode: uma variável de gatilho lida pelo SecurityStubDxe para ativar a verificação baseada em certificado.
  • SecureFlashCertData: uma variável que carrega o certificado de assinatura no formato EFI_SIGNATURE_LIST, usada para autenticar o aplicativo de atualização de firmware (isflash.bin).

No fluxo esperado, ambas as variáveis são criadas como voláteis pelo BdsDxe durante o processo de atualização de firmware. O SecurityStubDxe então as consome para verificar se o isflash.bin é assinado pelo certificado da Insyde antes de permitir sua execução. A falha crítica é que o SecurityStubDxe não valida se essas variáveis são voláteis ou não voláteis antes de confiar em seu conteúdo.


💣 Shadowing de Variáveis NVRAM

A causa raiz do CVE-2025-4275 é que o SecurityStubDxe usa uma função de biblioteca genérica para ler SecureFlashSetupMode e SecureFlashCertData em vez de chamar o serviço de runtime GetVariable diretamente. Isso significa que ele não consegue distinguir entre uma variável volátil definida por um BdsDxe confiável e uma variável não volátil pré-populada por um atacante (para uma explicação detalhada dessa técnica específica, consulte o seguinte repositório "TheMalwareGuardian: Exploitation Technique NVRAM Variable Shadowing").

Como resultado, um atacante com privilégios de administrador local pode:

  • Criar uma variável de gatilho SecureFlashSetupMode não volátil antes do início do fluxo de atualização de firmware.
  • Criar uma variável SecureFlashCertData não volátil contendo um certificado controlado pelo atacante no formato EFI_SIGNATURE_LIST.

No próximo boot, o SecurityStubDxe encontrará ambas as variáveis, tratá-las-á como legítimas e confiará em qualquer executável UEFI assinado com o certificado do atacante, efetivamente contornando o Secure Boot por completo. Nenhuma interação em nível de firmware, acesso a hardware ou exploração de uma primitiva de corrupção de memória é necessária. A superfície de ataque é simplesmente a interface de escrita da NVRAM da UEFI, acessível a partir de uma sessão privilegiada do SO.


💥 Encontrando & Explorando a Vulnerabilidade

A vulnerabilidade foi descoberta durante uma revisão de segurança de um HUAWEI MateBook 14 2023, executando um firmware baseado em Insyde H2O com Secure Boot, senha de firmware e outros recursos de segurança modernos habilitados. Apesar dessas proteções, a exploração completa foi alcançada usando apenas privilégios de administrador em nível de SO.

Baixar ferramenta

O estágio inicial de exploração requer uma pequena ferramenta Windows (SFCD) que:

  • Adquire o privilégio SeSystemEnvironmentPrivilege necessário para chamar SetFirmwareEnvironmentVariable.
  • Cria a variável não volátil SecureFlashCertData contendo um certificado controlado pelo atacante.
  • Cria a variável de gatilho não volátil SecureFlashSetupMode definida como 1.

Após reiniciar, o SecurityStubDxe lê ambas as variáveis e começa a confiar em qualquer coisa assinada pelo certificado do atacante. Uma demonstração prática desse primeiro estágio é o carregamento de um driver UEFI CrScreenshotDxe assinado com certificado personalizado, que captura com sucesso uma captura de tela da tela do BIOS Setup, com o Secure Boot habilitado, como prova de execução de código arbitrário no ambiente de firmware.

Uma nuance importante: a variável IhisiParamBuffer presente no CVE-2025-3052 geralmente é bloqueada em plataformas baseadas em Insyde, tornando a exploração direta mais difícil nelas. O CVE-2025-4275 não exige que tal variável seja gravável e não depende de nenhuma primitiva de corrupção de memória. O ataque funciona em qualquer sistema Insyde H2O onde o atacante possa gravar na NVRAM, que é o comportamento padrão em firmware não corrigido.


🎯 Ataque (Parte 1 - Bypass do Secure Boot)

O seguinte descreve o ataque de ponta a ponta para o estágio inicial de bypass do Secure Boot, assumindo um atacante privilegiado com acesso em nível de SO:

  1. Gerar um certificado personalizado: O atacante gera um par de chaves e envolve o certificado público no formato EFI_SIGNATURE_LIST.
  2. Definir as variáveis NVRAM: Usando a ferramenta SFCD a partir de uma sessão de Administrador do Windows, o atacante cria as variáveis não voláteis SecureFlashCertData (contendo o certificado personalizado) e SecureFlashSetupMode (definida como 1).
  3. Assinar um payload: O atacante assina qualquer aplicativo ou driver UEFI com sua chave privada personalizada.
  4. Registrar o payload: O payload assinado é registrado como um driver UEFI através do mecanismo de opção de boot DriverXXXX, ou colocado como uma entrada de boot no UEFI Boot Manager.
  5. Reiniciar: No próximo boot, o SecurityStubDxe lê as variáveis NVRAM sombreadas, confia no certificado do atacante e permite que o payload assinado seja executado independentemente do estado do Secure Boot.

🔺 Escalação (Parte 2 - Tomada de Controle do Volume DXE)

O bypass do Secure Boot alcançado na Parte 1 abre a porta para um segundo estágio significativamente mais impactante: a tomada de controle completa do volume DXE, alcançada ao sequestrar o próprio processo de atualização de firmware da Insyde.

O subsistema de atualização de firmware no Insyde H2O funciona da seguinte forma: o atualizador do SO coloca uma cápsula de firmware e o aplicativo atualizador assinado (isflash.bin) na EFI System Partition, então define um flag SecureFlashTrigger=1 dentro da variável NVRAM SecureFlashInfo. No próximo boot, o firmware detecta o gatilho, desabilita as proteções de escrita do flash durante o PEI e, eventualmente, chama LoadImage em isflash.bin após verificá-lo contra o certificado da Insyde, o mesmo mecanismo de certificado que o CVE-2025-4275 permite a um atacante substituir.

Três etapas técnicas adicionais são necessárias para escalar do bypass do Secure Boot para a tomada de controle do DXE:

  • Contornar a exclusão de SecureFlashCertData : O SecureFlashDxe tenta excluir a variável de certificado antes de chamar LoadImage, usando uma chamada SetVariable naked que não consegue remover variáveis especiais Insyde Authenticated Write (AW). O atacante redefine o certificado como uma variável especial com atributo AW para sobreviver a essa tentativa de exclusão.
  • Desbloquear o InsydeVariableLock: O VariableRuntimeDxe define um flag global (InsydeVariableLock) que impede a criação de variáveis AW após o início do BDS. Ao registrar um driver UEFI via DriverXXXX (que é executado antes desse bloqueio ser ativado), o atacante localiza o flag na memória analisando a cadeia de hooks BdsArchProtocol->Entry e o inverte de 1 para 0.
  • Definir SecureFlashInfo: A variável SecureFlashInfo é normalmente protegida pelo VariableLockProtocol, mas esse bloqueio só é ativado em ReadyToBoot. Um driver registrado via DriverXXXX é executado antes desse evento e pode definir livremente SecureFlashTrigger=1 para iniciar o fluxo de atualização de firmware.

Uma vez que todas as três condições sejam atendidas, o firmware reinicia em modo de atualização, carrega o isflash.bin personalizado do atacante (assinado com o certificado do atacante, agora confiável devido ao SecureFlashCertData sombreado) e o executa com o flash SPI desprotegido. A partir dessa posição, o atacante pode gravar conteúdo arbitrário no volume DXE, instalando drivers persistentes ou modificando componentes de firmware de maneiras que sobrevivem à reinstalação do SO e à maioria dos controles de segurança.


🩹 Correção (Parte 3 - Análise do Patch)

A Insyde lançou uma correção como parte do ciclo de patches de 10 de junho de 2025. A correção foi analisada comparando duas atualizações consecutivas de BIOS da Dell (uma pré-patch, uma pós-patch) usando relatórios gerados pelo UEFITool e diffing binário via Diaphora.

As mudanças concentraram-se em três drivers:

  • BdsDxe: Substituiu a chamada naked gRT->SetVariable (que não conseguia remover variáveis especiais com atributo AW) por uma chamada LibSetSecureVariable que usa comunicação SMM e pode remover tais variáveis.
  • SecureFlashDxe: Aplicou a mesma substituição por LibSetSecureVariable, adicionou exclusão explícita de SecureFlashSetupMode e SecureFlashCertData no ponto de entrada do driver, e registrou uma VariablePolicy para ambas as variáveis para bloquear sua criação a partir de código em nível de SO.
  • SecurityStubDxe: Correção menor não relacionada no manipulador de evento `ExitBootServices; o caminho central da vulnerabilidade permanece estruturalmente inalterado.

A correção é eficaz sob a suposição de que um atacante não pode contornar a VariablePolicy ou a LibSetSecureVariable. No entanto, a implementação padrão da VariablePolicy do EDK2 usa um flag global internamente, que é estruturalmente semelhante ao InsydeVariableLock derrotado na Parte 2. A edição física da NVRAM via hardware de programação SPI também contornaria a correção por completo, embora ataques físicos estejam convencionalmente fora do escopo dos modelos de ameaça do Secure Boot.

A remediação recomendada pelo pesquisador, remover completamente a NVRAM do mecanismo de retransmissão de certificados entre BdsDxe e SecurityStubDxe, foi tentada pela Insyde, mas causou regressões e foi adiada para um futuro ciclo de engenharia.


📦 Fornecedores Afetados

Qualquer fornecedor que distribua firmware baseado em Insyde H2O construído antes de 10 de junho de 2025 é potencialmente afetado. Status confirmado no momento da divulgação:

FornecedorStatus
DellCorrigido - atualizações de BIOS lançadas logo após o fim do embargo
LenovoVulnerável - correções anunciadas, entrega a partir de 2025-07-30
FrameworkVulnerável - nenhuma estimativa de entrega fornecida no momento da divulgação
AcerNenhum aviso ou correção publicado no momento da divulgação
FujitsuNenhum aviso ou correção publicado no momento da divulgação
HPNenhum aviso ou correção publicado no momento da divulgação
HuaweiFornecedor do dispositivo de teste original - status da correção desconhecido



🤝 Pesquisa & Colaboração

Trabalhando em algo semelhante? Pesquisando UEFI, segurança de Kernel, exploração ou outro tópico de segurança interessante? Se você precisa de ajuda para desenvolver um exploit, explorar uma técnica ou apenas trocar ideias, não hesite em entrar em contato. Estou sempre aberto a discutir pesquisas, ajudar no que puder e colaborar em projetos interessantes. Sinta-se à vontade para me contatar no LinkedIn.