Skip to content

Repository files navigation

vt logo

Spin up vulnerable targets from your terminal 🎯

Go VersionLicenseReleaseDiscord

Caution

This project is in active development. Expect breaking changes with releases. Review the release changelog before updating. vt creates intentionally vulnerable environments - always run in isolated networks (VMs/sandboxes) and never expose to the internet.


Table of Contents


Features

FeatureDescription
🐳Docker ComposeContainer orchestration for vulnerable environments
📦TemplatesCommunity-curated vulnerable targets from vt-templates
📓PlaybooksGroup multiple templates into training scenarios and run them together
📊State TrackingTrack and manage running deployments
🔍InspectView detailed info (CVE, CVSS, CWE, PoC, remediation) for any template or playbook
🔄Auto-UpdateSync templates from remote repository

Installation

Prerequisites

  • Go 1.25.6+
  • Docker & Docker Compose

Install with Go

go install github.com/happyhackingspace/vt/cmd/vt@latest

Build from Source

git clone https://github.com/HappyHackingSpace/vt.git
cd vt
go build -o vt cmd/vt/main.go
mv vt /usr/local/bin/ # Optional: add to PATH

Quick Start

# 1. Browse available templates
vt template --list
# 2. Start a vulnerable environment
vt start --id vt-dvwa
# 3. Access the target at http://localhost:80

Usage

Command Reference

Templates

CommandDescription
vt template --listList all available templates
vt template --list --filter <tag>Filter templates by tag
vt template --updateUpdate templates from remote repository

Environments

CommandDescription
vt start --id <template-id>Start a vulnerable environment
vt stop --id <template-id>Stop an environment
vt psList all running environments
vt inspect --id <template-id>Show full details for a template

Playbooks

CommandDescription
vt playbook listList all available playbooks
vt playbook run --id <playbook-id>Start all templates in a playbook
vt playbook stop --id <playbook-id>Stop all templates in a playbook

Global Flags

FlagValuesDescription
-v, --verbositydebuginfowarnerrorfatalpanicSet log verbosity (default: info)

Examples

# List templates with SQL injection vulnerabilities
vt template --list --filter sqli
# Start DVWA (Damn Vulnerable Web App)
vt start --id vt-dvwa
# Inspect a template — see CVE, CVSS, CWE, PoC, and remediation steps
vt inspect --id vt-dvwa
# Check running environments
vt ps
# Stop a specific environment
vt stop --id vt-dvwa
# Run an entire playbook (multiple targets at once)
vt playbook run --id vt-pb-1
# List all available playbooks
vt playbook list
# Stop all targets in a playbook
vt playbook stop --id vt-pb-1

Templates

Templates are automatically cloned to ~/vt-templates on first run.

TemplateTypeDescription
vt-dvwaLabDamn Vulnerable Web Application
vt-juice-shopLabOWASP Juice Shop
vt-webgoatLabOWASP WebGoat
vt-bwappLabBuggy Web Application
vt-mutillidae-iiLabOWASP Mutillidae II

Want more? Check out the vt-templates repository for all available templates and contribution guidelines.


Playbooks

Playbooks let you start multiple vulnerable targets in one command — useful for structured training sessions or red-team labs that require several services running simultaneously.

# See what playbooks are available
vt playbook list
# Launch every target in a playbook
vt playbook run --id vt-pb-1
# Tear down the whole playbook when done
vt playbook stop --id vt-pb-1

Playbooks are defined as YAML files in the playbooks/ directory of the templates repository. Each playbook specifies an ordered list of template IDs. If one template fails to start, vt skips it, continues with the rest, and reports a summary of failures at the end.


What can you do with vt?

Use CaseTemplate
Practice SQL Injectionvt-dvwa
Learn XSS Exploitationvt-dvwa
Test OWASP Top 10vt-juice-shop
Exploit Real CVEsvt-2025-29927
API Security Testingvt-webgoat
Train Security Teamsvt-mutillidae-ii

Documentation

ResourceDescription
📦TemplatesBrowse all available templates
🤝ContributingContribution guidelines
🐛IssuesReport bugs or request features

Star History

Star History Chart

Contributors

recepgunes1
Recep Gunes
dogancanbakir
Dogan Can Bakir
omarkurt
Omar Kurt
ahsentekd
Ahsen
atiilla
Atilla
mirackayikci
mirackayikci
numanturle
numan

Community


License

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


Happy Hacking! 🎯

About

Vulnerable Target (VT) is a specialized tool designed for security professionals, researchers, and educators that creates intentionally vulnerable environments across multiple platforms.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

42 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages