|
|
|
@ -18,7 +18,11 @@ class TestMachineConfig(unittest.TestCase):
|
|
|
|
|
""" The init is empty """
|
|
|
|
|
al = AttackLog()
|
|
|
|
|
self.assertIsNotNone(al)
|
|
|
|
|
self.assertEqual(al.get_dict(), [])
|
|
|
|
|
|
|
|
|
|
default = {"boilerplate": {'log_format_major_version': 1, 'log_format_minor_version': 1},
|
|
|
|
|
"system_overview": [],
|
|
|
|
|
"attack_log": []}
|
|
|
|
|
self.assertEqual(al.get_dict(), default)
|
|
|
|
|
|
|
|
|
|
def test_caldera_attack_start(self):
|
|
|
|
|
""" Starting a caldera attack """
|
|
|
|
@ -39,16 +43,16 @@ class TestMachineConfig(unittest.TestCase):
|
|
|
|
|
description=description
|
|
|
|
|
)
|
|
|
|
|
data = al.get_dict()
|
|
|
|
|
self.assertEqual(data[0]["event"], "start")
|
|
|
|
|
self.assertEqual(data[0]["type"], "attack")
|
|
|
|
|
self.assertEqual(data[0]["sub_type"], "caldera")
|
|
|
|
|
self.assertEqual(data[0]["source"], source)
|
|
|
|
|
self.assertEqual(data[0]["target_paw"], paw)
|
|
|
|
|
self.assertEqual(data[0]["target_group"], group)
|
|
|
|
|
self.assertEqual(data[0]["ability_id"], ability_id)
|
|
|
|
|
self.assertEqual(data[0]["hunting_tag"], "MITRE_" + ttp)
|
|
|
|
|
self.assertEqual(data[0]["name"], name)
|
|
|
|
|
self.assertEqual(data[0]["description"], description)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["event"], "start")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["type"], "attack")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["sub_type"], "caldera")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["source"], source)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["target_paw"], paw)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["target_group"], group)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["ability_id"], ability_id)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["hunting_tag"], "MITRE_" + ttp)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["name"], name)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["description"], description)
|
|
|
|
|
|
|
|
|
|
def test_caldera_attack_stop(self):
|
|
|
|
|
""" Stopping a caldera attack """
|
|
|
|
@ -69,16 +73,16 @@ class TestMachineConfig(unittest.TestCase):
|
|
|
|
|
description=description
|
|
|
|
|
)
|
|
|
|
|
data = al.get_dict()
|
|
|
|
|
self.assertEqual(data[0]["event"], "stop")
|
|
|
|
|
self.assertEqual(data[0]["type"], "attack")
|
|
|
|
|
self.assertEqual(data[0]["sub_type"], "caldera")
|
|
|
|
|
self.assertEqual(data[0]["source"], source)
|
|
|
|
|
self.assertEqual(data[0]["target_paw"], paw)
|
|
|
|
|
self.assertEqual(data[0]["target_group"], group)
|
|
|
|
|
self.assertEqual(data[0]["ability_id"], ability_id)
|
|
|
|
|
self.assertEqual(data[0]["hunting_tag"], "MITRE_" + ttp)
|
|
|
|
|
self.assertEqual(data[0]["name"], name)
|
|
|
|
|
self.assertEqual(data[0]["description"], description)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["event"], "stop")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["type"], "attack")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["sub_type"], "caldera")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["source"], source)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["target_paw"], paw)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["target_group"], group)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["ability_id"], ability_id)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["hunting_tag"], "MITRE_" + ttp)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["name"], name)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["description"], description)
|
|
|
|
|
|
|
|
|
|
def test_kali_attack_start(self):
|
|
|
|
|
""" Starting a kali attack """
|
|
|
|
@ -93,13 +97,13 @@ class TestMachineConfig(unittest.TestCase):
|
|
|
|
|
ttp=ttp,
|
|
|
|
|
)
|
|
|
|
|
data = al.get_dict()
|
|
|
|
|
self.assertEqual(data[0]["event"], "start")
|
|
|
|
|
self.assertEqual(data[0]["type"], "attack")
|
|
|
|
|
self.assertEqual(data[0]["sub_type"], "kali")
|
|
|
|
|
self.assertEqual(data[0]["source"], source)
|
|
|
|
|
self.assertEqual(data[0]["target"], target)
|
|
|
|
|
self.assertEqual(data[0]["kali_name"], attack_name)
|
|
|
|
|
self.assertEqual(data[0]["hunting_tag"], "MITRE_" + ttp)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["event"], "start")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["type"], "attack")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["sub_type"], "kali")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["source"], source)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["target"], target)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["kali_name"], attack_name)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["hunting_tag"], "MITRE_" + ttp)
|
|
|
|
|
|
|
|
|
|
def test_kali_attack_stop(self):
|
|
|
|
|
""" Stopping a kali attack """
|
|
|
|
@ -114,13 +118,13 @@ class TestMachineConfig(unittest.TestCase):
|
|
|
|
|
ttp=ttp,
|
|
|
|
|
)
|
|
|
|
|
data = al.get_dict()
|
|
|
|
|
self.assertEqual(data[0]["event"], "stop")
|
|
|
|
|
self.assertEqual(data[0]["type"], "attack")
|
|
|
|
|
self.assertEqual(data[0]["sub_type"], "kali")
|
|
|
|
|
self.assertEqual(data[0]["source"], source)
|
|
|
|
|
self.assertEqual(data[0]["target"], target)
|
|
|
|
|
self.assertEqual(data[0]["kali_name"], attack_name)
|
|
|
|
|
self.assertEqual(data[0]["hunting_tag"], "MITRE_" + ttp)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["event"], "stop")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["type"], "attack")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["sub_type"], "kali")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["source"], source)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["target"], target)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["kali_name"], attack_name)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["hunting_tag"], "MITRE_" + ttp)
|
|
|
|
|
|
|
|
|
|
def test_narration_start(self):
|
|
|
|
|
""" Starting a narration """
|
|
|
|
@ -130,10 +134,10 @@ class TestMachineConfig(unittest.TestCase):
|
|
|
|
|
al.start_narration(text
|
|
|
|
|
)
|
|
|
|
|
data = al.get_dict()
|
|
|
|
|
self.assertEqual(data[0]["event"], "start")
|
|
|
|
|
self.assertEqual(data[0]["type"], "narration")
|
|
|
|
|
self.assertEqual(data[0]["sub_type"], "user defined narration")
|
|
|
|
|
self.assertEqual(data[0]["text"], text)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["event"], "start")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["type"], "narration")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["sub_type"], "user defined narration")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["text"], text)
|
|
|
|
|
|
|
|
|
|
def test_build_start(self):
|
|
|
|
|
""" Starting a build """
|
|
|
|
@ -167,21 +171,21 @@ class TestMachineConfig(unittest.TestCase):
|
|
|
|
|
comment=comment
|
|
|
|
|
)
|
|
|
|
|
data = al.get_dict()
|
|
|
|
|
self.assertEqual(data[0]["event"], "start")
|
|
|
|
|
self.assertEqual(data[0]["type"], "build")
|
|
|
|
|
self.assertEqual(data[0]["dl_uri"], dl_uri)
|
|
|
|
|
self.assertEqual(data[0]["dl_uris"], dl_uris)
|
|
|
|
|
self.assertEqual(data[0]["payload"], payload)
|
|
|
|
|
self.assertEqual(data[0]["platform"], platform)
|
|
|
|
|
self.assertEqual(data[0]["architecture"], architecture)
|
|
|
|
|
self.assertEqual(data[0]["lhost"], lhost)
|
|
|
|
|
self.assertEqual(data[0]["lport"], lport)
|
|
|
|
|
self.assertEqual(data[0]["filename"], filename)
|
|
|
|
|
self.assertEqual(data[0]["encoding"], encoding)
|
|
|
|
|
self.assertEqual(data[0]["encoded_filename"], encoded_filename)
|
|
|
|
|
self.assertEqual(data[0]["sRDI_conversion"], sRDI_conversion)
|
|
|
|
|
self.assertEqual(data[0]["for_step"], for_step)
|
|
|
|
|
self.assertEqual(data[0]["comment"], comment)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["event"], "start")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["type"], "build")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["dl_uri"], dl_uri)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["dl_uris"], dl_uris)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["payload"], payload)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["platform"], platform)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["architecture"], architecture)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["lhost"], lhost)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["lport"], lport)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["filename"], filename)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["encoding"], encoding)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["encoded_filename"], encoded_filename)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["sRDI_conversion"], sRDI_conversion)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["for_step"], for_step)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["comment"], comment)
|
|
|
|
|
|
|
|
|
|
def test_build_start_default(self):
|
|
|
|
|
""" Starting a build default values"""
|
|
|
|
@ -189,21 +193,21 @@ class TestMachineConfig(unittest.TestCase):
|
|
|
|
|
|
|
|
|
|
al.start_build()
|
|
|
|
|
data = al.get_dict()
|
|
|
|
|
self.assertEqual(data[0]["event"], "start")
|
|
|
|
|
self.assertEqual(data[0]["type"], "build")
|
|
|
|
|
self.assertEqual(data[0]["dl_uri"], None)
|
|
|
|
|
self.assertEqual(data[0]["dl_uris"], None)
|
|
|
|
|
self.assertEqual(data[0]["payload"], None)
|
|
|
|
|
self.assertEqual(data[0]["platform"], None)
|
|
|
|
|
self.assertEqual(data[0]["architecture"], None)
|
|
|
|
|
self.assertEqual(data[0]["lhost"], None)
|
|
|
|
|
self.assertEqual(data[0]["lport"], None)
|
|
|
|
|
self.assertEqual(data[0]["filename"], None)
|
|
|
|
|
self.assertEqual(data[0]["encoding"], None)
|
|
|
|
|
self.assertEqual(data[0]["encoded_filename"], None)
|
|
|
|
|
self.assertEqual(data[0]["sRDI_conversion"], False)
|
|
|
|
|
self.assertEqual(data[0]["for_step"], None)
|
|
|
|
|
self.assertEqual(data[0]["comment"], None)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["event"], "start")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["type"], "build")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["dl_uri"], None)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["dl_uris"], None)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["payload"], None)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["platform"], None)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["architecture"], None)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["lhost"], None)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["lport"], None)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["filename"], None)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["encoding"], None)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["encoded_filename"], None)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["sRDI_conversion"], False)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["for_step"], None)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["comment"], None)
|
|
|
|
|
|
|
|
|
|
def test_build_stop(self):
|
|
|
|
|
""" Stopping a build """
|
|
|
|
@ -212,9 +216,9 @@ class TestMachineConfig(unittest.TestCase):
|
|
|
|
|
|
|
|
|
|
al.stop_build(logid=logid)
|
|
|
|
|
data = al.get_dict()
|
|
|
|
|
self.assertEqual(data[0]["event"], "stop")
|
|
|
|
|
self.assertEqual(data[0]["type"], "build")
|
|
|
|
|
self.assertEqual(data[0]["logid"], logid)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["event"], "stop")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["type"], "build")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["logid"], logid)
|
|
|
|
|
|
|
|
|
|
def test_metasploit_attack_start(self):
|
|
|
|
|
""" Starting a metasploit attack """
|
|
|
|
@ -229,13 +233,13 @@ class TestMachineConfig(unittest.TestCase):
|
|
|
|
|
ttp=ttp,
|
|
|
|
|
)
|
|
|
|
|
data = al.get_dict()
|
|
|
|
|
self.assertEqual(data[0]["event"], "start")
|
|
|
|
|
self.assertEqual(data[0]["type"], "attack")
|
|
|
|
|
self.assertEqual(data[0]["sub_type"], "metasploit")
|
|
|
|
|
self.assertEqual(data[0]["source"], source)
|
|
|
|
|
self.assertEqual(data[0]["target"], target)
|
|
|
|
|
self.assertEqual(data[0]["metasploit_command"], attack_name)
|
|
|
|
|
self.assertEqual(data[0]["hunting_tag"], "MITRE_" + ttp)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["event"], "start")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["type"], "attack")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["sub_type"], "metasploit")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["source"], source)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["target"], target)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["metasploit_command"], attack_name)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["hunting_tag"], "MITRE_" + ttp)
|
|
|
|
|
|
|
|
|
|
def test_metasploit_attack_stop(self):
|
|
|
|
|
""" Stopping a metasploit attack """
|
|
|
|
@ -250,13 +254,13 @@ class TestMachineConfig(unittest.TestCase):
|
|
|
|
|
ttp=ttp,
|
|
|
|
|
)
|
|
|
|
|
data = al.get_dict()
|
|
|
|
|
self.assertEqual(data[0]["event"], "stop")
|
|
|
|
|
self.assertEqual(data[0]["type"], "attack")
|
|
|
|
|
self.assertEqual(data[0]["sub_type"], "metasploit")
|
|
|
|
|
self.assertEqual(data[0]["source"], source)
|
|
|
|
|
self.assertEqual(data[0]["target"], target)
|
|
|
|
|
self.assertEqual(data[0]["metasploit_command"], attack_name)
|
|
|
|
|
self.assertEqual(data[0]["hunting_tag"], "MITRE_" + ttp)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["event"], "stop")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["type"], "attack")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["sub_type"], "metasploit")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["source"], source)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["target"], target)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["metasploit_command"], attack_name)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["hunting_tag"], "MITRE_" + ttp)
|
|
|
|
|
|
|
|
|
|
def test_attack_plugin_start(self):
|
|
|
|
|
""" Starting a attack plugin """
|
|
|
|
@ -271,13 +275,13 @@ class TestMachineConfig(unittest.TestCase):
|
|
|
|
|
ttp=ttp,
|
|
|
|
|
)
|
|
|
|
|
data = al.get_dict()
|
|
|
|
|
self.assertEqual(data[0]["event"], "start")
|
|
|
|
|
self.assertEqual(data[0]["type"], "attack")
|
|
|
|
|
self.assertEqual(data[0]["sub_type"], "attack_plugin")
|
|
|
|
|
self.assertEqual(data[0]["source"], source)
|
|
|
|
|
self.assertEqual(data[0]["target"], target)
|
|
|
|
|
self.assertEqual(data[0]["plugin_name"], attack_name)
|
|
|
|
|
self.assertEqual(data[0]["hunting_tag"], "MITRE_" + ttp)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["event"], "start")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["type"], "attack")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["sub_type"], "attack_plugin")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["source"], source)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["target"], target)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["plugin_name"], attack_name)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["hunting_tag"], "MITRE_" + ttp)
|
|
|
|
|
|
|
|
|
|
def test_attack_plugin_stop(self):
|
|
|
|
|
""" Stopping a attack plugin"""
|
|
|
|
@ -292,13 +296,13 @@ class TestMachineConfig(unittest.TestCase):
|
|
|
|
|
ttp=ttp,
|
|
|
|
|
)
|
|
|
|
|
data = al.get_dict()
|
|
|
|
|
self.assertEqual(data[0]["event"], "stop")
|
|
|
|
|
self.assertEqual(data[0]["type"], "attack")
|
|
|
|
|
self.assertEqual(data[0]["sub_type"], "attack_plugin")
|
|
|
|
|
self.assertEqual(data[0]["source"], source)
|
|
|
|
|
self.assertEqual(data[0]["target"], target)
|
|
|
|
|
self.assertEqual(data[0]["plugin_name"], attack_name)
|
|
|
|
|
self.assertEqual(data[0]["hunting_tag"], "MITRE_" + ttp)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["event"], "stop")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["type"], "attack")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["sub_type"], "attack_plugin")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["source"], source)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["target"], target)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["plugin_name"], attack_name)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["hunting_tag"], "MITRE_" + ttp)
|
|
|
|
|
|
|
|
|
|
def test_file_write_start(self):
|
|
|
|
|
""" Starting a file write """
|
|
|
|
@ -311,12 +315,12 @@ class TestMachineConfig(unittest.TestCase):
|
|
|
|
|
file_name=file_name,
|
|
|
|
|
)
|
|
|
|
|
data = al.get_dict()
|
|
|
|
|
self.assertEqual(data[0]["event"], "start")
|
|
|
|
|
self.assertEqual(data[0]["type"], "dropping_file")
|
|
|
|
|
self.assertEqual(data[0]["sub_type"], "by PurpleDome")
|
|
|
|
|
self.assertEqual(data[0]["source"], source)
|
|
|
|
|
self.assertEqual(data[0]["target"], target)
|
|
|
|
|
self.assertEqual(data[0]["file_name"], file_name)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["event"], "start")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["type"], "dropping_file")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["sub_type"], "by PurpleDome")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["source"], source)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["target"], target)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["file_name"], file_name)
|
|
|
|
|
|
|
|
|
|
def test_file_write_stop(self):
|
|
|
|
|
""" Stopping a file write """
|
|
|
|
@ -329,12 +333,12 @@ class TestMachineConfig(unittest.TestCase):
|
|
|
|
|
file_name=file_name,
|
|
|
|
|
)
|
|
|
|
|
data = al.get_dict()
|
|
|
|
|
self.assertEqual(data[0]["event"], "stop")
|
|
|
|
|
self.assertEqual(data[0]["type"], "dropping_file")
|
|
|
|
|
self.assertEqual(data[0]["sub_type"], "by PurpleDome")
|
|
|
|
|
self.assertEqual(data[0]["source"], source)
|
|
|
|
|
self.assertEqual(data[0]["target"], target)
|
|
|
|
|
self.assertEqual(data[0]["file_name"], file_name)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["event"], "stop")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["type"], "dropping_file")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["sub_type"], "by PurpleDome")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["source"], source)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["target"], target)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["file_name"], file_name)
|
|
|
|
|
|
|
|
|
|
def test_execute_payload_start(self):
|
|
|
|
|
""" Starting a execute payload """
|
|
|
|
@ -347,12 +351,12 @@ class TestMachineConfig(unittest.TestCase):
|
|
|
|
|
command=command,
|
|
|
|
|
)
|
|
|
|
|
data = al.get_dict()
|
|
|
|
|
self.assertEqual(data[0]["event"], "start")
|
|
|
|
|
self.assertEqual(data[0]["type"], "execute_payload")
|
|
|
|
|
self.assertEqual(data[0]["sub_type"], "by PurpleDome")
|
|
|
|
|
self.assertEqual(data[0]["source"], source)
|
|
|
|
|
self.assertEqual(data[0]["target"], target)
|
|
|
|
|
self.assertEqual(data[0]["command"], command)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["event"], "start")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["type"], "execute_payload")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["sub_type"], "by PurpleDome")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["source"], source)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["target"], target)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["command"], command)
|
|
|
|
|
|
|
|
|
|
def test_execute_payload_stop(self):
|
|
|
|
|
""" Stopping a execute payload """
|
|
|
|
@ -365,12 +369,12 @@ class TestMachineConfig(unittest.TestCase):
|
|
|
|
|
command=command,
|
|
|
|
|
)
|
|
|
|
|
data = al.get_dict()
|
|
|
|
|
self.assertEqual(data[0]["event"], "stop")
|
|
|
|
|
self.assertEqual(data[0]["type"], "execute_payload")
|
|
|
|
|
self.assertEqual(data[0]["sub_type"], "by PurpleDome")
|
|
|
|
|
self.assertEqual(data[0]["source"], source)
|
|
|
|
|
self.assertEqual(data[0]["target"], target)
|
|
|
|
|
self.assertEqual(data[0]["command"], command)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["event"], "stop")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["type"], "execute_payload")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["sub_type"], "by PurpleDome")
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["source"], source)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["target"], target)
|
|
|
|
|
self.assertEqual(data["attack_log"][0]["command"], command)
|
|
|
|
|
|
|
|
|
|
def test_mitre_fix_ttp_is_none(self):
|
|
|
|
|
""" Testing the mitre ttp fix for ttp being none """
|
|
|
|
|