From b6588925e2e893f9522e3ef378f08eff0326fa0c Mon Sep 17 00:00:00 2001 From: vakarisz Date: Thu, 8 Sep 2022 16:56:32 +0300 Subject: [PATCH 1/8] BB: Add tunneling-13 machine --- .../blackbox/gcp_test_machine_list.py | 16 +++++++--- envs/monkey_zoo/docs/fullDocs.md | 32 +++++++++++++++++++ envs/monkey_zoo/terraform/images.tf | 4 +++ envs/monkey_zoo/terraform/monkey_zoo.tf | 15 +++++++++ 4 files changed, 63 insertions(+), 4 deletions(-) diff --git a/envs/monkey_zoo/blackbox/gcp_test_machine_list.py b/envs/monkey_zoo/blackbox/gcp_test_machine_list.py index 9aa5ef41f..f00af692a 100644 --- a/envs/monkey_zoo/blackbox/gcp_test_machine_list.py +++ b/envs/monkey_zoo/blackbox/gcp_test_machine_list.py @@ -11,6 +11,7 @@ GCP_TEST_MACHINE_LIST = { "tunneling-10", "tunneling-11", "tunneling-12", + "tunneling-13", "zerologon-25", ], "europe-west1-b": [ @@ -49,10 +50,6 @@ DEPTH_1_A = { DEPTH_3_A = { "europe-west3-a": [ - "tunneling-9", - "tunneling-10", - "tunneling-11", - "tunneling-12", "mimikatz-15", ], "europe-west1-b": [ @@ -63,6 +60,16 @@ DEPTH_3_A = { ], } +DEPTH_4_A = { + "europe-west1-b": [ + "tunneling-9", + "tunneling-10", + "tunneling-12", + "tunneling-13", + ], +} + + POWERSHELL_EXPLOITER_REUSE = { "europe-west1-b": [ "powershell-3-46", @@ -88,6 +95,7 @@ GCP_SINGLE_TEST_LIST = { "test_depth_2_a": DEPTH_2_A, "test_depth_1_a": DEPTH_1_A, "test_depth_3_a": DEPTH_3_A, + "test_depth_4_a": DEPTH_4_A, "test_powershell_exploiter_credentials_reuse": POWERSHELL_EXPLOITER_REUSE, "test_zerologon_exploiter": ZEROLOGON, "test_wmi_and_mimikatz_exploiters": WMI_AND_MIMIKATZ, diff --git a/envs/monkey_zoo/docs/fullDocs.md b/envs/monkey_zoo/docs/fullDocs.md index 077ccfc59..9a52d5687 100644 --- a/envs/monkey_zoo/docs/fullDocs.md +++ b/envs/monkey_zoo/docs/fullDocs.md @@ -384,6 +384,38 @@ Update all requirements using deployment script:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Nr. 13 Tunneling M5

+

(10.2.0.13)

(Exploitable)
OS:Ubuntu 18 x64
Default service’s port:22
Root password:prM2qsroTI
Server’s config:Configured to disable traffic from/to 10.2.0.10 and 10.2.0.11(via ufw and iptables)
Notes:Accessible only through Nr.12
+ diff --git a/envs/monkey_zoo/terraform/images.tf b/envs/monkey_zoo/terraform/images.tf index 3dadc5876..a33953252 100644 --- a/envs/monkey_zoo/terraform/images.tf +++ b/envs/monkey_zoo/terraform/images.tf @@ -23,6 +23,10 @@ data "google_compute_image" "tunneling-12" { name = "tunneling-12" project = local.monkeyzoo_project } +data "google_compute_image" "tunneling-13" { + name = "tunneling-13" + project = local.monkeyzoo_project +} data "google_compute_image" "sshkeys-11" { name = "sshkeys-11" project = local.monkeyzoo_project diff --git a/envs/monkey_zoo/terraform/monkey_zoo.tf b/envs/monkey_zoo/terraform/monkey_zoo.tf index de0b922f5..2d98e4eaa 100644 --- a/envs/monkey_zoo/terraform/monkey_zoo.tf +++ b/envs/monkey_zoo/terraform/monkey_zoo.tf @@ -144,6 +144,21 @@ resource "google_compute_instance_from_template" "tunneling-12" { } } +resource "google_compute_instance_from_template" "tunneling-13" { + name = "${local.resource_prefix}tunneling-13" + source_instance_template = local.default_ubuntu + boot_disk{ + initialize_params { + image = data.google_compute_image.tunneling-13.self_link + } + auto_delete = true + } + network_interface{ + subnetwork="${local.resource_prefix}tunneling2-main" + network_ip="10.2.0.13" + } +} + resource "google_compute_instance_from_template" "sshkeys-11" { name = "${local.resource_prefix}sshkeys-11" source_instance_template = local.default_ubuntu From 72c76319d1aa95c950f970cc5d9d38f253df5597 Mon Sep 17 00:00:00 2001 From: vakarisz Date: Thu, 8 Sep 2022 16:58:14 +0300 Subject: [PATCH 2/8] BB: Move tunneling to depth 4a test suite --- envs/monkey_zoo/blackbox/test_blackbox.py | 6 ++ .../blackbox/test_configurations/depth_3_a.py | 11 +--- .../blackbox/test_configurations/depth_4_a.py | 65 +++++++++++++++++++ 3 files changed, 72 insertions(+), 10 deletions(-) create mode 100644 envs/monkey_zoo/blackbox/test_configurations/depth_4_a.py diff --git a/envs/monkey_zoo/blackbox/test_blackbox.py b/envs/monkey_zoo/blackbox/test_blackbox.py index 16ee4c0be..be8f4fe2c 100644 --- a/envs/monkey_zoo/blackbox/test_blackbox.py +++ b/envs/monkey_zoo/blackbox/test_blackbox.py @@ -18,6 +18,7 @@ from envs.monkey_zoo.blackbox.test_configurations import ( wmi_mimikatz_test_configuration, zerologon_test_configuration, ) +from envs.monkey_zoo.blackbox.test_configurations.depth_4_a import depth_4_a_test_configuration from envs.monkey_zoo.blackbox.test_configurations.test_configuration import TestConfiguration from envs.monkey_zoo.blackbox.tests.exploitation import ExploitationTest from envs.monkey_zoo.blackbox.utils.gcp_machine_handlers import ( @@ -123,6 +124,11 @@ class TestMonkeyBlackbox: island_client, depth_3_a_test_configuration, "Depth3A test suite" ) + def test_depth_4_a(self, island_client): + TestMonkeyBlackbox.run_exploitation_test( + island_client, depth_4_a_test_configuration, "Depth4A test suite" + ) + # Not grouped because can only be ran on windows @pytest.mark.skip_powershell_reuse def test_powershell_exploiter_credentials_reuse(self, island_client): diff --git a/envs/monkey_zoo/blackbox/test_configurations/depth_3_a.py b/envs/monkey_zoo/blackbox/test_configurations/depth_3_a.py index 0a39a5e59..0b971d2d5 100644 --- a/envs/monkey_zoo/blackbox/test_configurations/depth_3_a.py +++ b/envs/monkey_zoo/blackbox/test_configurations/depth_3_a.py @@ -16,14 +16,12 @@ from .utils import ( # Tests: # Powershell (10.2.3.45, 10.2.3.46, 10.2.3.47, 10.2.3.48) -# Tunneling (SSH brute force) (10.2.2.9, 10.2.1.10, 10.2.0.12, 10.2.0.11) # WMI pass the hash (10.2.2.15) def _add_exploiters(agent_configuration: AgentConfiguration) -> AgentConfiguration: brute_force = [ PluginConfiguration(name="PowerShellExploiter", options={}), - PluginConfiguration(name="SSHExploiter", options={}), PluginConfiguration(name="WmiExploiter", options={"smb_download_timeout": 30}), ] @@ -32,21 +30,17 @@ def _add_exploiters(agent_configuration: AgentConfiguration) -> AgentConfigurati def _add_subnets(agent_configuration: AgentConfiguration) -> AgentConfiguration: subnets = [ - "10.2.2.9", "10.2.3.45", "10.2.3.46", "10.2.3.47", "10.2.3.48", - "10.2.1.10", - "10.2.0.12", - "10.2.0.11", "10.2.2.15", ] return add_subnets(agent_configuration, subnets) def _add_tcp_ports(agent_configuration: AgentConfiguration) -> AgentConfiguration: - ports = [22, 135, 5985, 5986] + ports = [135, 5985, 5986] return add_tcp_ports(agent_configuration, ports) @@ -60,9 +54,6 @@ CREDENTIALS = ( Credentials(Username("m0nk3y"), None), Credentials(Username("m0nk3y-user"), None), Credentials(None, Password("Passw0rd!")), - Credentials(None, Password("3Q=(Ge(+&w]*")), - Credentials(None, Password("`))jU7L(w}")), - Credentials(None, Password("t67TC5ZDmz")), Credentials(None, NTHash("d0f0132b308a0c4e5d1029cc06f48692")), Credentials(None, NTHash("5da0889ea2081aa79f6852294cba4a5e")), Credentials(None, NTHash("50c9987a6bf1ac59398df9f911122c9b")), diff --git a/envs/monkey_zoo/blackbox/test_configurations/depth_4_a.py b/envs/monkey_zoo/blackbox/test_configurations/depth_4_a.py new file mode 100644 index 000000000..83e9dc785 --- /dev/null +++ b/envs/monkey_zoo/blackbox/test_configurations/depth_4_a.py @@ -0,0 +1,65 @@ +import dataclasses + +from common.agent_configuration import AgentConfiguration, PluginConfiguration +from common.credentials import Credentials, Password, Username + +from .noop import noop_test_configuration +from .utils import ( + add_exploiters, + add_subnets, + add_tcp_ports, + replace_agent_configuration, + replace_propagation_credentials, + set_keep_tunnel_open_time, + set_maximum_depth, +) + +# Tests: +# Tunneling (SSH brute force) (10.2.2.9, 10.2.1.10, 10.2.0.12, 10.2.0.13) + + +def _add_exploiters(agent_configuration: AgentConfiguration) -> AgentConfiguration: + brute_force = [ + PluginConfiguration(name="SSHExploiter", options={}), + PluginConfiguration(name="WmiExploiter", options={"smb_download_timeout": 30}), + ] + + return add_exploiters(agent_configuration, brute_force=brute_force, vulnerability=[]) + + +def _add_subnets(agent_configuration: AgentConfiguration) -> AgentConfiguration: + subnets = [ + "10.2.2.9", + "10.2.1.10", + "10.2.0.12", + "10.2.2.13", + ] + return add_subnets(agent_configuration, subnets) + + +def _add_tcp_ports(agent_configuration: AgentConfiguration) -> AgentConfiguration: + ports = [22, 135, 5985, 5986] + return add_tcp_ports(agent_configuration, ports) + + +test_agent_configuration = set_maximum_depth(noop_test_configuration.agent_configuration, 4) +test_agent_configuration = set_keep_tunnel_open_time(test_agent_configuration, 20) +test_agent_configuration = _add_exploiters(test_agent_configuration) +test_agent_configuration = _add_subnets(test_agent_configuration) +test_agent_configuration = _add_tcp_ports(test_agent_configuration) + +CREDENTIALS = ( + Credentials(Username("m0nk3y"), None), + Credentials(None, Password("3Q=(Ge(+&w]*")), + Credentials(None, Password("`))jU7L(w}")), + Credentials(None, Password("prM2qsroTI")), + Credentials(None, Password("t67TC5ZDmz")), +) + +depth_4_a_test_configuration = dataclasses.replace(noop_test_configuration) +replace_agent_configuration( + test_configuration=depth_4_a_test_configuration, agent_configuration=test_agent_configuration +) +replace_propagation_credentials( + test_configuration=depth_4_a_test_configuration, propagation_credentials=CREDENTIALS +) From c756c7ace2b1983bdb6a5aba112270a0a9fce28c Mon Sep 17 00:00:00 2001 From: vakarisz Date: Fri, 9 Sep 2022 17:51:37 +0300 Subject: [PATCH 3/8] BB: Add tunneling test diagrams --- .../docs/images/tunneling_diagram.png | Bin 0 -> 22821 bytes envs/monkey_zoo/docs/tunneling_diagram.drawio | 1 + 2 files changed, 1 insertion(+) create mode 100644 envs/monkey_zoo/docs/images/tunneling_diagram.png create mode 100644 envs/monkey_zoo/docs/tunneling_diagram.drawio diff --git a/envs/monkey_zoo/docs/images/tunneling_diagram.png b/envs/monkey_zoo/docs/images/tunneling_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..fdd63e96886597d81ecce644da4bfd0f45c09b53 GIT binary patch literal 22821 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 OX7F_Nb6Mw<&;$SwAo(`{ literal 0 HcmV?d00001 diff --git a/envs/monkey_zoo/docs/tunneling_diagram.drawio b/envs/monkey_zoo/docs/tunneling_diagram.drawio new file mode 100644 index 000000000..7b1ae9561 --- /dev/null +++ b/envs/monkey_zoo/docs/tunneling_diagram.drawio @@ -0,0 +1 @@ +7VrbbuM2EP0aP9aQRN38uLHsTYEtGiAo0jwFjMSV2KVEg6J86deXtEhbF1eWW9tSsEHyYM6MJHLOOcPRZQLm6fYrg6vkNxohMrGMaDsBwcSyTNuyJvLfiHalxZvZpSFmOFJBR8Mz/hspo6GsBY5QXgvklBKOV3VjSLMMhbxmg4zRTT3sOyX1q65gjFqG5xCStvUFRzwprb5jHO2PCMeJvrJpKE8KdbAy5AmM6KZiAosJmDNKefkr3c4RkcnTeSmPW/6L9zAxhjLe5wAneCPB79/gSxC+PT4t053Jlr94am58pxeMIrF+NaSMJzSmGSSLo/WB0SKLkDyrIUbHmG+UroTRFMa/EOc7BSYsOBWmhKdEedszV4vJacFC1DFdzQDIYsQ74hTp5FoqF1B5+YpoijjbiQCGCOR4XccaKsrEhzh16BfG4K4SsKI443nlzE/SIAIU+w/QK+6bbgOhy+LFj3IGelRZytG0R/0CBqhFryEpVBp+zQnMohYx6rBvEszR8wru4doI7feEeI0YR9tOUJTXbyRDS25zlOFBbElFgvq4UzBWUnl5pvyPpRWrp1bMUWpFbwB9tdKIv41WZkMwQADPdn+q4/eDVzmYWo4eB9uqN9ip0e2pA0ZBHdCsFF43dc7E34Y6VqvM8kJ0LARnsaSVS0SeH96Z+BXzPXZNiykQF38nYvcec9om570rtuWOrWTrLvKj1GzQU3j2KIRnzxp4n6nZZ+Jv1N9YP0nR7ssdZ5Tc0TXgWlwIXsHzDIePThy8sMfiD7i0uG51hqgGjXTfFmJrEESNBqLGmWrQHX+bagA6tmFZjXruw+b0VPDeZUxPbDr33olte3Q78YDa+y9Ssy+R2jWr6f/Kst1Fb/MSep8I1vRuIzk4vb2h2Q2GbTIqfcVr1Xn1JsPpKYtx3BnarlPjCbhLw2n/JA1nXy64o+CC12w3/O725Ez8bbjjdNVvq3f9FkW6fddz7yLtNB6zHJ4ODFelnY/Vg7g9BTaOOzrPrOMNzjwNOBN/G4G5XQIDlwisvePfW2CePTqBea30trKU/0A8TFSS9pxCbLFGklplZg7vSWVABPPkkNJK+nLO6A80p4QyYcloJqX6HROiTRMLBEt/bov8PRD4jsgTzTHHNBO+EMmLCofMNQ6FlhsB75RzmlYCvhAcSweXmn+AanQ4Dy24YJCYjn4HbZTrWMk1p9tYvhqfrhGCqTUVgcX2ShW2+b5w1iYAsNv4a9v18fc/8b8j/qBZAMyh8Z994j+g/r2B4dfT+YT/LvD7DfiB4Q6Mf/tbkjb+14J3sfSXljkueKdp/rbBWbT/6uwaELuNN6rAakvcPtHhgdnUvxhkMTx+jVY23Mdv+sDiHw== From b865c13a3b1cc192a0a64cd37ff94634ca64be2b Mon Sep 17 00:00:00 2001 From: Kekoa Kaaikala Date: Tue, 13 Sep 2022 19:45:57 +0000 Subject: [PATCH 4/8] BB: Revert depth_3_a test --- .../blackbox/test_configurations/depth_3_a.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/envs/monkey_zoo/blackbox/test_configurations/depth_3_a.py b/envs/monkey_zoo/blackbox/test_configurations/depth_3_a.py index 0b971d2d5..0a39a5e59 100644 --- a/envs/monkey_zoo/blackbox/test_configurations/depth_3_a.py +++ b/envs/monkey_zoo/blackbox/test_configurations/depth_3_a.py @@ -16,12 +16,14 @@ from .utils import ( # Tests: # Powershell (10.2.3.45, 10.2.3.46, 10.2.3.47, 10.2.3.48) +# Tunneling (SSH brute force) (10.2.2.9, 10.2.1.10, 10.2.0.12, 10.2.0.11) # WMI pass the hash (10.2.2.15) def _add_exploiters(agent_configuration: AgentConfiguration) -> AgentConfiguration: brute_force = [ PluginConfiguration(name="PowerShellExploiter", options={}), + PluginConfiguration(name="SSHExploiter", options={}), PluginConfiguration(name="WmiExploiter", options={"smb_download_timeout": 30}), ] @@ -30,17 +32,21 @@ def _add_exploiters(agent_configuration: AgentConfiguration) -> AgentConfigurati def _add_subnets(agent_configuration: AgentConfiguration) -> AgentConfiguration: subnets = [ + "10.2.2.9", "10.2.3.45", "10.2.3.46", "10.2.3.47", "10.2.3.48", + "10.2.1.10", + "10.2.0.12", + "10.2.0.11", "10.2.2.15", ] return add_subnets(agent_configuration, subnets) def _add_tcp_ports(agent_configuration: AgentConfiguration) -> AgentConfiguration: - ports = [135, 5985, 5986] + ports = [22, 135, 5985, 5986] return add_tcp_ports(agent_configuration, ports) @@ -54,6 +60,9 @@ CREDENTIALS = ( Credentials(Username("m0nk3y"), None), Credentials(Username("m0nk3y-user"), None), Credentials(None, Password("Passw0rd!")), + Credentials(None, Password("3Q=(Ge(+&w]*")), + Credentials(None, Password("`))jU7L(w}")), + Credentials(None, Password("t67TC5ZDmz")), Credentials(None, NTHash("d0f0132b308a0c4e5d1029cc06f48692")), Credentials(None, NTHash("5da0889ea2081aa79f6852294cba4a5e")), Credentials(None, NTHash("50c9987a6bf1ac59398df9f911122c9b")), From e7bb5ce535cf0b79c3e0eefe7e2c1068d8054a75 Mon Sep 17 00:00:00 2001 From: Kekoa Kaaikala Date: Tue, 13 Sep 2022 19:52:04 +0000 Subject: [PATCH 5/8] BB: Add interface to tunneling-11 --- envs/monkey_zoo/terraform/monkey_zoo.tf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/envs/monkey_zoo/terraform/monkey_zoo.tf b/envs/monkey_zoo/terraform/monkey_zoo.tf index 2d98e4eaa..a15e6b9f4 100644 --- a/envs/monkey_zoo/terraform/monkey_zoo.tf +++ b/envs/monkey_zoo/terraform/monkey_zoo.tf @@ -127,6 +127,10 @@ resource "google_compute_instance_from_template" "tunneling-11" { subnetwork="${local.resource_prefix}tunneling2-main" network_ip="10.2.0.11" } + network_interface{ + subnetwork="${local.resource_prefix}tunneling-main" + network_ip="10.2.1.11" + } } resource "google_compute_instance_from_template" "tunneling-12" { From 7a33802b7cb969d8dc97aa21c4ef7b6ac5f849e6 Mon Sep 17 00:00:00 2001 From: vakarisz Date: Wed, 14 Sep 2022 12:06:46 +0300 Subject: [PATCH 6/8] BB: Add tunneling machines to the list of depth 3 test --- envs/monkey_zoo/blackbox/gcp_test_machine_list.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/envs/monkey_zoo/blackbox/gcp_test_machine_list.py b/envs/monkey_zoo/blackbox/gcp_test_machine_list.py index f00af692a..ffbd21c90 100644 --- a/envs/monkey_zoo/blackbox/gcp_test_machine_list.py +++ b/envs/monkey_zoo/blackbox/gcp_test_machine_list.py @@ -50,6 +50,9 @@ DEPTH_1_A = { DEPTH_3_A = { "europe-west3-a": [ + "tunneling-9", + "tunneling-10", + "tunneling-11", "mimikatz-15", ], "europe-west1-b": [ From c2816665047dc5134e556e06d2d92902d6add403 Mon Sep 17 00:00:00 2001 From: vakarisz Date: Wed, 14 Sep 2022 12:10:06 +0300 Subject: [PATCH 7/8] BB: Remove tunneling-12 from depth-3 --- envs/monkey_zoo/blackbox/test_configurations/depth_3_a.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/envs/monkey_zoo/blackbox/test_configurations/depth_3_a.py b/envs/monkey_zoo/blackbox/test_configurations/depth_3_a.py index 0a39a5e59..049521858 100644 --- a/envs/monkey_zoo/blackbox/test_configurations/depth_3_a.py +++ b/envs/monkey_zoo/blackbox/test_configurations/depth_3_a.py @@ -16,7 +16,7 @@ from .utils import ( # Tests: # Powershell (10.2.3.45, 10.2.3.46, 10.2.3.47, 10.2.3.48) -# Tunneling (SSH brute force) (10.2.2.9, 10.2.1.10, 10.2.0.12, 10.2.0.11) +# Tunneling through grandparent agent (SSH brute force) (10.2.2.9, 10.2.1.10, 10.2.0.11) # WMI pass the hash (10.2.2.15) @@ -38,7 +38,6 @@ def _add_subnets(agent_configuration: AgentConfiguration) -> AgentConfiguration: "10.2.3.47", "10.2.3.48", "10.2.1.10", - "10.2.0.12", "10.2.0.11", "10.2.2.15", ] @@ -62,7 +61,6 @@ CREDENTIALS = ( Credentials(None, Password("Passw0rd!")), Credentials(None, Password("3Q=(Ge(+&w]*")), Credentials(None, Password("`))jU7L(w}")), - Credentials(None, Password("t67TC5ZDmz")), Credentials(None, NTHash("d0f0132b308a0c4e5d1029cc06f48692")), Credentials(None, NTHash("5da0889ea2081aa79f6852294cba4a5e")), Credentials(None, NTHash("50c9987a6bf1ac59398df9f911122c9b")), From bc6da3d4023fa5035f9a76a322149b5e6b2ef5fb Mon Sep 17 00:00:00 2001 From: vakarisz Date: Wed, 14 Sep 2022 12:13:36 +0300 Subject: [PATCH 8/8] BB: Add documentation about changes to tunneling-11 --- envs/monkey_zoo/docs/fullDocs.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/envs/monkey_zoo/docs/fullDocs.md b/envs/monkey_zoo/docs/fullDocs.md index 9a52d5687..b08a89bfc 100644 --- a/envs/monkey_zoo/docs/fullDocs.md +++ b/envs/monkey_zoo/docs/fullDocs.md @@ -303,7 +303,7 @@ Update all requirements using deployment script:
- + @@ -343,7 +343,10 @@ Update all requirements using deployment script:
- +
Root password:3Q=(Ge(+&w]*3Q=(Ge(+&w]*
Server’s config:
Server’s config:DefaultContains firewall rules to block everything from 10.2.1.10 except ssh. +This prevents tunneling communication, but allows ssh exploitation. +Contains firewall rules to allow everything from 10.2.1.9 except ssh. +This prevents ssh exploitation, but allows tunneling.
Notes: