master-of-servers / Mose

Licence: other
Post exploitation tool for configuration management servers.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Mose

Toonin
Technology that allows you to tune in to your friends and family in realtime using peer-to-peer sharing.
Stars: ✭ 67 (+0%)
Mutual labels:  hacktoberfest
Polybar
A fast and easy-to-use status bar
Stars: ✭ 9,604 (+14234.33%)
Mutual labels:  hacktoberfest
Tether
A positioning engine to make overlays, tooltips and dropdowns better
Stars: ✭ 8,444 (+12502.99%)
Mutual labels:  hacktoberfest
Nvim Treesitter
Nvim Treesitter configurations and abstraction layer
Stars: ✭ 1,129 (+1585.07%)
Mutual labels:  hacktoberfest
Reflectioncommon
No description or website provided.
Stars: ✭ 8,627 (+12776.12%)
Mutual labels:  hacktoberfest
Typeresolver
A PSR-5 based resolver of Class names, Types and Structural Element Names
Stars: ✭ 8,712 (+12902.99%)
Mutual labels:  hacktoberfest
Busy Beaver
The Chicago Python Community Engagement Slack bot
Stars: ✭ 66 (-1.49%)
Mutual labels:  hacktoberfest
Rsyslog
Development repository for the rsyslog cookbook
Stars: ✭ 66 (-1.49%)
Mutual labels:  hacktoberfest
Ts Node
TypeScript execution and REPL for node.js
Stars: ✭ 9,571 (+14185.07%)
Mutual labels:  hacktoberfest
Cakephp
CakePHP: The Rapid Development Framework for PHP - Official Repository
Stars: ✭ 8,453 (+12516.42%)
Mutual labels:  hacktoberfest
Webmonkeys
Massively parallel GPU programming on JavaScript, simple and clean.
Stars: ✭ 1,147 (+1611.94%)
Mutual labels:  hacktoberfest
Vue Storefront
The open-source frontend for any eCommerce. Built with a PWA and headless approach, using a modern JS stack. We have custom integrations with Magento, commercetools, Shopware and Shopify and total coverage is just a matter of time. The API approach also allows you to merge VSF with any third-party tool like CMS, payment gateways or analytics. Ne…
Stars: ✭ 9,111 (+13498.51%)
Mutual labels:  hacktoberfest
Zaproxy
The OWASP ZAP core project
Stars: ✭ 9,078 (+13449.25%)
Mutual labels:  hacktoberfest
Kmon
Linux Kernel Manager and Activity Monitor 🐧💻
Stars: ✭ 1,142 (+1604.48%)
Mutual labels:  hacktoberfest
Mobileautomationframework
Single code base framework to test android and iOS app using appium (v6.1.0), maven, testng,java. Option to start appium server programmatically.
Stars: ✭ 66 (-1.49%)
Mutual labels:  hacktoberfest
Helloworld
HacktoberFest Hello World in every language ever. Just fork it and get started.
Stars: ✭ 66 (-1.49%)
Mutual labels:  hacktoberfest
Falcon
The no-nonsense REST API and microservices framework for Python developers, with a focus on reliability, correctness, and performance at scale.
Stars: ✭ 8,654 (+12816.42%)
Mutual labels:  hacktoberfest
Hacktoberfest2020 Expert
Hacktoberfest 2020. Don't forget to spread love and if you like give me a ⭐️
Stars: ✭ 67 (+0%)
Mutual labels:  hacktoberfest
Slash
The Slash testing infrastructure
Stars: ✭ 66 (-1.49%)
Mutual labels:  hacktoberfest
Vee Validate
✅ Form Validation for Vue.js
Stars: ✭ 8,820 (+13064.18%)
Mutual labels:  hacktoberfest

MOSE (Master Of SErvers)

Dc27Badge Go Report Card License Build Status

Copyright 2020 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software

MOSE is a post exploitation tool that enables security professionals with little or no experience with configuration management (CM) technologies to leverage them to compromise environments. CM tools, such as Puppet, Chef, Salt, and Ansible are used to provision systems in a uniform manner based on their function in a network. Upon successfully compromising a CM server, an attacker can use these tools to run commands on any and all systems that are in the CM server’s inventory. However, if the attacker does not have experience with these types of tools, there can be a very time-consuming learning curve. MOSE allows an operator to specify what they want to run without having to get bogged down in the details of how to write code specific to a proprietary CM tool. It also automatically incorporates the desired commands into existing code on the system, removing that burden from the user. MOSE allows the operator to choose which assets they want to target within the scope of the server’s inventory, whether this is a subset of clients or all clients. This is useful for targeting specific assets such as web servers or choosing to take over all of the systems in the CM server’s inventory.

MOSE + Puppet

Mose + Chef

Dependencies

You must download and install the following for MOSE to work:

  • Golang - tested with 1.12.7 through 1.15.2

Be sure to properly set your GOROOT, PATH and GOPATH env vars

  • Docker - tested with 18.09.2 through 19.03.12

Getting started

Grab the code without having to clone the repo:

go get -u -v github.com/master-of-servers/mose

Install all go-specific dependencies and build the binary (be sure to cd into the repo before running this):

make build

Usage

Usage:
  github.com/master-of-servers/mose [command]

Available Commands:
  ansible     Create MOSE payload for ansible
  chef        Create MOSE payload for chef
  help        Help about any command
  puppet      Create MOSE payload for puppet
  salt        Create MOSE payload for salt

Flags:
      --basedir string            Location of payloads output by mose (default "/Users/l/programs/go/src/github.com/master-of-servers/mose")
  -c, --cmd string                Command to run on the targets
      --config string             config file (default is $PWD/.settings.yaml)
      --debug                     Display debug output
      --exfilport int             Port used to exfil data from chef server (default 9090, 443 with SSL) (default 9090)
  -f, --filepath string           Output binary locally at <filepath>
  -u, --fileupload string         File upload option
  -h, --help                      help for github.com/master-of-servers/mose
  -l, --localip string            Local IP Address
      --nocolor                   Disable colors for mose
  -a, --osarch string             Architecture that the target CM tool is running on
  -o, --ostarget string           Operating system that the target CM server is on (default "linux")
  -m, --payloadname string        Name for backdoor payload (default "my_cmd")
      --payloads string           Location of payloads output by mose (default "/Users/l/programs/go/src/github.com/master-of-servers/mose/payloads")
      --remoteuploadpath string   Remote file path to upload a script to (used in conjunction with -fu) (default "/root/.definitelynotevil")
  -r, --rhost string              Set the remote host for /etc/hosts in the chef workstation container (format is hostname:ip)
      --ssl                       Serve payload over TLS
      --tts int                   Number of seconds to serve the payload (default 60)
      --websrvport int            Port used to serve payloads (default 8090, 443 with SSL) (default 8090)

Use "github.com/master-of-servers/mose [command] --help" for more information about a command.

TLS Certificates

You should generate and use a TLS certificate signed by a trusted Certificate Authority

A self-signed certificate and key are provided for you, although you really shouldn't use them. This key and certificate are widely distributed, so you can not expect privacy if you do choose to use them. They can be found in the data directory.

Examples

You can find some examples of how to run MOSE in EXAMPLES.md.

Test Labs

Test labs that can be run with MOSE are at these locations:

Credits

The following resources were used to help motivate the creation of this project:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].