Malware Analysis & Reverse Engineering
Malware analysis is the art of dissecting malicious software to understand its behavior, origin, and impact. The primary goals are to identify Indicators of Compromise (IOCs) for detection, attribute the malware to a specific threat actor, and assess its capabilities to determine the potential risk to an organization.
Safety Warning: Isolation Required
Analysis Methodology
1. Static Analysis
Examining the code without running it. This involves checking file hashes, extracting strings, analyzing PE headers, and identifying packed executables. It provides a safe first look at the sample's potential capabilities.
2. Dynamic Analysis
Observing the malware's behavior during execution in a controlled environment. This includes monitoring file system changes, registry modifications, network traffic, and process spawning.
3. Code Analysis
Deep diving into the binary using disassembly and decompilation. This advanced phase helps understand the internal logic, encryption algorithms, and hidden functionality that static and dynamic analysis might miss.
4. Memory Forensics
Analyzing artifacts left in Random Access Memory (RAM) after execution. This is crucial for detecting rootkits, injected code, and malware that operates solely in memory (fileless malware).
Workflow Visualization
Learning Modules
Lab Setup
Building a safe, isolated environment with FlareVM and Remnux.
Static Analysis
Analyzing code without execution: Disassembly, Strings, and PE Headers.
Dynamic Analysis
Behavioral analysis: Sandboxing, Debugging, and System Monitoring.
Advanced Techniques
Deobfuscation, Unpacking, and bypassing Anti-Analysis checks.
Code Analysis
Deep dive into x86/x64 assembly and decompilation with Ghidra.
Memory Forensics
Finding hidden malware and rootkits in RAM dumps with Volatility.
Tools Arsenal
Disassemblers
- IDA Pro
- Ghidra
- Cutter
- Binary Ninja
Debuggers
- x64dbg
- OllyDbg
- Windbg
Static Analysis
- PEStudio
- PE-bear
- CFF Explorer
- Floss
- Capa
Dynamic Analysis
- Process Hacker
- ProcMon
- RegShot
- Wireshark
- INetSim
Sandboxes
- Cuckoo
- ANY.RUN
- Hybrid Analysis