
Herramienta de post-explotación para servidores de gestión de configuración.
Copyright 2020 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Bajo los términos del Contrato DE-NA0003525 con NTESS, el Gobierno de los EE. UU. retiene ciertos derechos sobre este software.
MOSE es una herramienta de post-explotación que ayuda a los profesionales de seguridad a aprovechar los sistemas de gestión de configuración (CM) tras un compromiso. Herramientas CM como Puppet, Chef, Salt y Ansible pueden ejecutar comandos en grandes flotas, pero sus DSL y flujos de trabajo suelen ser lentos de aprender bajo presión. MOSE te permite describir lo que deseas ejecutar, y luego construye los payloads específicos del CM por ti.


Instala lo siguiente:
Golang - probado con 1.12.7 hasta 1.15.2
Docker - probado con 18.09.2 hasta 19.03.12
Obtén el código sin tener que clonar el repositorio:
go get -u -v github.com/master-of-servers/mose
Instala todas las dependencias específicas de Go y construye el binario (asegúrate de cd
dentro del repositorio antes de ejecutar esto):
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.
Genera y utiliza un certificado TLS firmado por una Autoridad de Certificación de confianza.
Se proporcionan un certificado y una clave autofirmados, aunque realmente no deberías
usarlos. Esta clave y certificado están ampliamente distribuidos, por lo que no puedes
esperar privacidad si decides usarlos. Se encuentran en el directorio data.
Puedes encontrar algunos ejemplos de cómo ejecutar MOSE en EXAMPLES.md.
Los laboratorios de prueba que se pueden ejecutar con MOSE se encuentran en estas ubicaciones:
MOSE está pensado para pruebas de seguridad e investigación autorizadas. Asegúrate de tener permiso explícito para operar contra cualquier entorno.
Los siguientes recursos se utilizaron para motivar la creación de este proyecto: