Platbox
Ferramenta de Avaliação de UEFI e SMM
Funcionalidades
Platbox é uma ferramenta que auxilia na avaliação da segurança da plataforma:
- Despeja os registradores da plataforma que são interessantes do ponto de vista de segurança
- Travas de Flash
- Travas de MMIO e Remapeamento
- Base e Travas de SMM
- MSRs
- Acesso RW ao espaço de configuração PCI dos dispositivos.
- RW para memória física e memória virtual.
- Permite alocar memória física e mapear memória para o modo de usuário.
- Ler e Escrever MSRs.
- Despejar conteúdo da Flash SPI (BIOS) em um arquivo.
- Fuzzer SMI básico simples.
- Despejar script de boot S3 (do SMM-Lockbox) em um arquivo.
- Despejar Mapa de Memória EFI (apenas Linux por enquanto).
- Listar variáveis UEFI.
- Suporta Linux e Windows.
- Suporta Intel e AMD.

Estrutura do Projeto
O projeto está dividido da seguinte forma:
- PlatboxDrv: drivers de kernel usados para Linux e Windows.
- PlatboxLib: o componente em modo de usuário que carrega o driver de kernel e fornece acesso a todas as funcionalidades listadas anteriormente.
- PlatboxCli: um cliente de console que utiliza a biblioteca.
- Pocs: um exemplo de um programa que utiliza funcionalidades da biblioteca.
Etapas de Compilação
Windows
mkdir build
cd build
cmake -G "Visual Studio 17 2022" -A x64 -S .. -B "build64"
cmake --build build64/ --target platbox_cli
Compilação de Lançamento
cmake -G "Visual Studio 17 2022" -A x64 -S .. -B "build64"
cmake --build build64/ --target platbox_cli --config Release