
Инструмент пост-эксплуатации для серверов управления конфигурациями.
Авторские права 2020 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Согласно условиям контракта DE-NA0003525 с NTESS, правительство США сохраняет определенные права на это программное обеспечение
MOSE — это инструмент пост-эксплуатации, который помогает специалистам по безопасности использовать системы управления конфигурацией (CM) после компрометации. Инструменты CM, такие как Puppet, Chef, Salt и Ansible, могут выполнять команды на больших группах машин, но их DSL и рабочие процессы часто требуют времени для изучения под давлением. MOSE позволяет вам описать, что вы хотите выполнить, а затем автоматически создает специфичные для CM полезные нагрузки.


Установите следующее:
Golang — протестировано с версиями 1.12.7–1.15.2
Docker — протестировано с версиями 18.09.2–19.03.12
Получите код без клонирования репозитория:
go get -u -v github.com/master-of-servers/mose
Установите все зависимости Go и соберите бинарный файл (перед выполнением перейдите в репозиторий с помощью cd):
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.
Сгенерируйте и используйте TLS-сертификат, подписанный доверенным центром сертификации.
Самоподписанный сертификат и ключ предоставляются для вас, хотя их действительно не следует использовать. Этот ключ и сертификат широко распространены, поэтому вы не можете рассчитывать на конфиденциальность, если решите их использовать. Они находятся в каталоге data.
Примеры запуска MOSE вы можете найти в EXAMPLES.md.
Тестовые лаборатории, которые можно запустить с MOSE, находятся по следующим адресам:
MOSE предназначен для авторизованного тестирования безопасности и исследований. Убедитесь, что у вас есть явное разрешение на работу с любой средой.
Следующие ресурсы использовались для мотивации создания этого проекта: