├── .gitignore ├── .travis.yml ├── LICENSE.txt ├── README.rst ├── Vagrantfile ├── bin ├── .keep └── margaritashotgun ├── conf ├── file_config.yml.example ├── jump_host.yml.example ├── logging_config.yml.example ├── parallel_config.yml.example └── s3_config.yml.example ├── docs ├── .keep ├── Makefile ├── _static │ └── threatresponse_logo.png ├── about.rst ├── architecture.rst ├── conf.py ├── development.rst ├── index.rst ├── installing.rst ├── quickstart.rst ├── reference_guide.rst └── user_guide.rst ├── margaritashotgun ├── .keep ├── __init__.py ├── _version.py ├── auth.py ├── cli.py ├── client.py ├── exceptions.py ├── logger.py ├── memory.py ├── remote_host.py ├── remote_shell.py ├── repository.py ├── settings.py ├── ssh_tunnel.py ├── util │ ├── __init__.py │ └── parser.py └── workers.py ├── requirements.txt ├── setup.cfg ├── setup.py └── tests ├── .keep ├── __init__.py ├── files ├── encrypted.key ├── encrypted.key.pub ├── rsa.key ├── rsa.key.pub ├── validate_failing_aws.yml ├── validate_failing_host.yml ├── validate_failing_hosts.yml ├── validate_failing_logging.yml ├── validate_failing_root.yml ├── validate_passing.yml ├── yml_failing.yml └── yml_passing.yml └── unit ├── __init__.py ├── test_auth.py ├── test_cli.py ├── test_client.py ├── test_exceptions.py ├── test_memory.py ├── test_module.py ├── test_remote_shell.py └── test_util_parser.py /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/README.rst -------------------------------------------------------------------------------- /Vagrantfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/Vagrantfile -------------------------------------------------------------------------------- /bin/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bin/margaritashotgun: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/bin/margaritashotgun -------------------------------------------------------------------------------- /conf/file_config.yml.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/conf/file_config.yml.example -------------------------------------------------------------------------------- /conf/jump_host.yml.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/conf/jump_host.yml.example -------------------------------------------------------------------------------- /conf/logging_config.yml.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/conf/logging_config.yml.example -------------------------------------------------------------------------------- /conf/parallel_config.yml.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/conf/parallel_config.yml.example -------------------------------------------------------------------------------- /conf/s3_config.yml.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/conf/s3_config.yml.example -------------------------------------------------------------------------------- /docs/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/docs/Makefile -------------------------------------------------------------------------------- /docs/_static/threatresponse_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/docs/_static/threatresponse_logo.png -------------------------------------------------------------------------------- /docs/about.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/docs/about.rst -------------------------------------------------------------------------------- /docs/architecture.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/docs/architecture.rst -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/docs/conf.py -------------------------------------------------------------------------------- /docs/development.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/docs/development.rst -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/docs/index.rst -------------------------------------------------------------------------------- /docs/installing.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/docs/installing.rst -------------------------------------------------------------------------------- /docs/quickstart.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/docs/quickstart.rst -------------------------------------------------------------------------------- /docs/reference_guide.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/docs/reference_guide.rst -------------------------------------------------------------------------------- /docs/user_guide.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/docs/user_guide.rst -------------------------------------------------------------------------------- /margaritashotgun/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /margaritashotgun/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/margaritashotgun/__init__.py -------------------------------------------------------------------------------- /margaritashotgun/_version.py: -------------------------------------------------------------------------------- 1 | __version__ = '0.4.1' 2 | -------------------------------------------------------------------------------- /margaritashotgun/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/margaritashotgun/auth.py -------------------------------------------------------------------------------- /margaritashotgun/cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/margaritashotgun/cli.py -------------------------------------------------------------------------------- /margaritashotgun/client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/margaritashotgun/client.py -------------------------------------------------------------------------------- /margaritashotgun/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/margaritashotgun/exceptions.py -------------------------------------------------------------------------------- /margaritashotgun/logger.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/margaritashotgun/logger.py -------------------------------------------------------------------------------- /margaritashotgun/memory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/margaritashotgun/memory.py -------------------------------------------------------------------------------- /margaritashotgun/remote_host.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/margaritashotgun/remote_host.py -------------------------------------------------------------------------------- /margaritashotgun/remote_shell.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/margaritashotgun/remote_shell.py -------------------------------------------------------------------------------- /margaritashotgun/repository.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/margaritashotgun/repository.py -------------------------------------------------------------------------------- /margaritashotgun/settings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/margaritashotgun/settings.py -------------------------------------------------------------------------------- /margaritashotgun/ssh_tunnel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/margaritashotgun/ssh_tunnel.py -------------------------------------------------------------------------------- /margaritashotgun/util/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /margaritashotgun/util/parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/margaritashotgun/util/parser.py -------------------------------------------------------------------------------- /margaritashotgun/workers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/margaritashotgun/workers.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/requirements.txt -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [metadata] 2 | description-file = README.rst 3 | 4 | [flake8] 5 | ignore=E402,H238 6 | max-line-length=99 7 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/setup.py -------------------------------------------------------------------------------- /tests/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/files/encrypted.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/tests/files/encrypted.key -------------------------------------------------------------------------------- /tests/files/encrypted.key.pub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/tests/files/encrypted.key.pub -------------------------------------------------------------------------------- /tests/files/rsa.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/tests/files/rsa.key -------------------------------------------------------------------------------- /tests/files/rsa.key.pub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/tests/files/rsa.key.pub -------------------------------------------------------------------------------- /tests/files/validate_failing_aws.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/tests/files/validate_failing_aws.yml -------------------------------------------------------------------------------- /tests/files/validate_failing_host.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/tests/files/validate_failing_host.yml -------------------------------------------------------------------------------- /tests/files/validate_failing_hosts.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/tests/files/validate_failing_hosts.yml -------------------------------------------------------------------------------- /tests/files/validate_failing_logging.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/tests/files/validate_failing_logging.yml -------------------------------------------------------------------------------- /tests/files/validate_failing_root.yml: -------------------------------------------------------------------------------- 1 | workers: 1 2 | repository: 3 | enabled: True 4 | -------------------------------------------------------------------------------- /tests/files/validate_passing.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/tests/files/validate_passing.yml -------------------------------------------------------------------------------- /tests/files/yml_failing.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/tests/files/yml_failing.yml -------------------------------------------------------------------------------- /tests/files/yml_passing.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/tests/files/yml_passing.yml -------------------------------------------------------------------------------- /tests/unit/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/test_auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/tests/unit/test_auth.py -------------------------------------------------------------------------------- /tests/unit/test_cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/tests/unit/test_cli.py -------------------------------------------------------------------------------- /tests/unit/test_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/tests/unit/test_client.py -------------------------------------------------------------------------------- /tests/unit/test_exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/tests/unit/test_exceptions.py -------------------------------------------------------------------------------- /tests/unit/test_memory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/tests/unit/test_memory.py -------------------------------------------------------------------------------- /tests/unit/test_module.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/tests/unit/test_module.py -------------------------------------------------------------------------------- /tests/unit/test_remote_shell.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/tests/unit/test_remote_shell.py -------------------------------------------------------------------------------- /tests/unit/test_util_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThreatResponse/margaritashotgun/HEAD/tests/unit/test_util_parser.py --------------------------------------------------------------------------------