diff --git a/app/config.py b/app/config.py index 27d978d..771c2a8 100644 --- a/app/config.py +++ b/app/config.py @@ -246,17 +246,17 @@ class ExperimentConfig(): return "4/8" return res - def get_kali_attacks(self, for_os): + def get_plugin_based_attacks(self, for_os): """ Get the configured kali attacks to run for a specific OS @param for_os: The os to query the registered attacks for """ - if "kali_attacks" not in self.raw_config: + if "plugin_based_attacks" not in self.raw_config: return [] - if for_os not in self.raw_config["kali_attacks"]: + if for_os not in self.raw_config["plugin_based_attacks"]: return [] - res = self.raw_config["kali_attacks"][for_os] + res = self.raw_config["plugin_based_attacks"][for_os] if res is None: return [] return res diff --git a/app/experimentcontrol.py b/app/experimentcontrol.py index 7b05189..68a3a2e 100644 --- a/app/experimentcontrol.py +++ b/app/experimentcontrol.py @@ -151,18 +151,18 @@ class Experiment(): self.attack_logger.vprint(f"{CommandlineColors.OKGREEN}Finished Caldera attacks{CommandlineColors.ENDC}", 1) # Run Kali attacks - self.attack_logger.vprint(f"{CommandlineColors.OKBLUE}Running Kali attacks{CommandlineColors.ENDC}", 1) + self.attack_logger.vprint(f"{CommandlineColors.OKBLUE}Running attack plugins{CommandlineColors.ENDC}", 1) for target_1 in self.targets: - kali_attacks = self.experiment_config.get_kali_attacks(target_1.get_os()) - for attack in kali_attacks: + plugin_based_attacks = self.experiment_config.get_plugin_based_attacks(target_1.get_os()) + for attack in plugin_based_attacks: # TODO: Work with snapshots self.attack_logger.vprint(f"Attacking machine with PAW: {target_1.get_paw()} with attack: {attack}", 1) - # self.attacker_1.kali_attack(attack, target_1.get_ip(), self.experiment_config) + self.attack(target_1, attack) self.attack_logger.vprint(f"Pausing before next attack (config: nap_time): {self.experiment_config.get_nap_time()}", 3) time.sleep(self.experiment_config.get_nap_time()) - self.attack_logger.vprint(f"{CommandlineColors.OKGREEN}Finished Kali attacks{CommandlineColors.ENDC}", 1) + self.attack_logger.vprint(f"{CommandlineColors.OKGREEN}Finished attack plugins{CommandlineColors.ENDC}", 1) # Stop sensor plugins # Collect data diff --git a/plugins/default/adversary_emulations/FIN7/local_experiment_config.yaml b/plugins/default/adversary_emulations/FIN7/local_experiment_config.yaml index 12d4c50..9535139 100644 --- a/plugins/default/adversary_emulations/FIN7/local_experiment_config.yaml +++ b/plugins/default/adversary_emulations/FIN7/local_experiment_config.yaml @@ -139,8 +139,8 @@ caldera_conf: ### -# Kali tool based attacks. Will result in kali commandline tools to be called. Currently supported are: "hydra" -kali_attacks: +# Plugin based attacks. Will result in plugins being called +plugin_based_attacks: ### # Linux specific attacks, a list linux: diff --git a/template.yaml b/template.yaml index e487c62..26a72e3 100644 --- a/template.yaml +++ b/template.yaml @@ -239,8 +239,8 @@ caldera_attacks: - "bd527b63-9f9e-46e0-9816-b8434d2b8989" ### -# Kali tool based attacks. Will result in kali commandline tools to be called. Currently supported are: "hydra" -kali_attacks: +# Plugin based attacks. Will result in plugins being called +plugin_based_attacks: ### # Linux specific attacks, a list linux: diff --git a/tests/data/attacker_has_empty_nicknames.yaml b/tests/data/attacker_has_empty_nicknames.yaml index cc42c98..534a24d 100644 --- a/tests/data/attacker_has_empty_nicknames.yaml +++ b/tests/data/attacker_has_empty_nicknames.yaml @@ -121,8 +121,8 @@ caldera_attacks: - "bd527b63-9f9e-46e0-9816-b8434d2b8989" ### -# Kali tool based attacks. Will result in kali commandline tools to be called. Currently supported are: "hydra" -kali_attacks: +# Plugin based attacks. Will result in plugins being called +plugin_based_attacks: ### # Linux specific attacks, a list linux: diff --git a/tests/data/attacks_half.yaml b/tests/data/attacks_half.yaml index 1155c50..1c1fb01 100644 --- a/tests/data/attacks_half.yaml +++ b/tests/data/attacks_half.yaml @@ -109,8 +109,8 @@ caldera_attacks: ## A bug in production was triggered by this half config. Adding a unit test ### -# Kali tool based attacks. Will result in kali commandline tools to be called. Currently supported are: "hydra" -kali_attacks: +# Plugin based attacks. Will result in plugins being called +plugin_based_attacks: ### # Linux specific attacks, a list linux: diff --git a/tests/data/attacks_missing.yaml b/tests/data/attacks_missing.yaml index 377f040..99fed54 100644 --- a/tests/data/attacks_missing.yaml +++ b/tests/data/attacks_missing.yaml @@ -108,8 +108,8 @@ targets: # This is intentionally missing !!!! ### -# Kali tool based attacks. Will result in kali commandline tools to be called. Currently supported are: "hydra" -#kali_attacks: +# Plugin based attacks. Will result in plugins being called +#plugin_based_attacks: ### # Linux specific attacks, a list # linux: diff --git a/tests/data/attacks_perfect.yaml b/tests/data/attacks_perfect.yaml index dea76e7..92d5188 100644 --- a/tests/data/attacks_perfect.yaml +++ b/tests/data/attacks_perfect.yaml @@ -118,8 +118,8 @@ caldera_attacks: - "bar" ### -# Kali tool based attacks. Will result in kali commandline tools to be called. Currently supported are: "hydra" -kali_attacks: +# Plugin based attacks. Will result in plugins being called +plugin_based_attacks: ### # Linux specific attacks, a list linux: diff --git a/tests/data/basic.yaml b/tests/data/basic.yaml index 3331743..9d26f3c 100644 --- a/tests/data/basic.yaml +++ b/tests/data/basic.yaml @@ -111,8 +111,8 @@ caldera_attacks: - "bd527b63-9f9e-46e0-9816-b8434d2b8989" ### -# Kali tool based attacks. Will result in kali commandline tools to be called. Currently supported are: "hydra" -kali_attacks: +# Plugin based attacks. Will result in plugins being called +plugin_based_attacks: ### # Linux specific attacks, a list linux: diff --git a/tests/data/basic_empty_sensor.yaml b/tests/data/basic_empty_sensor.yaml index 9aad123..94cb02b 100644 --- a/tests/data/basic_empty_sensor.yaml +++ b/tests/data/basic_empty_sensor.yaml @@ -111,8 +111,8 @@ caldera_attacks: - "bd527b63-9f9e-46e0-9816-b8434d2b8989" ### -# Kali tool based attacks. Will result in kali commandline tools to be called. Currently supported are: "hydra" -kali_attacks: +# Plugin based attacks. Will result in plugins being called +plugin_based_attacks: ### # Linux specific attacks, a list linux: diff --git a/tests/data/basic_loot_missing.yaml b/tests/data/basic_loot_missing.yaml index 504624b..1f027bd 100644 --- a/tests/data/basic_loot_missing.yaml +++ b/tests/data/basic_loot_missing.yaml @@ -111,8 +111,8 @@ caldera_attacks: - "bd527b63-9f9e-46e0-9816-b8434d2b8989" ### -# Kali tool based attacks. Will result in kali commandline tools to be called. Currently supported are: "hydra" -kali_attacks: +# Plugin based attacks. Will result in plugins being called +plugin_based_attacks: ### # Linux specific attacks, a list linux: diff --git a/tests/data/basic_results_missing.yaml b/tests/data/basic_results_missing.yaml index f659ecc..817623a 100644 --- a/tests/data/basic_results_missing.yaml +++ b/tests/data/basic_results_missing.yaml @@ -111,8 +111,8 @@ caldera_attacks: - "bd527b63-9f9e-46e0-9816-b8434d2b8989" ### -# Kali tool based attacks. Will result in kali commandline tools to be called. Currently supported are: "hydra" -kali_attacks: +# Plugin based attacks. Will result in plugins being called +plugin_based_attacks: ### # Linux specific attacks, a list linux: diff --git a/tests/data/nap_time_missing.yaml b/tests/data/nap_time_missing.yaml index 718aada..3e11860 100644 --- a/tests/data/nap_time_missing.yaml +++ b/tests/data/nap_time_missing.yaml @@ -104,8 +104,8 @@ caldera_attacks: - "bd527b63-9f9e-46e0-9816-b8434d2b8989" ### -# Kali tool based attacks. Will result in kali commandline tools to be called. Currently supported are: "hydra" -kali_attacks: +# Plugin based attacks. Will result in plugins being called +plugin_based_attacks: ### # Linux specific attacks, a list linux: diff --git a/tests/test_config.py b/tests/test_config.py index 35ea34d..7080c52 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -638,28 +638,28 @@ class TestExperimentConfig(unittest.TestCase): ex = ExperimentConfig("tests/data/attacks_missing.yaml") - self.assertEqual(ex.get_kali_attacks("linux"), []) + self.assertEqual(ex.get_plugin_based_attacks("linux"), []) def test_kali_attacks_empty(self): """ zero entries in kali attacks list """ ex = ExperimentConfig("tests/data/attacks_perfect.yaml") - self.assertEqual(ex.get_kali_attacks("missing"), []) + self.assertEqual(ex.get_plugin_based_attacks("missing"), []) def test_kali_attacks_one(self): """ One entry in kali attacks list """ ex = ExperimentConfig("tests/data/attacks_perfect.yaml") - self.assertEqual(ex.get_kali_attacks("linux"), ["hydra"]) + self.assertEqual(ex.get_plugin_based_attacks("linux"), ["hydra"]) def test_kali_attacks_many(self): """ Many entries in kali attacks list """ ex = ExperimentConfig("tests/data/attacks_perfect.yaml") - self.assertEqual(ex.get_kali_attacks("windows"), ["hydra", "medusa", "skylla"]) + self.assertEqual(ex.get_plugin_based_attacks("windows"), ["hydra", "medusa", "skylla"]) def test_caldera_attacks_missing(self): """ caldera attacks entry fully missing from config """ @@ -673,8 +673,8 @@ class TestExperimentConfig(unittest.TestCase): ex = ExperimentConfig("tests/data/attacks_half.yaml") - self.assertEqual(ex.get_kali_attacks("linux"), ["hydra"]) - self.assertEqual(ex.get_kali_attacks("windows"), []) + self.assertEqual(ex.get_plugin_based_attacks("linux"), ["hydra"]) + self.assertEqual(ex.get_plugin_based_attacks("windows"), []) def test_caldera_attacks_half(self): """ caldera attacks entry partially missing from config """