Forensicsaeskeysmemoryforensicsentropy

aeskeyfind

Tool for locating 128-bit and 256-bit AES keys in a captured memory image. Uses algorithms and entropy tests to identify keys even with some bit corruption.

Description

aeskeyfind is a program that illustrates automatic techniques for locating 128-bit and 256-bit AES keys in a captured memory image. It is particularly useful for forensics investigations where memory dumps need to be analyzed for cryptographic keys.

The tool employs various algorithms and performs a simple entropy test to filter out blocks that are not keys by counting repeated bytes and skipping those with too many repeats. This method remains effective even if several bits of the key schedule have been corrupted due to memory decay.

It locates scheduled AES keys, providing output on potential keys and constraints when used with verbose mode.

How It Works

The program scans the memory image for candidate 128-bit and 256-bit AES keys using multiple algorithms. It applies an entropy test that counts repeated bytes in blocks, skipping those with excessive repeats as unlikely keys. It tolerates up to a configurable number of bit errors (default 10) in the key schedule due to memory decay, and can output extended keys with row constraints in verbose mode.

Installation

bash
sudo apt install aeskeyfind

Flags

-vverbose output -- prints the extended keys and the constraints on the rows of the key schedule
-qdon't display a progress bar
-t THRESHOLDsets the maximum number of bit errors allowed in a candidate key schedule (default = 10)
-hdisplays this help message

Examples

Locates scheduled 128-bit and 256-bit AES keys in the specified memory image with default settings including progress bar
aeskeyfind MEMORY-IMAGE
Runs with verbose output, printing extended keys and constraints on key schedule rows
aeskeyfind -v MEMORY-IMAGE
Locates keys without displaying a progress bar
aeskeyfind -q MEMORY-IMAGE
Sets maximum bit errors allowed to 5 for stricter key schedule validation
aeskeyfind -t 5 MEMORY-IMAGE
Allows up to 20 bit errors in candidate keys for tolerant scanning
aeskeyfind -t 20 MEMORY-IMAGE
Combines verbose output with no progress bar for detailed key reporting
aeskeyfind -v -q MEMORY-IMAGE
Displays the help message with usage and options
aeskeyfind -h
Updated 2026-04-16kali.org ↗