Project 52: Reverse Engineering Basics
Module: Module 6: Applied Web Security & Defensive Automation | Level: Intermediate |
Primary tool: Ghidra (free, NSA-released) or free IDA Free | Estimated time: 75–120 minutes
Objective: Statically analyze a benign compiled binary to learn core RE workflow.
Free lab environment
MalwareBazaar (abuse.ch) + a fully offline analysis VM — https://bazaar.abuse.ch/
MalwareBazaar is a free, legitimate malware-sample repository run by abuse.ch for researchers and defenders. Only ever detonate or inspect samples inside a fully network-isolated virtual machine (host-only or no networking, snapshot taken beforehand) that you are prepared to destroy afterward. Never run a live sample on your host OS or a network-connected VM.
Lab workflow
- Before anything else: confirm your analysis environment has no real network access and is a disposable snapshot you are prepared to destroy afterward. Do not proceed until this is true.
- Obtain your sample from a small binary you compile yourself, or a beginner CTF binary from picoCTF’s free ‘Reverse Engineering’ track — a legitimate, purpose-built research source, never a random internet download.
- Using Ghidra (free, NSA-released) or free IDA Free, perform your analysis with the specific goal of learning to statically analyze a benign compiled binary to learn core RE workflow.
- Record every observable indicator of compromise (IOC) as you find it: file paths, registry keys, network callbacks, process names.
- Summarize the sample’s behavior in plain English, as if briefing someone who cannot read the raw tool output themselves.
- Destroy or revert the VM snapshot once you have exported your evidence — don’t leave a live sample sitting in a running environment.
Evidence & screenshot requirements
Submit the following with your report (see this module’s practical assignment for exact upload details):
- Ghidra’s decompiled function view for the binary’s main logic
- your written summary, in plain English, of what the function actually does
Expected deliverable
A concise lab-report entry containing: scope/target, exact commands or payloads used, your key
observation, the required screenshots above, and — where applicable — the specific remediation for what
you found. Vague answers (“sanitize input”, “use a firewall”) without naming the exact mechanism will not
receive full credit.
Safety & authorization
Only test the specific free lab target named above, or infrastructure you personally own. Do not target
third-party systems, real user accounts, or production services without explicit written authorization.
Never deploy anything from this project outside an isolated lab environment.
- Image
- SKU
- Rating
- Price
- Stock
- Availability
- Add to cart
- Description
- Content
- Weight
- Dimensions
- Additional information