Fix mismerge of c2 e2e notebook

This commit is contained in:
Marek Wolan
2025-02-26 18:11:42 +00:00
parent b4b0f99c23
commit 8c399c4f61

View File

@@ -59,7 +59,7 @@
"custom_c2_agent = \"\"\"\n", "custom_c2_agent = \"\"\"\n",
" - ref: CustomC2Agent\n", " - ref: CustomC2Agent\n",
" team: RED\n", " team: RED\n",
" type: ProxyAgent\n", " type: proxy-agent\n",
"\n", "\n",
" action_space:\n", " action_space:\n",
" action_map:\n", " action_map:\n",
@@ -74,12 +74,8 @@
" 2:\n", " 2:\n",
" action: configure-c2-beacon\n", " action: configure-c2-beacon\n",
" options:\n", " options:\n",
" node_id: 0\n", " node_name: web_server\n",
" config:\n",
" c2_server_ip_address: 192.168.10.21\n", " c2_server_ip_address: 192.168.10.21\n",
" keep_alive_frequency:\n",
" masquerade_protocol:\n",
" masquerade_port:\n",
" 3:\n", " 3:\n",
" action: node-application-execute\n", " action: node-application-execute\n",
" options:\n", " options:\n",
@@ -101,8 +97,7 @@
" 5:\n", " 5:\n",
" action: c2-server-ransomware-configure\n", " action: c2-server-ransomware-configure\n",
" options:\n", " options:\n",
" node_id: 1\n", " node_name: client_1\n",
" config:\n",
" server_ip_address: 192.168.1.14\n", " server_ip_address: 192.168.1.14\n",
" payload: ENCRYPT\n", " payload: ENCRYPT\n",
" 6:\n", " 6:\n",
@@ -123,25 +118,20 @@
" 8:\n", " 8:\n",
" action: configure-c2-beacon\n", " action: configure-c2-beacon\n",
" options:\n", " options:\n",
" node_id: 0\n", " node_name: web_server\n",
" config:\n",
" c2_server_ip_address: 192.168.10.21\n", " c2_server_ip_address: 192.168.10.21\n",
" keep_alive_frequency: 10\n", " keep_alive_frequency: 10\n",
" masquerade_protocol: TCP\n", " masquerade_protocol: tcp\n",
" masquerade_port: DNS\n", " masquerade_port: dns\n",
" 9:\n", " 9:\n",
" action: configure-c2-beacon\n", " action: configure-c2-beacon\n",
" options:\n", " options:\n",
" node_id: 0\n", " node_name: web_server\n",
" config:\n",
" c2_server_ip_address: 192.168.10.22\n", " c2_server_ip_address: 192.168.10.22\n",
" keep_alive_frequency:\n",
" masquerade_protocol:\n",
" masquerade_port:\n",
"\n", "\n",
" reward_function:\n", " reward_function:\n",
" reward_components:\n", " reward_components:\n",
" - type: DUMMY\n", " - type: dummy\n",
"\"\"\"\n", "\"\"\"\n",
"c2_agent_yaml = yaml.safe_load(custom_c2_agent)" "c2_agent_yaml = yaml.safe_load(custom_c2_agent)"
] ]
@@ -287,13 +277,6 @@
"\n", "\n",
"```yaml\n", "```yaml\n",
" action_space:\n", " action_space:\n",
" options:\n",
" nodes: # Node List\n",
" - node_name: web_server\n",
" applications: \n",
" - application_name: C2Beacon\n",
" ...\n",
" ...\n",
" action_map:\n", " action_map:\n",
" 3:\n", " 3:\n",
" action: node-application-execute\n", " action: node-application-execute\n",
@@ -352,13 +335,6 @@
"\n", "\n",
"``` yaml\n", "``` yaml\n",
" action_space:\n", " action_space:\n",
" options:\n",
" nodes: # Node List\n",
" ...\n",
" - node_name: client_1\n",
" applications: \n",
" - application_name: C2Server\n",
" ...\n",
" action_map:\n", " action_map:\n",
" 4:\n", " 4:\n",
" action: c2-server-terminal-command\n", " action: c2-server-terminal-command\n",
@@ -408,13 +384,6 @@
"\n", "\n",
"``` yaml\n", "``` yaml\n",
" action_space:\n", " action_space:\n",
" options:\n",
" nodes: # Node List\n",
" ...\n",
" - node_name: client_1\n",
" applications: \n",
" - application_name: C2Server\n",
" ...\n",
" action_map:\n", " action_map:\n",
" 5:\n", " 5:\n",
" action: c2-server-ransomware-configure\n", " action: c2-server-ransomware-configure\n",
@@ -459,13 +428,6 @@
"\n", "\n",
"``` yaml\n", "``` yaml\n",
" action_space:\n", " action_space:\n",
" options:\n",
" nodes: # Node List\n",
" ...\n",
" - node_name: client_1\n",
" applications: \n",
" - application_name: C2Server\n",
" ...\n",
" action_map:\n", " action_map:\n",
" 6:\n", " 6:\n",
" action: c2-server-data-exfiltrate\n", " action: c2-server-data-exfiltrate\n",
@@ -524,13 +486,6 @@
"\n", "\n",
"``` yaml\n", "``` yaml\n",
" action_space:\n", " action_space:\n",
" options:\n",
" nodes: # Node List\n",
" ...\n",
" - node_name: client_1\n",
" applications: \n",
" - application_name: C2Server\n",
" ...\n",
" action_map:\n", " action_map:\n",
" 7:\n", " 7:\n",
" action: c2-server-ransomware-launch\n", " action: c2-server-ransomware-launch\n",
@@ -584,8 +539,8 @@
" type: custom\n", " type: custom\n",
" options:\n", " options:\n",
" components:\n", " components:\n",
" - type: NODES\n", " - type: nodes\n",
" label: NODES\n", " label: nodes\n",
" options:\n", " options:\n",
" hosts:\n", " hosts:\n",
" - hostname: web_server\n", " - hostname: web_server\n",
@@ -667,55 +622,29 @@
" 1:\n", " 1:\n",
" action: node-application-remove\n", " action: node-application-remove\n",
" options:\n", " options:\n",
" node_id: 0\n", " node_name: web_server\n",
" application_name: C2Beacon\n", " application_name: c2-beacon\n",
" 2:\n", " 2:\n",
" action: node-shutdown\n", " action: node-shutdown\n",
" options:\n", " options:\n",
" node_id: 0\n", " node_name: web_server\n",
" 3:\n", " 3:\n",
" action: router-acl-add-rule\n", " action: router-acl-add-rule\n",
" options:\n", " options:\n",
" target_router: router_1\n", " target_router: router_1\n",
" position: 1\n", " position: 1\n",
" permission: 2\n", " permission: DENY\n",
" source_ip_id: 2\n", " src_ip: 192.168.10.21\n",
" dest_ip_id: 3\n", " dst_ip: 192.168.1.12\n",
" source_port_id: 2\n", " src_port: HTTP\n",
" dest_port_id: 2\n", " dst_port: HTTP\n",
" protocol_id: 1\n", " protocol_name: ALL\n",
" source_wildcard_id: 0\n", " src_wildcard: 0.0.0.1\n",
" dest_wildcard_id: 0\n", " dst_wildcard: 0.0.0.1\n",
"\n", "\n",
"\n",
" options:\n",
" nodes:\n",
" - node_name: web_server\n",
" applications:\n",
" - application_name: C2Beacon\n",
"\n",
" - node_name: database_server\n",
" folders:\n",
" - folder_name: database\n",
" files:\n",
" - file_name: database.db\n",
" services:\n",
" - service_name: DatabaseService\n",
" - node_name: router_1\n",
"\n",
" max_folders_per_node: 2\n",
" max_files_per_folder: 2\n",
" max_services_per_node: 2\n",
" max_nics_per_node: 8\n",
" max_acl_rules: 10\n",
" ip_list:\n",
" - 192.168.10.21\n",
" - 192.168.1.12\n",
" wildcard_list:\n",
" - 0.0.0.1\n",
" reward_function:\n", " reward_function:\n",
" reward_components:\n", " reward_components:\n",
" - type: DUMMY\n", " - type: dummy\n",
"\n", "\n",
" agent_settings:\n", " agent_settings:\n",
" flatten_obs: False\n", " flatten_obs: False\n",
@@ -1112,7 +1041,7 @@
"outputs": [], "outputs": [],
"source": [ "source": [
"# Attempting to install the C2 RansomwareScript\n", "# Attempting to install the C2 RansomwareScript\n",
"ransomware_install_command = {\"commands\":[[\"software_manager\", \"application\", \"install\", \"ransomware-script\"]],\n", "ransomware_install_command = {\"commands\":[[\"software_manager\", \"application\", \"install\", \"RansomwareScript\"]],\n",
" \"username\": \"admin\",\n", " \"username\": \"admin\",\n",
" \"password\": \"admin\"}\n", " \"password\": \"admin\"}\n",
"\n", "\n",
@@ -1200,7 +1129,7 @@
"outputs": [], "outputs": [],
"source": [ "source": [
"# Attempting to install the C2 RansomwareScript\n", "# Attempting to install the C2 RansomwareScript\n",
"ransomware_install_command = {\"commands\":[\"software_manager\", \"application\", \"install\", \"ransomware-script\"],\n", "ransomware_install_command = {\"commands\":[\"software_manager\", \"application\", \"install\", \"RansomwareScript\"],\n",
" \"username\": \"admin\",\n", " \"username\": \"admin\",\n",
" \"password\": \"admin\"}\n", " \"password\": \"admin\"}\n",
"\n", "\n",
@@ -1325,7 +1254,7 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"database_server: Server = blue_env.game.simulation.network.get_node_by_hostname(\"database-server\")\n", "database_server: Server = blue_env.game.simulation.network.get_node_by_hostname(\"database_server\")\n",
"database_server.software_manager.file_system.show(full=True)" "database_server.software_manager.file_system.show(full=True)"
] ]
}, },
@@ -1370,11 +1299,13 @@
"As demonstrated earlier, red agents can use the ``configure-c2-beacon`` action to configure these settings mid episode through the configuration options:\n", "As demonstrated earlier, red agents can use the ``configure-c2-beacon`` action to configure these settings mid episode through the configuration options:\n",
"\n", "\n",
"```YAML\n", "```YAML\n",
"...\n", "\n",
" action: configure_c2_beacon\n", " action_space:\n",
" action_map:\n",
" 8:\n",
" action: configure-c2-beacon\n",
" options:\n", " options:\n",
" node_id: 0\n", " node_name: web_server\n",
" config:\n",
" c2_server_ip_address: 192.168.10.21\n", " c2_server_ip_address: 192.168.10.21\n",
" keep_alive_frequency: 10\n", " keep_alive_frequency: 10\n",
" masquerade_protocol: tcp\n", " masquerade_protocol: tcp\n",
@@ -1739,16 +1670,6 @@
"\n", "\n",
"display_obs_diffs(tcp_c2_obs, udp_c2_obs, blue_config_env.game.step_counter)" "display_obs_diffs(tcp_c2_obs, udp_c2_obs, blue_config_env.game.step_counter)"
] ]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"\n",
"env.game.agents[\"CustomC2Agent\"].show_history()"
]
} }
], ],
"metadata": { "metadata": {