Git Product home page Git Product logo

attack_range's Introduction

Splunk Attack Range

Purpose

The Attack Range solves two main challenges in development of detections. First, it allows the user to quickly build a small lab infrastructure as close as possible to your production environment. This lab infrastructure contains a Windows Domain Controller, Windows Workstation and Linux server, which comes pre-configured with multiple security tools and logging configuration. The infrastructure comes with a Splunk server collecting multiple log sources from the different servers.

Second, this framework allows the user to perform attack simulation using different engines. Therefore, the user can repeatedly replicate and generate data as close to "ground truth" as possible, in a format that allows the creation of detections, investigations, knowledge objects, and playbooks in Splunk.

Architecture

Attack Range can be used in two different ways:

  • local using vagrant and virtualbox
  • in the cloud using terraform and AWS

In order to make Attack Range work on almost every laptop, the local version using Vagrant and Virtualbox consists of a subset of the full-blown cloud infrastructure in AWS using Terraform. The local version consists of a Splunk single instance and a Windows 10 workstation pre-configured with best practice logging configuration according to Splunk. The cloud infrastructure in AWS using Terraform consists of a Windows 10 workstation, a Windows 2016 server and a Splunk server. More information can be found in the wiki

Logical Diagram

Configuration

Running

Attack Range supports different actions:

  • Build Attack Range
  • Perform Attack Simulation
  • Search with Attack Range
  • Destroy Attack Range
  • Stop Attack Range
  • Resume Attack Range

Build Attack Range

  • Build Attack Range using Terraform
python attack_range.py -m terraform -a build
  • Build Attack Range using Vagrant
python attack_range.py -m vagrant -a build

Perform Attack Simulation

  • Perform Attack Simulation using Terraform
python attack_range.py -m terraform -a simulate -st T1117,T1003 -t attack-range-windows-domain-controller
  • Perform Attack Simulation using Vagrant
python attack_range.py -m vagrant -a simulate -st T1117,T1003 -t attack-range-win10

Search with Attack Range

  • Run a savedsearch with Terraform and return the results:
python attack_range.py -m terraform -a search -sn search_name
  • Run a savedsearch with Vagrant and return the results:
python attack_range.py -m vagrant -a search -sn search_name

Destroy Attack Range

  • Destroy Attack Range using Terraform
python attack_range.py -m terraform -a destroy
  • Destroy Attack Range using Vagrant
python attack_range.py -m vagrant -a destroy

Stop Attack Range

  • Stop Attack Range using Terraform
python attack_range.py -m terraform -a stop
  • Stop Attack Range using Vagrant
python attack_range.py -m vagrant -a stop

Resume Attack Range

  • Resume Attack Range using Terraform
python attack_range.py -m terraform -a resume
  • Resume Attack Range using Vagrant
python attack_range.py -m vagrant -a resume

Support

Please use the GitHub issue tracker to submit bugs or request features.

If you have questions or need support, you can:

Author

Contributors

Contributing

We welcome feedback and contributions from the community! Please see our contribution guidelines for more information on how to get involved.

attack_range's People

Contributors

josehelps avatar dependabot-preview[bot] avatar p4t12ick avatar philroyer-phantom avatar patel-bhavin avatar russnolen avatar bblacet avatar rosplk avatar rvaldez617 avatar trogdorsey avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.