Skip to content

Commit

Permalink
Refactored ScoutSuite into a separate package rather than submodule
Browse files Browse the repository at this point in the history
  • Loading branch information
VakarisZ authored and mssalvatore committed Mar 17, 2021
1 parent 2a44cf8 commit fd058c7
Show file tree
Hide file tree
Showing 11 changed files with 29 additions and 56 deletions.
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,3 @@
[submodule "docs/themes/learn"]
path = docs/themes/learn
url = https://github.com/guardicode/hugo-theme-learn.git
[submodule "monkey/infection_monkey/system_info/collectors/scoutsuite"]
path = monkey/common/cloud/scoutsuite
url = https://github.com/guardicode/ScoutSuite.git
1 change: 0 additions & 1 deletion monkey/common/cloud/scoutsuite
Submodule scoutsuite deleted from 9de1e7
27 changes: 17 additions & 10 deletions monkey/infection_monkey/monkey.spec
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
# -*- mode: python -*-
import os
import sys
import platform

import sys

__author__ = 'itay.mizeretz'

from PyInstaller.utils.hooks import collect_data_files

block_cipher = None


def main():
print(collect_data_files('policyuniverse'))
a = Analysis(['main.py'],
pathex=['..'],
hiddenimports=get_hidden_imports(),
hookspath=['./pyinstaller_hooks'],
runtime_hooks=None,
binaries=None,
datas=[
("../common/BUILD", "/common")
("../common/BUILD", "/common")
],
excludes=None,
win_no_prefer_redirects=None,
Expand Down Expand Up @@ -48,7 +50,7 @@ def is_windows():


def is_32_bit():
return sys.maxsize <= 2**32
return sys.maxsize <= 2 ** 32


def get_bin_folder():
Expand Down Expand Up @@ -79,7 +81,12 @@ def get_linux_only_binaries():


def get_hidden_imports():
return ['_cffi_backend', 'queue', '_mssql'] if is_windows() else ['_cffi_backend','_mssql']
imports = ['ScoutSuite']
if is_windows():
imports.extend(['_cffi_backend', 'queue', '_mssql'])
else:
imports.extend(['_cffi_backend', '_mssql'])
return imports


def get_sc_binaries():
Expand All @@ -94,15 +101,15 @@ def get_traceroute_binaries():
def get_monkey_filename():
name = 'monkey-'
if is_windows():
name = name+"windows-"
name = name + "windows-"
else:
name = name+"linux-"
name = name + "linux-"
if is_32_bit():
name = name+"32"
name = name + "32"
else:
name = name+"64"
name = name + "64"
if is_windows():
name = name+".exe"
name = name + ".exe"
return name


Expand Down
1 change: 1 addition & 0 deletions monkey/infection_monkey/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ pypykatz==0.3.12
pysmb==1.2.5
requests>=2.24
wmi==1.5.1 ; sys_platform == 'win32'
git+https://github.com/guardicode/ScoutSuite

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import logging
from typing import Union

import infection_monkey.system_info.collectors.scoutsuite_collector.scoutsuite_api as scoutsuite_api
from common.cloud.scoutsuite.ScoutSuite.providers.base.provider import BaseProvider
import ScoutSuite.api_run
from ScoutSuite.providers.base.provider import BaseProvider

from common.cloud.scoutsuite_consts import CloudProviders
from common.utils.exceptions import ScoutSuiteScanError
from infection_monkey.config import WormConfiguration
Expand All @@ -22,10 +23,10 @@ def scan_cloud_security(cloud_type: CloudProviders):


def run_scoutsuite(cloud_type: str) -> Union[BaseProvider, dict]:
return scoutsuite_api.run(provider=cloud_type,
aws_access_key_id=WormConfiguration.aws_access_key_id,
aws_secret_access_key=WormConfiguration.aws_secret_access_key,
aws_session_token=WormConfiguration.aws_session_token)
return ScoutSuite.api_run.run(provider=cloud_type,
aws_access_key_id=WormConfiguration.aws_access_key_id,
aws_secret_access_key=WormConfiguration.aws_secret_access_key,
aws_session_token=WormConfiguration.aws_session_token)


def send_scoutsuite_run_results(run_results: BaseProvider):
Expand Down
4 changes: 2 additions & 2 deletions monkey/infection_monkey/telemetry/scoutsuite_telem.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from common.cloud.scoutsuite.ScoutSuite.output.result_encoder import ScoutJsonEncoder
from common.cloud.scoutsuite.ScoutSuite.providers.base.provider import BaseProvider
from ScoutSuite.output.result_encoder import ScoutJsonEncoder
from ScoutSuite.providers.base.provider import BaseProvider
from common.common_consts.telem_categories import TelemCategoryEnum
from infection_monkey.telemetry.base_telem import BaseTelem

Expand Down
13 changes: 0 additions & 13 deletions monkey/monkey_island/cc/services/zero_trust/scoutsuite/__init__.py

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def is_cloud_authentication_setup(provider: CloudProviders) -> Tuple[bool, str]:
if is_aws_keys_setup():
return True, "AWS keys already setup."

import common.cloud.scoutsuite.ScoutSuite.providers.aws.authentication_strategy as auth_strategy
import ScoutSuite.providers.aws.authentication_strategy as auth_strategy
try:
profile = auth_strategy.AWSAuthenticationStrategy().authenticate()
return True, f" Profile \"{profile.session.profile_name}\" is already setup. "
Expand Down
1 change: 1 addition & 0 deletions monkey/monkey_island/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,6 @@ tqdm>=4.47
virtualenv>=20.0.26
werkzeug>=1.0.1
wheel>=0.34.2
git+https://github.com/guardicode/ScoutSuite

pyjwt>=1.5.1 # not directly required, pinned by Snyk to avoid a vulnerability

0 comments on commit fd058c7

Please sign in to comment.