Skip to content

Best hands-on lab for learning the fundamentals of cybersecurity and penetration testing and packaged as Docker containers for fast, safe setup.

License

Notifications You must be signed in to change notification settings

bayufedra/MBPTL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

63 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Most Basic Penetration Testing Lab (MBPTL)

License: GPL-3.0 Docker Black Hat Arsenal EU 2025

🎯 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

# 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:

  1. πŸ” Reconnaissance β†’ Information gathering and target enumeration
  2. 🎯 Vulnerability Assessment β†’ Identifying security weaknesses
  3. πŸ’₯ Exploitation β†’ Exploiting vulnerable applications and services
  4. πŸ” Password Cracking β†’ Breaking authentication mechanisms
  5. πŸ”“ Post-Exploitation β†’ Maintaining access and privilege escalation
  6. 🌐 Network Pivoting β†’ Moving between networks and accessing internal systems
  7. ⚑ Binary Exploitation β†’ Exploiting memory corruption vulnerabilities in compiled programs
  8. πŸ”¬ Reverse Engineering β†’ Analyzing software to understand its functionality and identify vulnerabilities
  9. πŸ›‘οΈ 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: Local MySQL database
  • Objective: Initial compromise and privilege escalation

πŸ”’ Internal Container (mbptl-internal)

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

🌐 Web Internal Container (mbptl-app)

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

πŸ”§ 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, 8080, or 3306 are in use, modify the .env file 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

πŸ† 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: [email protected]
LinkedIn: Bayu Fedra
Twitter: @bayufedraa


⭐ If you find this lab helpful, please give it a star and recommend it to your friends!

About

Best hands-on lab for learning the fundamentals of cybersecurity and penetration testing and packaged as Docker containers for fast, safe setup.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •