Skip to main content

A Docker runner for docker-based vulnerable environments.

Project description


Docker Vuln Runner

Docker Vuln Runner
A Docker runner for docker-based vulnerable environments.

Table of Contents

Overview

vuln-runner is a tool that allows you to quickly run the docker vulnerable stacks.

The vulnerable stack actually supported are:

At SecSI we found it useful to reproduce vulnerable environments for training purposes. To reproduce vulnerable environment easily, take a look at DSP.

Install

You can easily install it by running:

pip install vuln-runner

Usage

vuln-runner --help

This will display help for the tool. Here are all the switches it supports.

Usage: vuln-runner [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  down              Down a list of vulnerable projects
  down-env          Down an environment
  generate-vulnenv  Generate <no_env> vulnerable environments composed of...
  init
  list              List the vulnerable names
  run               Run a list of vulnerable projects
  run-env           Run an environment taken from a JSON configuration file
  update            Update the vulnerable git repositories

  • Initialized the vulnerable environment:
vuln-runner init

asciicast

  • List the vulnerable stacks:
vuln-runner list

asciicast

  • Run a list of vulnerable stacks:
vuln-runner run vulhub.CVE-2014-3120,vulhub.CVE-2018-1270

asciicast

  • Down the list of vulnerable stacks:
vuln-runner down vulhub.CVE-2014-3120,vulhub.CVE-2018-1270

asciicast

Advanced usage: vulnerable environment

With the previous commands you can already manage your vulnerable stacks and manually run and stop them. Anyway, you can also create vulnerable environments. A vulnerable environment is a set of vulnerable docker-compose stacks that has not ports' conflicts.
You can generate a vulnerable environment descriptor in JSON format with the generate-vulnenv command:

vuln-runner generate-vulnenv NO_VULNS [--no-env=<default=1>]
  • NO_VULNS defines the number of vulnerable stacks for each environment.
  • --no-env defines the number of environments. It is useful if you want to run vuln-runner in different hosts, where each host runs a single environment.

For example, to create a JSON vulnerable descriptor with two vulnerable stack and two environments:

vuln-runner generate-vulnenv 2 --no-env=2  

asciicast

You can output into the JSON descriptor into a file an reuse with two commands:

  • run-env: run the set of stacks belonging to a vulnerable environment.
vuln-runner run-env output.json 1

asciicast

  • down-env: down the vulnerable environment.
vuln-runner down-env output.json 1

asciicast

Development

The poetry packaging and management tool was used to build the project.
To initialize the project:

poetry install 

To run the several commands, you can use poetry as follows:

poetry run vuln-runner <command>  

Credits

Developed by gx1 @SecSI

License

Docker Vuln Runner is released under the GPL LICENSE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vuln_runner-0.1.2.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

vuln_runner-0.1.2-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

Details for the file vuln_runner-0.1.2.tar.gz.

File metadata

  • Download URL: vuln_runner-0.1.2.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for vuln_runner-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7ae51a713d84227c2221279df7205f68d9c56d80d8b6b1c97b720bd306a9408f
MD5 f4cbd12237d1dc9b966d85fa6404a3fb
BLAKE2b-256 8ac7e01a499c4fdebf621fb414b46ddb58f913fe5372d3562399ec49e9309efa

See more details on using hashes here.

Provenance

File details

Details for the file vuln_runner-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: vuln_runner-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 20.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for vuln_runner-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 edfd43a061a708586f6d8c91ed12687601656b233c4005e9dd4211b99e96bc34
MD5 42c921af27d7b89cdd0feaff8c24cfd0
BLAKE2b-256 db428a53f6f30e49b9e9eafafa9f13f947b9d07d6468243a1ef1f18bdf59448f

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page