diff --git a/envs/monkey_zoo/blackbox/config_templates/powershell.py b/envs/monkey_zoo/blackbox/config_templates/powershell.py index cd238fd27..ff377a14f 100644 --- a/envs/monkey_zoo/blackbox/config_templates/powershell.py +++ b/envs/monkey_zoo/blackbox/config_templates/powershell.py @@ -10,10 +10,15 @@ class PowerShell(ConfigTemplate): config_values.update( { "basic.exploiters.exploiter_classes": ["PowerShellExploiter"], - "basic_network.scope.subnet_scan_list": ["10.2.3.45", "10.2.3.46", "10.2.3.47"], + "basic_network.scope.subnet_scan_list": [ + "10.2.3.45", + "10.2.3.46", + "10.2.3.47", + "10.2.3.48", + ], "basic.credentials.exploit_password_list": ["Passw0rd!"], - "basic_network.scope.depth": 2, - "basic.credentials.exploit_user_list": ["m0nk3y", "m0nk3y-user"], + "basic_network.scope.depth": 2, # TODO: Remove .\\ when DC name is added + "basic.credentials.exploit_user_list": ["m0nk3y", "m0nk3y-user", ".\\m0nk3y"], "internal.classes.finger_classes": ["PingScanner"], "internal.network.tcp_scanner.HTTP_PORTS": [], "internal.network.tcp_scanner.tcp_target_ports": [], diff --git a/envs/monkey_zoo/blackbox/gcp_test_machine_list.py b/envs/monkey_zoo/blackbox/gcp_test_machine_list.py index 968e2026d..2cd5a045c 100644 --- a/envs/monkey_zoo/blackbox/gcp_test_machine_list.py +++ b/envs/monkey_zoo/blackbox/gcp_test_machine_list.py @@ -25,5 +25,6 @@ GCP_TEST_MACHINE_LIST = { "powershell-3-45", "powershell-3-46", "powershell-3-47", + "powershell-3-48", ], } diff --git a/envs/monkey_zoo/docs/fullDocs.md b/envs/monkey_zoo/docs/fullDocs.md index 4008b464d..679f52d3e 100644 --- a/envs/monkey_zoo/docs/fullDocs.md +++ b/envs/monkey_zoo/docs/fullDocs.md @@ -34,8 +34,9 @@ This document describes Infection Monkey’s test network, how to deploy and use [Nr. 3-45 Powershell](#_Toc536021479)
[Nr. 3-46 Powershell](#_Toc536021480)
[Nr. 3-47 Powershell](#_Toc536021481)
-[Nr. 250 MonkeyIsland](#_Toc536021482)
-[Nr. 251 MonkeyIsland](#_Toc536021483)
+[Nr. 3-48 Powershell](#_Toc536021482)
+[Nr. 250 MonkeyIsland](#_Toc536021483)
+[Nr. 251 MonkeyIsland](#_Toc536021484)
[Network topography](#network-topography)
# Warning\! @@ -1171,7 +1172,35 @@ fullTest.conf is a good config to start, because it covers all machines. - + + + + + + + + + + + + + + + + + + + + + +

Nr. 250 MonkeyIsland

+

Nr. 3-48 Powershell

+

(10.2.3.48)

(Vulnerable)
OS:Windows Server 2019 x64
Software:WinRM service
Default server’s port:-
Notes:User: m0nk3y, Password: Passw0rd!
+ + + + + @@ -1203,7 +1232,7 @@ fullTest.conf is a good config to start, because it covers all machines.

Nr. 250 MonkeyIsland

(10.2.2.250)

- diff --git a/envs/monkey_zoo/terraform/images.tf b/envs/monkey_zoo/terraform/images.tf index 949aa50ac..77432c845 100644 --- a/envs/monkey_zoo/terraform/images.tf +++ b/envs/monkey_zoo/terraform/images.tf @@ -57,6 +57,10 @@ data "google_compute_image" "mssql-16" { name = "mssql-16" project = local.monkeyzoo_project } +data "google_compute_image" "powershell-3-48" { + name = "powershell-3-48" + project = local.monkeyzoo_project +} data "google_compute_image" "powershell-3-47" { name = "powershell-3-47" project = local.monkeyzoo_project diff --git a/envs/monkey_zoo/terraform/monkey_zoo.tf b/envs/monkey_zoo/terraform/monkey_zoo.tf index ffa5efbe1..cd9675732 100644 --- a/envs/monkey_zoo/terraform/monkey_zoo.tf +++ b/envs/monkey_zoo/terraform/monkey_zoo.tf @@ -313,6 +313,21 @@ resource "google_compute_instance_from_template" "mssql-16" { } } +resource "google_compute_instance_from_template" "powershell-3-48" { + name = "${local.resource_prefix}powershell-3-48" + source_instance_template = local.default_windows + boot_disk{ + initialize_params { + image = data.google_compute_image.powershell-3-48.self_link + } + auto_delete = true + } + network_interface { + subnetwork="${local.resource_prefix}monkeyzoo-main-1" + network_ip="10.2.3.48" + } +} + resource "google_compute_instance_from_template" "powershell-3-47" { name = "${local.resource_prefix}powershell-3-47" source_instance_template = local.default_windows diff --git a/monkey/infection_monkey/exploit/powershell_utils/credentials.py b/monkey/infection_monkey/exploit/powershell_utils/credentials.py index 982f9da29..0e7d0ebab 100644 --- a/monkey/infection_monkey/exploit/powershell_utils/credentials.py +++ b/monkey/infection_monkey/exploit/powershell_utils/credentials.py @@ -36,7 +36,9 @@ def get_credentials( # On Windows systems, when username == None and password == None, the current user's credentials -# will be used to attempt to log into the victim. +# will be used to attempt to log into the victim only on the first hop, from island +# to a machine. Propagating after the first hop is not possible at the moment. +# See this: https://security.stackexchange.com/questions/120422/powershell-and-cached-credentials def _get_empty_credentials(is_windows: bool) -> List[Credentials]: if is_windows: return [Credentials(username=None, secret=None, secret_type=SecretType.CACHED)] @@ -44,7 +46,7 @@ def _get_empty_credentials(is_windows: bool) -> List[Credentials]: return [] -# On Windows systems, when password == None, the current user's password will bu used to attempt to +# On Windows systems, when password == None, the current user's password will be used to attempt to # log into the victim. def _get_username_only_credentials(usernames: List[str], is_windows: bool) -> List[Credentials]: credentials = [

Nr. 251 MonkeyIsland

+

Nr. 251 MonkeyIsland

(10.2.2.251)