
Ferramenta de pós-exploração para servidores de gerenciamento de configuração.
Copyright 2020 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Sob os termos do Contrato DE-NA0003525 com a NTESS, o Governo dos EUA retém certos direitos sobre este software.
MOSE é uma ferramenta de pós-exploração que ajuda profissionais de segurança a aproveitar sistemas de gerenciamento de configuração (CM) após um comprometimento. Ferramentas de CM como Puppet, Chef, Salt e Ansible podem executar comandos em grandes frotas, mas seus DSLs e fluxos de trabalho são frequentemente lentos para aprender sob pressão. O MOSE permite que você descreva o que deseja executar e, em seguida, constrói os payloads específicos do CM para você.


Instale o seguinte:
Golang - testado com 1.12.7 até 1.15.2
Docker - testado com 18.09.2 até 19.03.12
Obtenha o código sem precisar clonar o repositório:
go get -u -v github.com/master-of-servers/mose
Instale todas as dependências específicas do Go e compile o binário (certifique-se de
cd para dentro do repositório antes de executar isso):
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.
Gere e utilize um certificado TLS assinado por uma Autoridade Certificadora confiável.
Um certificado autoassinado e uma chave são fornecidos para você, embora você realmente
não deva usá-los. Esta chave e certificado são amplamente distribuídos, portanto você não
pode esperar privacidade se optar por usá-los. Eles podem ser encontrados no diretório data.
Você pode encontrar alguns exemplos de como executar o MOSE em EXAMPLES.md.
Laboratórios de teste que podem ser executados com o MOSE estão nestes locais:
O MOSE é destinado a testes de segurança autorizados e pesquisas. Certifique-se de ter permissão explícita para operar contra qualquer ambiente.
Os seguintes recursos foram usados para ajudar a motivar a criação deste projeto: