Skip to content

herson/hackinglab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›‘οΈ Docker-Based Hacking Lab πŸ›‘οΈ

Docker License: MIT GitHub stars

Welcome to the Docker-Based Hacking Lab! This repository offers a comprehensive, containerized environment tailored for penetration testing, vulnerability assessment, and security research. Utilizing Docker Compose, this lab integrates a suite of essential security tools and vulnerable applications, ensuring an isolated and reproducible setup suitable for both beginners and seasoned professionals.


πŸ“œ Table of Contents


πŸ” Overview

The Docker-Based Hacking Lab is engineered to provide a versatile and secure environment for security enthusiasts to practice and enhance their skills. By containerizing each tool and vulnerable application, the lab ensures that your host system remains unaffected, offering a safe playground for testing various security scenarios.


πŸš€ Features

  • Isolated Environment: Each tool operates in its own container, preventing conflicts and ensuring system integrity.
  • Scalable Setup: Easily add or remove services as your needs evolve.
  • Reproducible Builds: Docker Compose guarantees consistent environments across different machines.
  • Comprehensive Toolset: Integrates industry-standard tools and vulnerable applications for a holistic security assessment experience.
  • Cross-Platform Compatibility: Supports both linux/amd64 and linux/arm64/v8 architectures with platform specifications.

πŸ› οΈ Prerequisites

Before setting up the hacking lab, ensure you have the following installed on your system:

Ensure Docker is running and you have the necessary permissions to execute Docker commands.


βš™οΈ Installation

  1. Clone the Repository:

    git clone https://github.com/herson/hackinglab.git
    cd hackinglab
  2. Configure Environment Variables:

    Create a .env file in the project root to define any necessary environment variables.

    cp .env.example .env
    nano .env

    Adjust the variables as needed.

  3. Build and Deploy the Containers:

    docker compose up --build -d

    This command builds the Docker images and starts the containers in detached mode.


πŸ“¦ Services Included

πŸ–₯️ Kali Linux

Description: A Debian-based Linux distribution crafted for digital forensics and penetration testing.

Features:

  • Comprehensive suite of security tools
  • Customizable environment for various testing scenarios

πŸ”΄ Metasploit

Description: An advanced open-source platform for developing, testing, and executing exploit code against remote targets.

Features:

  • Extensive exploit database
  • Supports a wide range of payloads
  • Integration with other security tools

πŸ•΅οΈβ€β™‚οΈ Nmap

Description: A network scanning tool used to discover hosts and services on a computer network.

Features:

  • Host discovery
  • Port scanning
  • OS detection
  • Scripting engine for automation

πŸ“‘ Wireshark

Description: A network protocol analyzer that lets you capture and interactively browse the traffic running on a computer network.

Features:

  • Deep inspection of hundreds of protocols
  • Live capture and offline analysis
  • Rich display filters

πŸ•·οΈ OWASP ZAP

Description: An open-source web application security scanner, ideal for finding vulnerabilities in web applications.

Features:

  • Automated scanners
  • Passive and active scanning
  • Integration with CI/CD pipelines

πŸ’€ DVWA (Damn Vulnerable Web Application)

Description: A PHP/MySQL web application that is damn vulnerable, designed for security training.

Features:

  • Multiple vulnerability levels
  • Simulates real-world attack scenarios
  • Educational purpose for learning web vulnerabilities

πŸ”° WebGoat

Description: A deliberately insecure application maintained by OWASP designed to teach web application security lessons.

Features:

  • Interactive lessons on various vulnerabilities
  • Supports multiple attack vectors
  • Community-driven content

🦠 bWAPP

Description: A free and open-source deliberately insecure web application for security training.

Features:

  • Over 100 web vulnerabilities
  • Compatible with multiple platforms
  • Regular updates with new vulnerabilities

πŸ›‘οΈ Vulnerable API

Description: A sample API designed with intentional vulnerabilities for practicing API security testing.

Features:

  • Common API vulnerabilities like SQL Injection, XSS, etc.
  • RESTful endpoints for testing
  • Educational purpose for API security

🍹 OWASP Juice Shop

Description: An intentionally insecure web application written entirely in JavaScript, offering a platform to learn about web vulnerabilities.

Features:

  • Covers OWASP Top Ten vulnerabilities
  • Gamified challenge system
  • Detailed tutorials and hints

πŸ§ͺ Mutillidae II

Description: A free, open-source, deliberately vulnerable web application providing a target for web security enthusiasts.

Features:

  • Multiple security challenge levels
  • Demonstrates common web vulnerabilities
  • Educational tool for penetration testing

πŸ” Security Shepherd

Description: An OWASP project designed to foster and improve security testing skills through a practical, interactive environment.

Features:

  • Variety of challenges across different difficulty levels
  • Covers web and mobile security topics
  • Leaderboards to track progress

πŸ™ DVNA (Damn Vulnerable Node Application)

Description: A Node.js web application with known vulnerabilities, designed to teach security concepts in Node.js environments.

Features:

  • Demonstrates common Node.js vulnerabilities
  • RESTful API endpoints
  • Educational resource for Node.js security

πŸ“ Vulnerable WordPress

Description: A WordPress installation with intentionally vulnerable plugins and themes for security testing.

Features:

  • Exploitable plugins and themes
  • Common WordPress vulnerabilities
  • Platform for practicing WordPress security assessments

πŸ”Ž OpenVAS

Description: An open-source vulnerability scanner and manager for discovering security issues in systems and applications.

Features:

  • Comprehensive vulnerability scanning
  • Regular updates with latest vulnerability tests
  • Detailed reporting and remediation guidance

πŸ› οΈ Burp Suite

Description: An integrated platform for performing security testing of web applications.

Features:

  • Intercepting proxy
  • Scanner for automated vulnerability detection
  • Extensibility through plugins

🐐 NodeGoat

Description: An OWASP project aimed at teaching developers how to write secure Node.js code through a vulnerable application.

Features:

  • Interactive security lessons
  • Demonstrates vulnerabilities in a Node.js environment
  • Hands-on approach to learning

πŸ§› VAmPI

Description: A vulnerable REST API application designed to facilitate learning about API security issues.

Features:

  • Common API vulnerabilities
  • Practice API penetration testing
  • Educational resource for API security concepts

πŸ“ˆ Usage

  1. Start All Services:

    docker compose up -d
  2. Stop All Services:

    docker compose down
  3. View Logs:

    docker compose logs -f
  4. Access a Specific Service:

    docker compose exec <service_name> /bin/bash

    Replace <service_name> with the name of the service (e.g., kali, metasploit).


🌐 Accessing the Services

Service Port Mapping URL
Kali Linux N/A Access via Docker CLI or SSH
Metasploit N/A Use CLI tools within container
Nmap N/A Use CLI tools within container
Wireshark N/A Access via GUI (X11 Forwarding)
OWASP ZAP 2582:8080 http://localhost:2582
DVWA 2580:80 http://localhost:2580
WebGoat 2581:8080 http://localhost:2581/WebGoat
bWAPP 2583:80 http://localhost:2583
Vulnerable API 2500:5000 http://localhost:2500
OWASP Juice Shop 3000:3000 http://localhost:3000
Mutillidae II 2584:80 http://localhost:2584
Security Shepherd 2585:80 http://localhost:2585
DVNA 2586:9090 http://localhost:2586
Vulnerable WordPress 2587:80 http://localhost:2587
OpenVAS 9392:9392 https://localhost:9392
Burp Suite N/A Access via GUI (X11 Forwarding)
NodeGoat 4000:4000 http://localhost:4000
VAmPI 6000:5000 http://localhost:6000

Ensure that the ports are not being used by other services on your host machine.


🀝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project

  2. Create Your Feature Branch

    git checkout -b feature/AmazingFeature
  3. Commit Your Changes

    git commit -m 'Add some AmazingFeature'
  4. Push to the Branch

    git push origin feature/AmazingFeature
  5. Open a Pull Request


πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.

License: MIT


πŸ“« Contact

Herson Cruz – @hersoncruz

Project Link: https://github.com/herson/hackinglab


πŸ”— Useful Links


πŸ’‘ Tips & Tricks

  • Persisting Data: Ensure that important data is persisted using Docker volumes to prevent data loss upon container restarts.
  • Security Best Practices: Regularly update your Docker images to incorporate the latest security patches.
  • Resource Management: Monitor container resource usage to ensure optimal performance of your host machine.
  • Networking: Leverage Docker networks to simulate complex network topologies for advanced testing scenarios.
  • Accessing GUI Applications: For applications like Wireshark and Burp Suite, ensure you have X11 forwarding set up to access the GUI.

Disclaimer: This hacking lab is intended for educational purposes only. Ensure you have proper authorization before conducting any security assessments or penetration testing on systems you do not own.

About

Docker-based hacking lab for CEH certification.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published