
構成管理サーバー向けポストエクスプロイテーションツール
Copyright 2020 National Technology & Engineering Solutions of Sandia, LLC (NTESS). NTESSとの契約(DE-NA0003525)に基づき、米国政府は本ソフトウェアに一定の権利を保持します。
MOSEは、侵害後に構成管理(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.
信頼できる認証局によって署名されたTLS証明書を生成して使用してください。
自己署名証明書と鍵が提供されていますが、実際には使用しないでください。この鍵と証明書は広く配布されているため、使用した場合のプライバシーは期待できません。これらはdataディレクトリにあります。
MOSEの実行例はEXAMPLES.mdにあります。
MOSEで実行可能なテストラボは以下の場所にあります:
MOSEは許可されたセキュリティテストおよび研究を目的としています。いかなる環境でも操作する前に、明示的な許可を得てください。
本プロジェクトの作成にあたり、以下のリソースを参考にしました: