Overview
Syllabus
Intro
The Problem: getting information from binaries Each sample contains some total set of information. Our goal is to extract as much of it as possible
Our Goal: Reduce cost of information extraction
The How: Emulation
Existing PE Emulators
Requirements: What are we adding/extending from current work?
Build hook table by linking DLLs outside emulator
Overcoming Microsoft's ApiSet abstraction layer Parse Api SetSchema.dil (multiple versions) and load proper real dll.
What is the minimum that the malware needs in order to continue proper execution?
Requirements for hooking
Two types of hooks in Binee
Example: Entry point execution
Userland structures, TIB/PEB/kshareduser
Starting with the Mock File System
Creating Files in the Mock File Subsystem
Mock Registry Subsystem
Configuration files defines OS environment quickly
Mocked Threading Round robin scheduler approximately simulates a multi-thread environment.
Increasing fidelity with proper Di Main execution
ROP Gadgets - an easy shortcut to loading DLLS
How can I get started?
Implement a missing hook: an example
Implement a missing hook: function documentation SearchPathA function
Implement a missing hook: create a full hook
Implement a missing hook: rinse, repeat
Taught by
BasisTech