Skip to content

Latest commit

Β 

History

74 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

WolfCTF Labs & Templates

License GitHub Public

Content layer - Reusable lab templates, Docker environments, and educational materials for cybersecurity education.

πŸ“‹ Table of Contents

Overview

WolfCTF Labs & Templates is a public repository containing reusable lab content and course materials, designed for use by students, instructors, and educational institutions.

Split from: wolverine monorepo at tag pre-split-2025-11

Core Content

  • Lab Templates: Pre-configured Docker images and Dockerfiles
  • Lab Documentation: Markdown-formatted lab guides and tutorials
  • Automated Grading Scripts: Lab completion detection and scoring tools
  • Environment Configurations: Development environment setup and dependency management
  • Sample Data: Test data and reference implementations
  • Product Demos: Product site and demonstration materials

Design Principles

  • Templated: All content can be forked and customized as templates
  • Independent: No dependency on core or feature layer source code
  • Open Collaboration: Welcomes contributions from students and institutions
  • Standardized: Unified directory structure and documentation format

Repository Structure

wolfctf-labs-templates/
β”œβ”€β”€ docker-templates/          # Docker image templates
β”‚   β”œβ”€β”€ debian12-ssh/         # Basic Debian environment
β”‚   β”œβ”€β”€ quickjs-cve-*/        # CVE lab environments
β”‚   β”œβ”€β”€ ffmpeg-cve-*/         # Media vulnerability labs
β”‚   └── ...                   # Other specialized labs
β”œβ”€β”€ docs/                      # Lab documentation and guides
β”‚   β”œβ”€β”€ Agent.md              # AI Agent usage guide
β”‚   β”œβ”€β”€ Student_Report.md     # Student reporting system
β”‚   β”œβ”€β”€ API.md                # API reference
β”‚   └── ...                   # Other documentation
β”œβ”€β”€ scripts/                   # Automation scripts
β”‚   β”œβ”€β”€ telemetry/            # Telemetry data processing
β”‚   └── ...                   # Build and deployment scripts
β”œβ”€β”€ bin/                       # Executable tools
β”œβ”€β”€ local-data/                # Local test data
β”‚   └── courses/              # Sample course data
β”œβ”€β”€ frontend/public/           # Frontend static assets
β”‚   └── ...                   # Course materials, images, etc.
β”œβ”€β”€ Nexterm/                   # Terminal component
β”œβ”€β”€ product-site/              # Product demo site
└── README.md                  # This document

Quick Start

Using Existing Templates

1. Clone Template Repository

git clone https://github.com/quake0day/wolfctf-labs-templates.git
cd wolfctf-labs-templates

2. Browse Available Templates

ls docker-templates/

3. Build Lab Image

cd docker-templates/debian12-ssh
docker build -t my-lab-image .

4. Run Lab Environment

docker run -d --name my-lab -p 2222:22 my-lab-image
ssh student@localhost -p 2222  # Password usually defined in Dockerfile

Using as Template

You can fork this repository or use GitHub's "Use this template" feature to create your own lab content library.

Lab Templates

1. System Security Labs

Location: docker-templates/debian12-ssh, docker-templates/*-cve-*

Features:

  • Pre-configured vulnerability environments
  • CVE reproduction and analysis
  • System security hardening exercises

Example Templates:

  • debian12-ssh: Basic Debian 12 with SSH server
  • quickjs-cve-*: QuickJS vulnerability labs
  • ffmpeg-cve-*: FFmpeg security analysis labs

2. Network Security Labs

Location: docker-templates/network-*

Features:

  • Network protocol analysis
  • Packet capture and analysis
  • Network attack and defense exercises

3. Web Security Labs

Location: docker-templates/web-*

Features:

  • OWASP Top 10 vulnerabilities
  • Web application penetration testing
  • Secure development practices

4. Forensics Labs

Location: docker-templates/forensics-*

Features:

  • Memory forensics
  • Disk forensics
  • Malware analysis

Creating New Labs

1. Copy Base Template

cp -r docker-templates/debian12-ssh docker-templates/my-new-lab
cd docker-templates/my-new-lab

2. Edit Dockerfile

FROM debian:12-slim

# Install necessary software
RUN apt-get update && apt-get install -y \
    openssh-server \
    vim \
    # Add your lab-specific tools
    && rm -rf /var/lib/apt/lists/*

# Configure SSH
RUN mkdir /var/run/sshd
RUN echo 'root:changeme' | chpasswd
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config

# Add lab files
COPY lab-files/ /home/student/

EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]

3. Add Lab Documentation

Create lab documentation in docs/ (Markdown format):

# Lab X: Title

## Learning Objectives
- Objective 1
- Objective 2

## Lab Steps
1. Step 1
2. Step 2

## Verification and Submission
...

4. Test and Build

docker build -t my-new-lab .
docker run -d --name test-lab -p 2222:22 my-new-lab

# Test lab environment
ssh root@localhost -p 2222

# Stop and cleanup
docker stop test-lab && docker rm test-lab

Documentation Standards

Document Structure

Each lab document should include:

  1. Title and Introduction: Lab name and objective overview
  2. Learning Objectives: Knowledge and skills to be mastered
  3. Prerequisites: Required background knowledge and skills
  4. Lab Environment: Required software and configuration
  5. Lab Steps: Detailed operational steps and instructions
  6. Discussion Questions: Thought-provoking questions
  7. Verification and Submission: How to verify completion and submit results
  8. References: Related documentation and resource links

Markdown Template

# Lab X: [Lab Title]

## πŸ“ Introduction
[Lab introduction, 1-2 paragraphs]

## 🎯 Learning Objectives
- Objective 1
- Objective 2
- Objective 3

## πŸ“‹ Prerequisites
- Knowledge point 1
- Knowledge point 2

## πŸ–₯️ Lab Environment
- Operating System: Debian 12
- Required Tools: ...

## πŸ”¨ Lab Steps

### Step 1: Title
[Detailed instructions]

```bash
# Sample commands
command here

Step 2: Title

[Detailed instructions]

πŸ’­ Discussion Questions

  1. Question 1
  2. Question 2

βœ… Verification and Submission

[How to verify lab completion]

πŸ“– References


## Contributing

### Submitting New Labs

1. **Fork Repository**
   ```bash
   # Click GitHub Fork button
   git clone https://github.com/YOUR-USERNAME/wolfctf-labs-templates.git
  1. Create Lab Branch

    git checkout -b lab/your-lab-name
  2. Add Lab Content

    • Create lab environment in docker-templates/
    • Add lab documentation in docs/
    • Add grading scripts in scripts/ (if needed)
  3. Test Lab

    • Build and test Docker image
    • Verify lab step accuracy
    • Ensure documentation clarity
  4. Submit Pull Request

    git add .
    git commit -m "Add lab: Your Lab Name"
    git push origin lab/your-lab-name

    Create PR on GitHub with:

    • Lab description
    • Learning objectives
    • Test result screenshots

Contribution Types

We welcome the following contributions:

  • ✨ New lab content
  • πŸ› Fix issues in existing labs
  • πŸ“ Improve lab documentation
  • πŸ› οΈ Optimize build scripts and tools
  • 🌐 Translate lab documentation to other languages
  • πŸ’‘ Suggest improvements

Code Standards

  • Dockerfile: Follow Docker best practices
  • Scripts: Use shellcheck for validation
  • Documentation: Follow Markdown standards
  • Naming: Use clear, descriptive names

Development Tools

Automated Grading Scripts

Location: scripts/telemetry/

Purpose:

  • Detect student lab completion
  • Automated scoring and feedback
  • Generate learning reports

Example:

cd scripts/telemetry
./check-lab-completion.sh <lab-id> <student-id>

Image Build Tools

Location: scripts/

Purpose:

  • Batch build lab images
  • Push to Docker Registry
  • Version management and tagging

Example:

./scripts/build-all-labs.sh
./scripts/push-to-registry.sh

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Si Chen

Maintainer

Si Chen (quake0day@gmail.com)


Related Repositories

Getting Help

  • Documentation Issues: Ask in GitHub Issues
  • Technical Support: Create a GitHub issue with "support" label
  • Contribution Discussion: Use GitHub Discussions
  • Security Issues: Email quake0day@gmail.com (private reporting)

Migration Info

This repository was split from the wolverine monorepo at tag pre-split-2025-11, preserving complete history of all lab templates, documentation, and scripts. Content can be used independently or deployed with core and feature layers for a complete system.


Template Usage: You can directly fork this repository as your lab content library, or use GitHub's "Use this template" feature to create an independent repository.

Community: Join our community discussions to share your labs and learn from others.

About

WolfCTF Labs & Templates - Lab content, Docker templates, and learning materials for cybersecurity education

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages