
Post-Exploitation-Tool für Konfigurationsverwaltungsserver.
Copyright 2020 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Unter den Bedingungen des Vertrags DE-NA0003525 mit NTESS behält die US-Regierung bestimmte Rechte an dieser Software.
MOSE ist ein Post-Exploitation-Tool, das Sicherheitsexperten hilft, Konfigurationsmanagement-Systeme (CM) nach einer Kompromittierung einzusetzen. CM-Tools wie Puppet, Chef, Salt und Ansible können Befehle auf großen Flotten ausführen, aber ihre DSLs und Arbeitsabläufe sind unter Druck oft nur langsam zu erlernen. MOSE ermöglicht es dir zu beschreiben, was du ausführen möchtest, und erstellt dann die CM-spezifischen Payloads für dich.


Installiere Folgendes:
Golang – getestet mit 1.12.7 bis 1.15.2
Docker – getestet mit 18.09.2 bis 19.03.12
Hole den Code, ohne das Repository zu klonen:
go get -u -v github.com/master-of-servers/mose
Installiere alle go-spezifischen Abhängigkeiten und erstelle die Binärdatei (stelle sicher, dass du vor der Ausführung in das Repository gewechselt bist):
make build
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.
Erstelle und verwende ein TLS-Zertifikat, das von einer vertrauenswürdigen Zertifizierungsstelle signiert ist.
Ein selbstsigniertes Zertifikat und ein Schlüssel werden dir zur Verfügung gestellt, obwohl du sie
eigentlich nicht verwenden solltest. Dieser Schlüssel und dieses Zertifikat sind weit verbreitet, sodass du
keine Privatsphäre erwarten kannst, wenn du sie dennoch verwendest. Du findest sie im Verzeichnis data.
Beispiele zur Nutzung von MOSE findest du in EXAMPLES.md.
Testlabore, die mit MOSE betrieben werden können, befinden sich hier:
MOSE ist für autorisierte Sicherheitstests und Forschung gedacht. Stelle sicher, dass du die ausdrückliche Erlaubnis hast, gegen eine Umgebung vorzugehen.
Die folgenden Ressourcen haben zur Motivation für die Erstellung dieses Projekts beigetragen: