Platbox
Outil d'évaluation UEFI et SMM
Fonctionnalités
Platbox est un outil qui aide à évaluer la sécurité de la plateforme :
- Vide les registres de la plateforme intéressants du point de vue de la sécurité
- Flash Locks
- MMIO and Remapping Locks
- SMM Base and Locks
- MSRs
- Accès en lecture/écriture à l'espace de configuration PCI des périphériques.
- Accès en lecture/écriture à la mémoire physique et à la mémoire virtuelle.
- Permet d'allouer de la mémoire physique et de mapper la mémoire en mode utilisateur.
- Lecture et écriture des MSRs.
- Vide le contenu de la mémoire flash SPI (BIOS) dans un fichier.
- Fuzzer SMI basic dumb.
- Vide le script de démarrage S3 (à partir de SMM-Lockbox) dans un fichier.
- Vide la carte mémoire EFI (Linux seulement pour l'instant).
- Liste les variables UEFI.
- Support de Linux et Windows.
- Support d'Intel et AMD.

Structure du projet
Le projet est divisé comme suit :
- PlatboxDrv : pilotes noyau utilisés pour Linux et Windows.
- PlatboxLib : le composant en mode utilisateur qui charge le pilote noyau et donne accès à toutes les fonctionnalités listées précédemment.
- PlatboxCli : un client console qui utilise la bibliothèque.
- Pocs : un exemple de programme utilisant les fonctionnalités de la bibliothèque.
Étapes de compilation
Windows
mkdir build
cd build
cmake -G "Visual Studio 17 2022" -A x64 -S .. -B "build64"
cmake --build build64/ --target platbox_cli
Release Build
cmake -G "Visual Studio 17 2022" -A x64 -S .. -B "build64"
cmake --build build64/ --target platbox_cli --config Release