
Outil de post-exploitation pour les serveurs de gestion de configuration.
Copyright 2020 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Selon les termes du contrat DE-NA0003525 avec NTESS, le gouvernement américain conserve certains droits sur ce logiciel.
MOSE est un outil de post-exploitation qui aide les professionnels de la sécurité à tirer parti des systèmes de gestion de configuration (CM) après une compromission. Les outils de CM comme Puppet, Chef, Salt et Ansible peuvent exécuter des commandes sur de larges flottes, mais leurs DSL et workflows sont souvent lents à apprendre sous pression. MOSE vous permet de décrire ce que vous voulez exécuter, puis construit les charges utiles spécifiques au CM pour vous.


Installez les éléments suivants :
Golang - testé avec 1.12.7 à 1.15.2
Docker - testé avec 18.09.2 à 19.03.12
Récupérez le code sans avoir à cloner le dépôt :
go get -u -v github.com/master-of-servers/mose
Installez toutes les dépendances spécifiques à Go et construisez le binaire (assurez-vous de vous placer dans le répertoire du dépôt avant d'exécuter cette commande) :
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.
Générez et utilisez un certificat TLS signé par une Autorité de Certification de confiance.
Un certificat auto-signé et une clé vous sont fournis, bien que vous ne devriez vraiment pas les utiliser. Cette clé et ce certificat sont largement distribués, vous ne pouvez donc pas vous attendre à la confidentialité si vous choisissez de les utiliser. Ils se trouvent dans le répertoire data.
Vous trouverez quelques exemples d'utilisation de MOSE dans EXAMPLES.md.
Les laboratoires de test pouvant être utilisés avec MOSE se trouvent aux adresses suivantes :
MOSE est destiné aux tests de sécurité autorisés et à la recherche. Assurez-vous d'avoir l'autorisation explicite d'opérer dans tout environnement.
Les ressources suivantes ont été utilisées pour motiver la création de ce projet :