vexance / Stratustryke

A small work-in-progress modular cloud security tool
2 stars 0 forks source link

Stratustryke - Modular cloud security tooling framework

Inspired by popular security frameworks such as Pacu and Metasploit, Stratustryke aims to consolidate cloud security tooling for multiple cloud providers into one easily configurable framework. The Stratustryke framework architecture is based off @rsmusllp's and @zeroSteiner's Termineter, and leverages modified versions of it's various components in addition to new functionality supporting Stratustryke's specific use-cases.

user@linux:~: ./stratustryke.py             

        ______           __           __           __           
       / __/ /________ _/ /___ _____ / /_______ __/ /_____      
      _\ \/ __/ __/ _ `/ __/ // (_-</ __/ __/ // /  '_/ -_)     
     /___/\__/_/  \_,_/\__/\_,_/___/\__/_/  \_, /_/\_\__/      
                                           /___/                

     stratustryke v0.2.1b
     Loaded modules: 17

stratustryke > 

Installation

Strautsryke can be installed with Git and Pip3. The earliest version of Python supported is currently Python3.7. Use of a Python virtual environment is reccomended to prevent dependency issues.

user@linux:~: git clone https://github.com/vexance/Stratustryke.git
user@linux:~: python3 -m venv ./Stratustryke
user@linux:~: source ./Stratustryke/bin/activate
user@linux:~: python3 -m pip install -r ./Stratustryke/requirements.txt

Note: Custom modules and packages added in a user's installation may require additional requirements which should be included in Stratustryke/stratustryke/modules/custom/requirements.txt

user@linux:~: cp /path/to/CustomStratustrykeContent ./Stratustryke/stratustryke/modules/custom/
user@linux:~: python3 -m pip install -r ./Stratustryke/stratustryke/modules/custom/requirements.txt

Usage

Stratustryke supports two primary methods of use - interactive and resource-based. By default, Stratustryke will launch an interactive command interpreter from which the user can configure options, manage credentials, and execute modules. Alternatively, a resource file containing interpreter commands can be specified at launch, which will make Stratustryke execute the commands from the resource file.

# Interactive
user@linux:~: ./stratustryke.py
# From resource file
user@linux:~: ./stratustryke.py -r path/to/file.rc
Strautstryke Help ~~~ user@linux:~: ./stratustryke.py --help usage: stratustryke.py [-h] [-v] [-L {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [-r RESOURCE_FILE] Straustryke: modular cloud security framework options: -h, --help show this help message and exit -v, --version show program's version number and exit -L {DEBUG,INFO,WARNING,ERROR,CRITICAL}, --log {DEBUG,INFO,WARNING,ERROR,CRITICAL} set the logging level -r RESOURCE_FILE, --rc-file RESOURCE_FILE execute a resource file ~~~

Interpreter Command Details

For a complete list of commands supported by the interpreter, refer to commands.md.

Custom Stratustryke Content

Included within Stratustryke is a directory untracked by git (Stratustryke/stratustryke/modules/custom/). To load private modules into Stratustryke, simply copy the modules into the custom directory or any sub-directory contained within it. These modules will be loaded so long as the modules implement the requirements detailed in the contribution guidelines.

Architecture

Stratustryke is implemented with several core components that integrate together to provide an interactive framework for use of modular tools (modules). The following sections provides a brief description regarding the purpose of each component and its interactions with other components.

Contributing

Stratustryke was built with the intent to facilitate contribution to the framework. For additional details on how to contribute, including an example of how to write a Stratustryke module, refer to contributing.md


If information on this page is inaccurate, missing, or out-of-date, please open a ticket here, tagging it with the 'documentation' and 'question' tags.