MBPTL
Best hands-on lab for learning the fundamentals of cybersecurity and penetration testing workflows also packaged as Docker containers for fast, safe setup.
Install / Use
/learn @bayufedra/MBPTLREADME
Most Basic Penetration Testing Lab (MBPTL)
🎯 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.
📖 Table of Contents
- Quick Start
- Task Guide
- What You'll Learn
- Prerequisites
- Installation
- Lab Architecture
- Troubleshooting
- Next Steps
- Contributing
- Contact
🚀 Quick Start
# Clone and start the lab in 3 commands
git clone https://github.com/bayufedra/MBPTL
cd MBPTL/mbptl/
docker compose up -d
Access your lab: http://localhost:80
📋 Task Guide
📖 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.
📚 What You'll Learn
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
📋 Prerequisites
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
🛠️ Installation
Automated Setup (Recommended):
git clone https://github.com/bayufedra/MBPTL
cd MBPTL
chmod +x setup.sh
./setup.sh
For manual setup and detailed installation instructions, see INSTALL.md
🏗️ Lab Architecture
The lab simulates a realistic network environment with 3 interconnected containers:
🎯 Main Container (mbptl-main)
Primary target with web applications
- Port 80: Web application with SQL injection vulnerability
- Port 8080: Administrator panel with file upload vulnerability
- Port 3306: MySQL database (internal-only, reachable from other containers)
- Objective: Initial compromise and privilege escalation
🔒 Internal Container (mbptl-internal)
Internal service for binary exploitation
- Port 31337: Custom binary service with buffer overflow vulnerability (internal-only)
- Objective: Binary exploitation and reverse engineering
- Access: Only accessible after compromising main container
🌐 Web Internal Container (mbptl-app)
Internal web application for pivoting
- Port 5000: Flask application with template injection vulnerability (internal-only)
- Objective: Advanced web application exploitation
- Access: Only accessible after compromising main container
🔧 Troubleshooting
Common Issues
Lab won't start:
# Check container status
docker ps -a
# Restart the lab
cd mbptl/
docker compose down
docker compose up -d
Port conflicts:
- If ports 80 or 8080 are in use, modify the
.envfile or use different ports.
Permission issues (Linux/macOS):
sudo usermod -aG docker $USER
# Log out and back in
🎓 Next Steps
Completing MBPTL is just the beginning of your cybersecurity journey! To continue building your expertise, develop a strong foundation across these essential knowledge domains:
🎯 Fundamental Knowledge Areas
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.
🛠️ Essential Tools to Learn
- 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
🏆 Practice Platforms
| 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 |
🤝 Contributing
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.
📄 License
This project is licensed under the GPL-3.0 license. See the LICENSE file for more information.
📞 Contact
Author: Bayu Fedra
Email: bayufedra@gmail.com
LinkedIn: Bayu Fedra
Twitter: @bayufedraa
⭐ If you find this lab helpful, please give it a star and recommend it to your friends!
Related Skills
node-connect
345.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
106.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
345.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
345.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
