
Ring -4 a Ring 0: plataforma de investigación de firmware de ataque y defensa. Creamos los bootkits y luego los detectamos. Bucle cerrado. Confianza cero en el silicio.
"Barzakh" (برزخ) — una barrera entre dos reinos; la frontera invisible que separa el mundo de los vivos del mundo de los espíritus. Aquí representa la barrera entre la ofensiva y la defensa, entre la vulnerabilidad y la detección.
La plataforma de investigación de seguridad de firmware UEFI de código abierto más completa
Emulación ofensiva desde Ring 0 hasta Ring -4 | 132 motores de detección | Validación de adversarios en bucle cerrado
⚠️ PROYECTO DE INVESTIGACIÓN ACADÉMICA — SOLO SEGURIDAD DEFENSIVA
Esta plataforma existe para estudiar las amenazas de firmware y construir defensas contra ellas. Contiene emulaciones ofensivas activas con interruptores de seguridad de raíz de hardware. Al acceder a este repositorio, usted acepta utilizarlo únicamente con fines legítimos de investigación de seguridad y educativos.
Barzakh es una plataforma de investigación de seguridad de firmware de pila completa que modela TTPs de bootkits del mundo real a través de todos los anillos de privilegio — desde controladores UEFI DXE (Ring 0) hasta SMM, Intel ME, AMD PSP, controladores DMA de plataforma (Ring -3) y amenazas microarquitectónicas de CPU (Ring -4). Empareja cada técnica ofensiva con un motor de detección correspondiente, creando un sistema de bucle cerrado donde cada ataque es tanto reproducible como detectable.
Capacidades clave:
barzakh-server sirve un panel web y una API JSON (puerto 8420) con escaneos programados y tendencias de puntuación de riesgobarzakh-agent vigila objetivos de firmware, registra el historial y reenvía los hallazgos a SIEMs (Elastic ECS, ArcSight CEF, QRadar LEEF) o webhooks| Amenaza | Técnica | Cobertura de Barzakh |
|---|---|---|
| BlackLotus (CVE-2023-24932) | Omisión de Secure Boot mediante shim vulnerable | Detector blacklotus + payload blacklotus_mok |
| LogoFAIL (CVE-2023-40238) | Desbordamiento del analizador de imágenes en el firmware UEFI | Detector logofail + payload logofail_image |
| PixieFail (CVE-2023-45229+) | Desbordamientos de búfer en la pila de red en EDK2 | Detector pixiefail + payload pixiefail_dhcp |
| CosmicStrand | Persistencia DXE en la flash SPI | Integridad de FV + región SPI + detector de persistencia |
| LoJax | Primer implante SPI visto en la naturaleza | Detector ME/SPI + análisis del descriptor de flash |
| MoonBounce | DXE central modificado en la flash SPI | Hook de Boot Services + diferenciación de volúmenes de firmware |
| MosaicRegressor | Framework de persistencia UEFI | Multi-etapa: manipulación de FV + inyección de PE + trampolín |
| Hacking Team (RCS) | Rootkit UEFI con Option ROM | Detector de Option ROM + análisis de expansión PCI |
| FinSpy | Modificación del bootloader UEFI | Intercepción de ExitBootServices + escaneo de memoria |
| Bootkitty (2024) | Primer bootkit UEFI de Linux, omisión de firma de GRUB | Detector linux_bootchain + payload bootkitty_grub_patch |
| CVE-2024-7344 | Recargador firmado carga payloads PE sin firmar | Detector reloader + payload secureboot_reloader |
| CVE-2023-1017/1018 | Desbordamiento de búfer en la implementación de referencia de TPM 2.0 | Detector tpm_command + payload tpm_ref_overflow |
21 módulos EDK II en 3 arquitecturas (x86_64, AArch64, RISC-V) que emulan todas las técnicas de persistencia de firmware conocidas:
| Módulo | Anillo | Técnica |
|---|---|---|
DxeInject | 0 | Inyección de controladores en fase DXE — hooks de LoadImage/StartImage + SetVariable, persistencia en FV, emulador de flash SPI con backends FVB2/Boot Guard, kill-switches |
ExitBootHook | 0 | Intercepción de ExitBootServices + hooking de MSR |
SpiChipsetEmulator | -1 | Simulación de la interfaz SPI a nivel de chipset |
SmmPersistence | -1 | Instalación de manejadores SMM y persistencia en SMRAM |
CapsuleHijack | -1 | Abuso del mecanismo de actualización de cápsulas UEFI |
AcpiTableInject | -2 | Inyección de tablas ACPI para acceso a memoria del kernel |
VirtualAddressMapHook | -2 | Hooking de EFI Runtime Services |
PciOptionRom | -2 | Implantación de Option ROM PCI |
MeSpiManipulation | -3 | Manipulación de la región de flash SPI de Intel ME |
HeciIntercept | -3 | Intercepción del canal de comunicación Host-ME |
MeDmaAttack | -3 | DMA iniciado por ME hacia la memoria del host |
AmtSolChannel | -3 | Canal encubierto Serial-over-LAN de AMT |
FtpmCommandForge | -3 | Falsificación de comandos fTPM de AMD mediante el buzón de PSP |
| Módulo | Técnica |
|---|---|
Aarch64DxeInject | Inyección DXE en ARM64 con payloads conscientes de EL |
ExceptionVectorHook | Reubicación de la tabla de excepciones VBAR_EL1 |
El3SecureMonitor | Intercepción de llamadas al Secure Monitor de EL3 |
TzascManipulation | Omisión del TrustZone Address Space Controller |
DeviceTreeInject | Modificación del Device Tree Blob para persistencia |
IbootTrustChain | Subversión de la cadena de confianza de iBoot de Apple |
SepMailboxIntercept | Intercepción del buzón del SEP (Secure Enclave) de Apple |
| Módulo | Técnica |
|---|---|
RiscVDxeInject | Inyección de firmware en modo M en plataformas RISC-V |