π― Perfect for beginners! A comprehensive, hands-on penetration testing lab designed to teach cybersecurity fundamentals through practical exercises.
Getting started? Follow the Task Guide to understand how to collect all 17 flags. Need detailed solutions? Check out the Write-up Guide for step-by-step instructions. Don't worry if you don't understand everything at first because this lab is designed to introduce fundamental tools, concepts, and workflows commonly used in cybersecurity and penetration testing. The goal is to help you become familiar with the topics and tools involved, even if you're still learning.
- Quick Start
- Task Guide
- What You'll Learn
- Prerequisites
- Installation
- Lab Architecture
- Troubleshooting
- Next Steps
- Contributing
- Contact
# Clone and start the lab in 3 commands
git clone https://github.com/bayufedra/MBPTL
cd MBPTL/mbptl/
docker compose up -dAccess your lab: http://localhost:80
π Read TASK.md to understand the complete flag collection process!
The task guide provides an overview of all 17 flags organized by penetration testing phases, helping you understand what to look for as you progress through the lab. Use it alongside your reconnaissance and exploitation efforts.
This lab covers complete penetration testing methodology with 17 hands-on flags. Complete the lab in this order:
- π Reconnaissance β Information gathering and target enumeration
- π― Vulnerability Assessment β Identifying security weaknesses
- π₯ Exploitation β Exploiting vulnerable applications and services
- π Password Cracking β Breaking authentication mechanisms
- π Post-Exploitation β Maintaining access and privilege escalation
- π Network Pivoting β Moving between networks and accessing internal systems
- β‘ Binary Exploitation β Exploiting memory corruption vulnerabilities in compiled programs
- π¬ Reverse Engineering β Analyzing software to understand its functionality and identify vulnerabilities
- π‘οΈ SOC Analysis β Log analysis and forensic techniques
System Requirements:
- OS: Linux, macOS, or Windows
- RAM: 2GB minimum
- Storage: 1GB free space
- Network: Internet connection for Docker images
Required Software:
- Docker: Version 20.10+ with Docker Compose
- Git: For cloning the repository
Recommended Skills (Will be more helpful):
- Linux fundamentals: Basic experience with command line operations for file management and system navigation
- Networking basics: Understanding of IP addressing, ports, and core network protocols
- Web technologies: Familiarity with HTTP requests/responses, web servers, and clientβserver architecture
Automated Setup (Recommended):
git clone https://github.com/bayufedra/MBPTL
cd MBPTL
chmod +x setup.sh
./setup.shFor manual setup and detailed installation instructions, see INSTALL.md
The lab simulates a realistic network environment with 3 interconnected containers:
Primary target with web applications
- Port 80: Web application with SQL injection vulnerability
- Port 8080: Administrator panel with file upload vulnerability
- Port 3306: Local MySQL database
- Objective: Initial compromise and privilege escalation
Internal service for binary exploitation
- Port 31337: Custom binary service with buffer overflow vulnerability
- Objective: Binary exploitation and reverse engineering
- Access: Only accessible after compromising main container
Internal web application for pivoting
- Port 5000: Flask application with template injection vulnerability
- Objective: Advanced web application exploitation
- Access: Only accessible after compromising main container
Lab won't start:
# Check container status
docker ps -a
# Restart the lab
cd mbptl/
docker compose down
docker compose up -dPort conflicts:
- If ports 80, 8080, or 3306 are in use, modify the
.envfile or use different ports.
Permission issues (Linux/macOS):
sudo usermod -aG docker $USER
# Log out and back inCompleting MBPTL is just the beginning of your cybersecurity journey! To continue building your expertise, develop a strong foundation across these essential knowledge domains:
Operating Systems
Learn how processes, files, and access rights are managed in Linux and Windows. This foundation helps you identify and exploit vulnerabilities like privilege escalation, rootkit installations, and malware persistence.
Networking Fundamentals
Since all systems communicate over networks, understanding core protocols, routing, and network architectures enables you to detect and exploit risks such as packet sniffing, man-in-the-middle (MitM) attacks, DDoS, and unauthorized port scanning.
Programming
Applications are built with code, and most security vulnerabilities stem from programming flaws. Understanding how code works allows you to identify and exploit issues like SQL injection, buffer overflow, and cross-site scripting (XSS).
Cryptography
Master encryption, hashing, and cryptographic protocols to evaluate security implementations, identify weaknesses, and defend against attacks like brute-force, side-channel exploitation, and cryptographic failures.
Threat Intelligence Frameworks
Familiarize yourself with CWE (Common Weakness Enumeration) to recognize common weakness patterns like poor input validation, memory management errors, and configuration mistakes. Stay current with CVE (Common Vulnerabilities and Exposures) to stay informed about the latest threats and necessary security patches.
- Application Security: Burp Suite, OWASP ZAP, Nikto, Sqlmap, Semgrep, Trivy
- Network Security: Nmap, Angry IP Scanner, Netcat, Aircrack-ng
- Exploitation Frameworks: Metasploit, Empire
- Password Cracking: John the Ripper, Hashcat
- Vulnerability Scanning: Nessus, OpenVAS
- OSINT: Maltego, theHarvester
| Platform | Difficulty | Focus |
|---|---|---|
| DVWA | Beginner | Web vulnerabilities |
| OverTheWire | Beginner-Intermediate | Wargames |
| TryHackMe | Beginner-Advanced | Guided learning |
| VulnHub | All Levels | Vulnerable VMs |
| HackTheBox | Intermediate-Expert | Real-world scenarios |
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the GPL-3.0 license. See the LICENSE file for more information.
Author: Bayu Fedra
Email: [email protected]
LinkedIn: Bayu Fedra
Twitter: @bayufedraa
β If you find this lab helpful, please give it a star and recommend it to your friends!