Skip to content

ctxis/DynamicLabs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dynamic Labs

DISCLAIMER

Dynamic Labs deploys INTENTIONALLY VULNERABLE SYSTEMS. Use at your own risk. Although the code implements controls to reduce the likelihood of users inadvertently publicly exposing vulnerable systems, after deployment please ensure that the lab systems are not Internet-exposed. Always use a restrictive IP range in the candidate_ip configuration variable

Overview

Creating lab environments for testing and learning red teaming/simulated attack techniques can be hard and time consuming.

Dynamic Labs is an open source tool aimed at red teamers and pentesters for the quick deployment of flexible, transient and cloud-hosted lab environments.

Its simple configuration files abstract the complexities of building realistic corporate environments with common vulnerabilities.

For example, complex Active Directory multi-domain and multi-forest environments, user endpoints, Windows/Linux servers, databases, web applications, simple vulberabilities and convoluted attack paths can be deployed in minutes.

Dynamic Labs ships with easily customisable lab templates, ready for deployment.

The BlackHat EU 2022 - Lab Environments for Red Teamers with Dynamic Labs presentation slides provide an introduction to Dynamic Labs.

Additional documentation is available at Documentation.

Use cases

Dynamic Labs has been extensively tried and tested for the following use-cases:

  • Simulated attack engagements - effective red teamers test their toolchains against "digital twin" environments before deploying against real client systems, to make sure they work, evade known defences and don’t cause problems. Dynamic Labs can be used to deploy such environments, unique for each engagement.
  • Self-education and research - Pre-made lab templates can be deployed to learn specific attack techniques, e.g. kerberoasting. Instead, when a generic environment is needed for research purposes and for testing new techniques, Dynamic Labs can do the heavy lifting of deploying a typical environment (e.g. Active Directory forest) that can then be manually customised once deployed. A new lab template encompassing the customisations can then be created and shared for others to test, review and practice the same technique.
  • Formal training courses - Dynamic Labs allows the definition of lab environments to be used in training courses. The lab template needs to be defined once, and then mutliple instances of the training environment can be deployed when needed. This way, for example, each attendee can have a dedicated environment.

Usage

To deploy a lab, follow the Lab Deployment Instructions

Lab Templates

The list and description of the available lab templates, as shipped with Dynamic Labs, can be found at Lab Templates

Documentation on how to modify or create new lab templates is available at Template Development

Contributing

We accept pull requests for lab templates to be included by default with the community version of Dynamic Labs.

If you are interested in implementing new core features or bug fixes, refer to the Development Documentation

Roadmap

In no specific order:

  • Increase the number of lab templates shipped with the community version
  • Simplify the definition of custom network security rules in lab templates
  • Increase the supported system features for Linux and Windows
  • Implement support for Google Cloud Platform

Current Maintainer

Contributors

Current:

Past:

  • Alex Bourla
  • Dominik Schelle

About

Dynamic Labs is an open source tool aimed at red teamers and pentesters for the quick deployment of flexible, transient and cloud-hosted lab environments.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published