
Ring -4 a Ring 0: plataforma de pesquisa de firmware para ofensiva e defesa. Nós criamos os bootkits, depois nós os detectamos. Ciclo fechado. Confiança zero no silício.
"Barzakh" (برزخ) — uma barreira entre dois reinos; a fronteira invisível que separa o mundo dos vivos do mundo dos espíritos. Aqui, ela representa a barreira entre ofensa e defesa, entre vulnerabilidade e detecção.
A mais abrangente plataforma de código aberto para pesquisa em segurança de firmware UEFI
Emulação de ofensiva do Ring 0 ao Ring -4 | 132 motores de detecção | Validação de adversários em ciclo fechado
⚠️ PROJETO DE PESQUISA ACADÊMICA — APENAS SEGURANÇA DEFENSIVA
Esta plataforma existe para estudar ameaças de firmware e construir defesas contra elas. Ela contém emulações de ofensiva ativas com kill-switches enraizados em hardware. Ao acessar este repositório, você concorda em usá-lo exclusivamente para pesquisa de segurança legítima e fins educacionais.
O Barzakh é uma plataforma de pesquisa em segurança de firmware de pilha completa que modela TTPs reais de bootkit em todos os anéis de privilégio — desde drivers UEFI DXE (Ring 0) passando por SMM, Intel ME, AMD PSP, controladores DMA da plataforma (Ring -3) e ameaças microarquiteturais da CPU (Ring -4). Ele associa cada técnica de ofensiva a um motor de detecção correspondente, criando um sistema em ciclo fechado no qual cada ataque é tanto reproduzível quanto detectável.
Principais capacidades:
barzakh-server serve um dashboard web e uma API JSON (porta 8420) com varreduras agendadas e tendências de pontuação de riscobarzakh-agent monitora alvos de firmware, registra histórico e encaminha descobertas para SIEMs (Elastic ECS, ArcSight CEF, QRadar LEEF) ou webhooks| Ameaça | Técnica | Cobertura do Barzakh |
|---|---|---|
| BlackLotus (CVE-2023-24932) | Bypass do Secure Boot via shim vulnerável | Detector blacklotus + payload blacklotus_mok |
| LogoFAIL (CVE-2023-40238) | Overflow do parser de imagens no firmware UEFI | Detector logofail + payload logofail_image |
| PixieFail (CVE-2023-45229+) | Overflows de buffer na pilha de rede no EDK2 | Detector pixiefail + payload pixiefail_dhcp |
| CosmicStrand | Persistência DXE em flash SPI | Integridade de FV + região SPI + detector de persistência |
| LoJax | Primeiro implante SPI in-the-wild | Detector ME/SPI + análise do descritor de flash |
| MoonBounce | DXE core modificado na flash SPI | Hook de Boot Services + diffing de volumes de firmware |
| MosaicRegressor | Framework de persistência UEFI | Multi-estágio: adulteração de FV + injeção de PE + trampoline |
| Hacking Team (RCS) | Rootkit UEFI com Option ROM | Detector de Option ROM + análise de expansão PCI |
| FinSpy | Modificação do bootloader UEFI | Interceptação de ExitBootServices + varredura de memória |
| Bootkitty (2024) | Primeiro bootkit UEFI para Linux, bypass de assinatura do GRUB | Detector linux_bootchain + payload bootkitty_grub_patch |
| CVE-2024-7344 | Reloader assinado carrega payloads PE não assinados | Detector reloader + payload secureboot_reloader |
| CVE-2023-1017/1018 | Overflow de buffer na implementação de referência do TPM 2.0 | Detector tpm_command + payload tpm_ref_overflow |
21 módulos EDK II em 3 arquiteturas (x86_64, AArch64, RISC-V) emulando todas as técnicas de persistência de firmware conhecidas:
| Módulo | Ring | Técnica |
|---|---|---|
DxeInject | 0 | Injeção de driver na fase DXE — hooks de LoadImage/StartImage + SetVariable, persistência em FV, emulador de flash SPI com backends FVB2/Boot Guard, kill-switches |
ExitBootHook | 0 | Interceptação de ExitBootServices + hooking de MSR |
SpiChipsetEmulator | -1 | Simulação da interface SPI em nível de chipset |
SmmPersistence | -1 | Instalação de handler SMM e persistência em SMRAM |
CapsuleHijack | -1 | Abuso do mecanismo de atualização de cápsulas UEFI |
AcpiTableInject | -2 | Injeção de tabela ACPI para acesso à memória do kernel |
VirtualAddressMapHook | -2 | Hooking de EFI Runtime Services |
PciOptionRom | -2 | Implantação de Option ROM PCI |
MeSpiManipulation | -3 | Manipulação da região de flash SPI do Intel ME |
HeciIntercept | -3 | Interceptação do canal de comunicação Host-ME |
MeDmaAttack | -3 | DMA iniciado pelo ME para a memória do host |
AmtSolChannel | -3 | Canal encoberto Serial-over-LAN do AMT |
FtpmCommandForge | -3 | Falsificação de comandos do fTPM da AMD via mailbox do PSP |
| Módulo | Técnica |
|---|---|
Aarch64DxeInject | Injeção DXE em ARM64 com payloads cientes de EL |
ExceptionVectorHook | Relocação da tabela de exceções VBAR_EL1 |
El3SecureMonitor | Interceptação de chamadas ao Secure Monitor EL3 |
TzascManipulation | Bypass do TrustZone Address Space Controller |
DeviceTreeInject | Modificação do Device Tree Blob para persistência |
IbootTrustChain | Subversão da cadeia de confiança do iBoot da Apple |
SepMailboxIntercept | Interceptação do mailbox do SEP (Secure Enclave) da Apple |
| Módulo | Técnica |
|---|---|
RiscVDxeInject | Injeção de firmware em modo M em plataformas RISC-V |
Todos os módulos de ataque são fornecidos com SIMULATION_MODE = TRUE — eles modelam o comportamento sem executar operações reais de hardware. Consulte docs/LAB_TESTING.md para o caminho controlado até testes em hardware real.