
구성 관리 서버를 위한 사후 침투 도구.
Copyright 2020 National Technology & Engineering Solutions of Sandia, LLC (NTESS)
Under the terms of Contract DE-NA0003525 with NTESS,
the U.S. Government retains certain rights in this software
MOSE는 침투 이후(post-exploitation) 도구로, 보안 전문가가 침투 후 구성 관리(CM) 시스템을 활용할 수 있도록 도와줍니다.
Puppet, Chef, Salt, Ansible 같은 CM 도구는 대규모 시스템 전반에 명령을 실행할 수 있지만, 이들의 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.
신뢰할 수 있는 인증 기관(CA)이 서명한 TLS 인증서를 생성하여 사용하세요.
자체 서명된 인증서와 키가 제공되지만, 실제로 사용하는 것은 권장되지 않습니다. 이 키와 인증서는 널리 배포되었으므로, 이를 사용할 경우 개인정보 보호를 기대할 수 없습니다. data 디렉터리에서 찾을 수 있습니다.
MOSE 실행 방법에 대한 예제는 EXAMPLES.md에서 확인할 수 있습니다.
MOSE와 함께 사용할 수 있는 테스트 랩은 다음 위치에 있습니다:
MOSE는 공인된 보안 테스트 및 연구 목적으로만 사용해야 합니다. 어떠한 환경에서 작업하기 전에 명시적 허가를 받았는지 확인하세요.
이 프로젝트를 만드는 데 영감을 준 다음 자료를 참고했습니다: