GNU General Public License v3.0

项目介绍

bayufedra/MBPTL 是一个托管在 GitHub 上的开源项目,主要使用 Shell 编写,采用 GNU General Public License v3.0 许可证,目前获得 479 个 Star、76 次 Fork。

仓库全名
bayufedra/MBPTL
开源许可证
GNU General Public License v3.0
Star 数
479
Fork 数
76
未关闭 Issue
1

README 摘要

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…

完整内容见 GitHub 原始 README 或本页 。

常见问题

MBPTL 用什么语言开发?

主要使用 Shell 编写,采用 GNU General Public License v3.0 许可证,目前有 479 个 Star。

MBPTL 可以免费商用吗?

仓库标注的许可证为 GNU General Public License v3.0,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 MBPTL 的源码?

可以直接克隆仓库:git clone https://github.com/bayufedra/MBPTL.git,默认分支为 main;安装与运行步骤见仓库 README。

MBPTL 最近还在维护吗?

仓库最近一次更新为 2025年12月17日,当前有 1 个未关闭 Issue;Star 数为 479,可作为社区活跃度的参考。

关于

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

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

README

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.

Maintainer

Maintained by Bayu Fedra Abdullah (LinkedIn).

  • Presented at Black Hat Europe 2025 Arsenal.
  • Security policy: see SECURITY.md.

📖 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: 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 .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!

评论

暂无评论