Fix configure actions that were accidentally combined

This commit is contained in:
Marek Wolan
2025-01-20 10:23:13 +00:00
parent 4481d073e4
commit 4c0f87e8aa
4 changed files with 15 additions and 5 deletions

View File

@@ -19,7 +19,7 @@ __all__ = (
) )
class ConfigureRansomwareScriptAction(AbstractAction, identifier="c2_server_ransomware_configure"): class ConfigureRansomwareScriptAction(AbstractAction, identifier="configure_ransomware_script"):
"""Action which sets config parameters for a ransomware script on a node.""" """Action which sets config parameters for a ransomware script on a node."""
config: "ConfigureRansomwareScriptAction.ConfigSchema" config: "ConfigureRansomwareScriptAction.ConfigSchema"
@@ -45,6 +45,17 @@ class ConfigureRansomwareScriptAction(AbstractAction, identifier="c2_server_rans
return ["network", "node", config.node_name, "application", "RansomwareScript", "configure", data] return ["network", "node", config.node_name, "application", "RansomwareScript", "configure", data]
class RansomwareConfigureC2ServerAction(ConfigureRansomwareScriptAction, identifier="c2_server_ransomware_configure"):
"""Action which causes a C2 server to send a command to set options on a ransomware script remotely."""
@classmethod
def form_request(cls, config: ConfigureRansomwareScriptAction.ConfigSchema) -> RequestFormat:
data = dict(
server_ip_address=config.server_ip_address, server_password=config.server_password, payload=config.payload
)
return ["network", "node", config.node_name, "application", "C2Server", "ransomware_configure", data]
class ConfigureDoSBotAction(AbstractAction, identifier="configure_dos_bot"): class ConfigureDoSBotAction(AbstractAction, identifier="configure_dos_bot"):
"""Action which sets config parameters for a DoS bot on a node.""" """Action which sets config parameters for a DoS bot on a node."""

View File

@@ -50,7 +50,7 @@ agents:
node_name: client_1 node_name: client_1
server_password: correct_password server_password: correct_password
6: 6:
action: c2_server_ransomware_configure action: configure_ransomware_script
options: options:
node_name: client_2 node_name: client_2
server_ip_address: 10.0.0.5 server_ip_address: 10.0.0.5

View File

@@ -30,7 +30,6 @@ agents:
options: options:
source_node: client_1 source_node: client_1
target_ip_address: 192.168.10.0/24 target_ip_address: 192.168.10.0/24
target_protocol: tcp
target_port: target_port:
- 21 - 21
- 53 - 53

View File

@@ -122,7 +122,7 @@ class TestConfigureRansomwareScriptAction:
old_payload = ransomware_script.payload old_payload = ransomware_script.payload
action = ( action = (
"c2_server_ransomware_configure", "configure_ransomware_script",
{"node_name": "client_1", **config}, {"node_name": "client_1", **config},
) )
agent.store_action(action) agent.store_action(action)
@@ -145,7 +145,7 @@ class TestConfigureRansomwareScriptAction:
client_1.software_manager.install(RansomwareScript) client_1.software_manager.install(RansomwareScript)
ransomware_script: RansomwareScript = client_1.software_manager.software["RansomwareScript"] ransomware_script: RansomwareScript = client_1.software_manager.software["RansomwareScript"]
action = ( action = (
"c2_server_ransomware_configure", "configure_ransomware_script",
{ {
"node_name": "client_1", "node_name": "client_1",
"config": {"server_password": "admin123", "bad_option": 70}, "config": {"server_password": "admin123", "bad_option": 70},