Overview
Syllabus
Intro
What is the PE File Format?
The MS-DOS Stub Header
The IMAGE_FILE_HEADER
The Section Table
The Import Address Table (IAT)
Rich Header Backstory
Rich Header Checksum
De-Obfuscated Rich Header
How the Rich Header is Built
The Devil's in the Rich Header
Case Studies in Rich Header Analysis
Packers 101
Our Own Findings
What is a Hash Function?
What is Metadata Hashing?
Imphash Weaknesses
Pehash Weaknesses
Metadata Hashes vs ASPack
Metadata Hashes vs PECompact
Metadata Hashes vs Petite
Metadata Hashes vs Themida
Metadata Hash Stats - APT1 Dataset
Metadata Hash Stats - All Files
RichPE Hash Accuracy
RichPE Weaknesses
Motivation
Checking Rich Header Validity
Spoofing a Rich Header?
Rich Header Spoofing Feasibility?
Invalid Metadata Test Stats
OlympicDestroyer vs Basic Metadata Tests
RLPack vs Basic Metadata Tests
Acknowledgements
Source Code
Taught by
0xdade