diff --git a/CHANGELOG.md b/CHANGELOG.md
index 089bf8930..856724536 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -54,6 +54,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/).
- 32-bit agents. #1675
- Log path config options. #1761
- "smb_service_name" option. #1741
+- Struts2 exploiter. #1869
### Fixed
- A bug in network map page that caused delay of telemetry log loading. #1545
diff --git a/docs/content/reference/exploiters/Struts2.md b/docs/content/reference/exploiters/Struts2.md
deleted file mode 100644
index 5ce1dfe5a..000000000
--- a/docs/content/reference/exploiters/Struts2.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: "Struts2"
-date: 2020-07-14T08:42:30+03:00
-draft: false
-tags: ["exploit", "linux", "windows"]
----
-### Description
-
-This exploit, CVE-2017-5638, utilizes the Struts 2 Java web framework. The logic is based on [VEX WOO's PoC](https://www.exploit-db.com/exploits/41570).
diff --git a/envs/monkey_zoo/blackbox/config_templates/performance.py b/envs/monkey_zoo/blackbox/config_templates/performance.py
index 4eb8a3243..11fcca51b 100644
--- a/envs/monkey_zoo/blackbox/config_templates/performance.py
+++ b/envs/monkey_zoo/blackbox/config_templates/performance.py
@@ -16,7 +16,6 @@ class Performance(ConfigTemplate):
"SmbExploiter",
"WmiExploiter",
"SSHExploiter",
- "Struts2Exploiter",
"WebLogicExploiter",
"HadoopExploiter",
"MSSQLExploiter",
@@ -27,8 +26,6 @@ class Performance(ConfigTemplate):
"basic_network.network_analysis.inaccessible_subnets": [
"10.2.2.0/30",
"10.2.2.8/30",
- "10.2.2.24/32",
- "10.2.2.23/32",
"10.2.2.21/32",
"10.2.2.19/32",
"10.2.2.18/32",
@@ -53,8 +50,6 @@ class Performance(ConfigTemplate):
"10.2.2.19",
"10.2.2.20",
"10.2.2.21",
- "10.2.2.23",
- "10.2.2.24",
"10.2.2.25",
"10.2.3.55",
"10.2.3.56",
diff --git a/envs/monkey_zoo/blackbox/config_templates/struts2.py b/envs/monkey_zoo/blackbox/config_templates/struts2.py
deleted file mode 100644
index 3997557b3..000000000
--- a/envs/monkey_zoo/blackbox/config_templates/struts2.py
+++ /dev/null
@@ -1,19 +0,0 @@
-from copy import copy
-
-from envs.monkey_zoo.blackbox.config_templates.base_template import BaseTemplate
-from envs.monkey_zoo.blackbox.config_templates.config_template import ConfigTemplate
-
-
-class Struts2(ConfigTemplate):
-
- config_values = copy(BaseTemplate.config_values)
-
- config_values.update(
- {
- "basic.exploiters.exploiter_classes": ["Struts2Exploiter"],
- "basic_network.scope.depth": 2,
- "basic_network.scope.subnet_scan_list": ["10.2.2.23", "10.2.2.24"],
- "internal.network.tcp_scanner.HTTP_PORTS": [80, 8080],
- "internal.network.tcp_scanner.tcp_target_ports": [80, 8080],
- }
- )
diff --git a/envs/monkey_zoo/blackbox/gcp_test_machine_list.py b/envs/monkey_zoo/blackbox/gcp_test_machine_list.py
index 1b5043e93..07809e24f 100644
--- a/envs/monkey_zoo/blackbox/gcp_test_machine_list.py
+++ b/envs/monkey_zoo/blackbox/gcp_test_machine_list.py
@@ -7,8 +7,6 @@ GCP_TEST_MACHINE_LIST = {
"mssql-16",
"mimikatz-14",
"mimikatz-15",
- "struts2-23",
- "struts2-24",
"tunneling-9",
"tunneling-10",
"tunneling-11",
diff --git a/envs/monkey_zoo/blackbox/test_blackbox.py b/envs/monkey_zoo/blackbox/test_blackbox.py
index 3227694f6..78e77b4c0 100644
--- a/envs/monkey_zoo/blackbox/test_blackbox.py
+++ b/envs/monkey_zoo/blackbox/test_blackbox.py
@@ -22,7 +22,6 @@ from envs.monkey_zoo.blackbox.config_templates.powershell_credentials_reuse impo
from envs.monkey_zoo.blackbox.config_templates.smb_mimikatz import SmbMimikatz
from envs.monkey_zoo.blackbox.config_templates.smb_pth import SmbPth
from envs.monkey_zoo.blackbox.config_templates.ssh import Ssh
-from envs.monkey_zoo.blackbox.config_templates.struts2 import Struts2
from envs.monkey_zoo.blackbox.config_templates.tunneling import Tunneling
from envs.monkey_zoo.blackbox.config_templates.weblogic import Weblogic
from envs.monkey_zoo.blackbox.config_templates.wmi_mimikatz import WmiMimikatz
@@ -190,10 +189,6 @@ class TestMonkeyBlackbox:
def test_drupal_exploiter(self, island_client):
TestMonkeyBlackbox.run_exploitation_test(island_client, Drupal, "Drupal_exploiter")
- @pytest.mark.skip(reason="Struts2 exploiter is deprecated")
- def test_struts_exploiter(self, island_client):
- TestMonkeyBlackbox.run_exploitation_test(island_client, Struts2, "Struts2_exploiter")
-
@pytest.mark.skip(reason="Weblogic exploiter is deprecated")
def test_weblogic_exploiter(self, island_client):
TestMonkeyBlackbox.run_exploitation_test(island_client, Weblogic, "Weblogic_exploiter")
diff --git a/envs/monkey_zoo/blackbox/utils/config_generation_script.py b/envs/monkey_zoo/blackbox/utils/config_generation_script.py
index 1bb66a080..a5521e584 100644
--- a/envs/monkey_zoo/blackbox/utils/config_generation_script.py
+++ b/envs/monkey_zoo/blackbox/utils/config_generation_script.py
@@ -14,7 +14,6 @@ from envs.monkey_zoo.blackbox.config_templates.powershell import PowerShell
from envs.monkey_zoo.blackbox.config_templates.smb_mimikatz import SmbMimikatz
from envs.monkey_zoo.blackbox.config_templates.smb_pth import SmbPth
from envs.monkey_zoo.blackbox.config_templates.ssh import Ssh
-from envs.monkey_zoo.blackbox.config_templates.struts2 import Struts2
from envs.monkey_zoo.blackbox.config_templates.tunneling import Tunneling
from envs.monkey_zoo.blackbox.config_templates.weblogic import Weblogic
from envs.monkey_zoo.blackbox.config_templates.wmi_mimikatz import WmiMimikatz
@@ -45,7 +44,6 @@ CONFIG_TEMPLATES = [
SmbMimikatz,
SmbPth,
Ssh,
- Struts2,
Tunneling,
Weblogic,
WmiMimikatz,
diff --git a/envs/monkey_zoo/docs/fullDocs.md b/envs/monkey_zoo/docs/fullDocs.md
index fa786dee6..032d6ef8d 100644
--- a/envs/monkey_zoo/docs/fullDocs.md
+++ b/envs/monkey_zoo/docs/fullDocs.md
@@ -22,8 +22,6 @@ This document describes Infection Monkey’s test network, how to deploy and use
[Nr. 19 WebLogic](#_Toc526517181)
[Nr. 21 Scan](#_Toc526517196)
[Nr. 22 Scan](#_Toc526517197)
-[Nr. 23 Struts2](#_Toc536021476)
-[Nr. 24 Struts2](#_Toc536021477)
[Nr. 25 Zerologon](#_Toc536021478)
[Nr. 3-45 Powershell](#_Toc536021479)
[Nr. 3-46 Powershell](#_Toc536021480)
@@ -776,74 +774,6 @@ Update all requirements using deployment script:
-
Nr. 23 Struts2 -(10.2.2.23) |
-(Vulnerable) | -
---|---|
OS: | -Ubuntu 16.04.05 x64 | -
Software: | -JDK, -struts2 2.3.15.1, -tomcat 9.0.0.M9 |
-
Default server’s port: | -8080 | -
Server’s config: | -Default | -
Notes: | -- |
Nr. 24 Struts2 -(10.2.2.24) |
-(Vulnerable) | -
---|---|
OS: | -Windows 10 x64 | -
Software: | -JDK, -struts2 2.3.15.1, -tomcat 9.0.0.M9 |
-
Default server’s port: | -8080 | -
Server’s config: | -Default | -
Notes: | -- |