# Platbox | UEFI And SMM Assessment Tool

**URL:** <https://onehack.st/t/platbox-uefi-and-smm-assessment-tool/242103>\
**Category:** Tools & Scripts\
**Tags:** tools\
**Created:** [May 29, 2023, 10:48pm UTC](https://onehack.st/t/platbox-uefi-and-smm-assessment-tool/242103 "2023-05-29T22:48:29Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![BlueHacker](https://onehack.st/user_avatar/onehack.st/bluehacker/32/174721_2.png) [@BlueHacker](https://onehack.st/u/BlueHacker)\
**Post date:** [May 29, 2023, 10:48pm UTC](https://onehack.st/t/platbox-uefi-and-smm-assessment-tool/242103/1 "2023-05-29T22:48:29Z")

</div>

![image](https://onehack.st/uploads/default/original/3X/0/f/0fd126e263d4dfc334a4d98a3b74556937f649a2.png)

# Platbox

UEFI and SMM Assessment Tool

## Features

Platbox is a tool that helps assessing the security of the platform:

- Dumps the platform registers that are interesting security-wise
  - Flash Locks
  - MMIO and Remapping Locks
  - SMM Base and Locks
  - MSRs

- RW access to the PCI configuration space of devices.
- RW to physical memory and virtual memory.
- Allows allocating physical memory and map memory to usermode.
- Read and Write MSRs.
- Dump SPI Flash content (BIOS) into a file.
- Basic dumb SMI Fuzzer.
- Dump S3 Bootscript (from SMM-Lockbox) into a file.
- Dump EFI Memory Map (Linux only for now).
- List UEFI variables.
- Supports Linux and Windows.
- Supports Intel and AMD.

### Example of ‘chipset’ command output for an AMD platform

[![Kiku](https://github.com/IOActive/Platbox/raw/main/example_chipset_output_amd.png)](https://github.com/IOActive/Platbox/blob/main/example_chipset_output_amd.png) [![Kiku](https://github.com/IOActive/Platbox/raw/main/example_chipset_output_amd2.png)](https://github.com/IOActive/Platbox/blob/main/example_chipset_output_amd2.png)

## Project Structure

The project is divided as follows:

- PlatboxDrv: kernel drivers used for Linux and Windows.
- PlatboxLib: the usermode component that loads the kernel driver and provides access to all the previously listed features.
- PlatboxCli: a console client that uses the library.
- Pocs: an example of a program using features from the libary.

## Compilation Steps

### Windows

```auto
mkdir build
cd build
cmake -G "Visual Studio 17 2022" -A x64 -S .. -B "build64"
cmake --build build64/ --target platbox_cli

```

#### Release Build

```auto
cmake -G "Visual Studio 17 2022" -A x64 -S .. -B "build64" 
cmake --build build64/ --target platbox_cli --config Release

```

## GitHub:

> **[GitHub - IOActive/Platbox: UEFI and SMM Assessment Tool](https://github.com/IOActive/Platbox)**
>
> UEFI and SMM Assessment Tool
