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

Install Pip on Ubuntu 18.04: Python 3 and Python 2 Setup Guide

Pip is the official package manager for Python and the standard way to install libraries from…

3 days ago

Install R on Ubuntu 18.04 from CRAN: Statistical Computing Setup

R is an open-source programming language and environment built for statistical computing and data visualization. It…

3 days ago

Install Jenkins on Ubuntu 18.04: CI/CD Server Setup Guide

Jenkins is an open-source automation server that makes it easy to build CI/CD pipelines. Continuous integration…

3 days ago

Install Android Studio on Ubuntu 18.04 with Snap and OpenJDK 8

Android Studio is the official IDE for Android development, built on JetBrains' IntelliJ IDEA platform. It…

3 days ago

Install and Configure GitLab on Ubuntu 18.04 with Omnibus

GitLab is a web-based, open-source Git repository manager written in Ruby. It includes built-in tools for…

3 days ago

Install Anaconda on Ubuntu 18.04: Python Data Science Setup Guide

Anaconda is the most widely used Python distribution for data science and machine learning. It bundles…

4 days ago