Cyber security

TPM Sniffing – Unveiling Methods To Retrieve Bitlocker Keys Through Hardware Communication Channels

Retrieving Bitlocker keys from the TPM using SPI, I2C or LPC communications requires an understanding of the specific protocol supported by the TPM chip, as well as the device’s make and model.

Proper documentation and research are essential for successful key retrieval. This repo is to collaborate all the awesome resources and information hopefully into one place!

NOTE: I’m 100% sure that there is alot of blogs/data missing here, but please if you know of any and want to contribute, please DO a PR!

Introduction

Trusted Platform Module (TPM) is a hardware-based security chip that is often used to store encryption keys securely, including Bitlocker keys used for full disk encryption in Windows environments.

Retrieving these keys from the TPM can be achieved through various communication channels, although the specific method may vary depending on the device’s make and model.

Table: TPM Communication Methods

MakeModelModel NumberTPMChipsetProtocolLocationDebug HeadersBlog/ResearchExtractable
LenovoThinkpadL4401.2P24JPVSPLPCUnder KeyboardYesBlogYes
LenovoX1 CarbonGen 112.0ST33TPHF2XSPISPIUnder MotherboardTest Pads@NoobieDogYes
DellLattitudeE74501.2AT97SC3205SPIMotherboardNo@SecurityJonYes
DellLattitudeE54702.0NPCT650JAOYXSPIMotherboardYesBlogYes
DellLattitudeE54501.2AT97SC3205SPIMotherboardYesBlogYes
MicrosoftSurface Pro 32.0SLB9665TT2.0LPCUnder BatteryNoBlogYes
AsusTPM-M R2.02.0SLB9665TT2.0LPCYesVideoYes

Research

For further information and detailed instructions, refer to the provided blog posts and research documents.

A Deep Dive into TPM-based BitLocker Drive Encryption

TPM Sniffing

Extracting BitLocker keys from a TPM

Bypassing Bitlocker using a cheap logic analyzer on a Lenovo laptop

From Stolen Laptop to Inside the Company Network

Sniffing Bitlocker Keys on the SPI Bus

TPM 2.0: Extracting Bitlocker keys through SPI

Understanding TPM Sniffing Attacks

Breaking Bitlocker: Bypassing the Windows Disk Encryption

TPM Sniffing Attacks Against Non-Bitlocker Targets

Sniff, there leaks my BitLocker key

Bitlocker Attacks

BitCracker: BitLocker meets GPUs

TPM Fail

TPM Vulnerabilties

AMD TPM Exploit

Tools

A list of awesome tools for sniffing TPM data are listed below.

bitlocker-spi-toolkit

Pico-TPMSniffer

LPCClocklessAnalyzer

libsigrokdecoder_spi-tpm

IceStick LPC TPM Snigger

Trainings

Hands-on-security Bitlocker/TPM Hardware training Course

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

pgrep Command in Linux: Find and Filter Running Processes

The pgrep command in Linux finds the PIDs of running processes based on a name or other…

14 hours ago

unlink Command in Linux: Remove a Single File or Symlink

The unlink command in Linux removes a single file by deleting its directory entry. It is a…

14 hours ago

How to Check Open Ports in Linux: nmap, netcat, and Bash

When troubleshooting a network connection or configuring a firewall, the first question is whether a…

15 hours ago

ifconfig Command in Linux: Configure Network Interfaces

The ifconfig command in Linux displays and configures network interfaces. It can assign IP addresses, bring interfaces…

15 hours ago

groupdel Command in Linux: Remove a Group and Audit Files

The groupdel command in Linux removes a group from the system. It deletes the group's entry from /etc/group and /etc/gshadow,…

2 days ago

wc Command in Linux: Count Lines, Words, Characters, and Bytes

The wc command in Linux counts lines, words, characters, and bytes in files or standard input. It…

2 days ago