forked from p15670423/monkey
Merge pull request #1024 from guardicore/drupal-blackbox-test
Drupal blackbox test
This commit is contained in:
commit
5b8140029e
|
@ -19,10 +19,10 @@ instead will just test performance of endpoints in already present island state.
|
||||||
|
|
||||||
Example run command:
|
Example run command:
|
||||||
|
|
||||||
`monkey\envs\monkey_zoo\blackbox>python -m pytest -s --island=35.207.152.72:5000 test_blackbox.py`
|
`monkey\monkey>python -m pytest -s --island=35.207.152.72:5000 ..\envs\monkey_zoo\blackbox\test_blackbox.py`
|
||||||
|
|
||||||
#### Running in PyCharm
|
#### Running in PyCharm
|
||||||
Configure a PyTest configuration with the additional arguments `-s --island=35.207.152.72`, and to run from
|
Configure a PyTest configuration with the additional arguments `-s --island=35.207.152.72:5000`, and to run from
|
||||||
directory `monkey\envs\monkey_zoo\blackbox`.
|
directory `monkey\envs\monkey_zoo\blackbox`.
|
||||||
|
|
||||||
### Running telemetry performance test
|
### Running telemetry performance test
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
from copy import copy
|
||||||
|
|
||||||
|
from envs.monkey_zoo.blackbox.island_configs.base_template import BaseTemplate
|
||||||
|
|
||||||
|
|
||||||
|
class Drupal(BaseTemplate):
|
||||||
|
config_values = copy(BaseTemplate.config_values)
|
||||||
|
|
||||||
|
config_values.update({
|
||||||
|
"internal.classes.finger_classes": ["PingScanner", "HTTPFinger"],
|
||||||
|
"basic.exploiters.exploiter_classes": ["DrupalExploiter"],
|
||||||
|
"basic_network.scope.subnet_scan_list": ["10.2.2.28"]
|
||||||
|
})
|
|
@ -13,6 +13,7 @@ from envs.monkey_zoo.blackbox.island_client.island_config_parser import \
|
||||||
from envs.monkey_zoo.blackbox.island_client.monkey_island_client import \
|
from envs.monkey_zoo.blackbox.island_client.monkey_island_client import \
|
||||||
MonkeyIslandClient
|
MonkeyIslandClient
|
||||||
from envs.monkey_zoo.blackbox.island_configs.config_template import ConfigTemplate
|
from envs.monkey_zoo.blackbox.island_configs.config_template import ConfigTemplate
|
||||||
|
from envs.monkey_zoo.blackbox.island_configs.drupal import Drupal
|
||||||
from envs.monkey_zoo.blackbox.island_configs.elastic import Elastic
|
from envs.monkey_zoo.blackbox.island_configs.elastic import Elastic
|
||||||
from envs.monkey_zoo.blackbox.island_configs.hadoop import Hadoop
|
from envs.monkey_zoo.blackbox.island_configs.hadoop import Hadoop
|
||||||
from envs.monkey_zoo.blackbox.island_configs.mssql import Mssql
|
from envs.monkey_zoo.blackbox.island_configs.mssql import Mssql
|
||||||
|
@ -46,7 +47,8 @@ DEFAULT_TIMEOUT_SECONDS = 5*60
|
||||||
MACHINE_BOOTUP_WAIT_SECONDS = 30
|
MACHINE_BOOTUP_WAIT_SECONDS = 30
|
||||||
GCP_TEST_MACHINE_LIST = ['sshkeys-11', 'sshkeys-12', 'elastic-4', 'elastic-5', 'hadoop-2', 'hadoop-3', 'mssql-16',
|
GCP_TEST_MACHINE_LIST = ['sshkeys-11', 'sshkeys-12', 'elastic-4', 'elastic-5', 'hadoop-2', 'hadoop-3', 'mssql-16',
|
||||||
'mimikatz-14', 'mimikatz-15', 'struts2-23', 'struts2-24', 'tunneling-9', 'tunneling-10',
|
'mimikatz-14', 'mimikatz-15', 'struts2-23', 'struts2-24', 'tunneling-9', 'tunneling-10',
|
||||||
'tunneling-11', 'tunneling-12', 'weblogic-18', 'weblogic-19', 'shellshock-8', 'zerologon-25']
|
'tunneling-11', 'tunneling-12', 'weblogic-18', 'weblogic-19', 'shellshock-8', 'zerologon-25',
|
||||||
|
'drupal-28']
|
||||||
LOG_DIR_PATH = "./logs"
|
LOG_DIR_PATH = "./logs"
|
||||||
logging.basicConfig(level=logging.INFO)
|
logging.basicConfig(level=logging.INFO)
|
||||||
LOGGER = logging.getLogger(__name__)
|
LOGGER = logging.getLogger(__name__)
|
||||||
|
@ -141,6 +143,9 @@ class TestMonkeyBlackbox:
|
||||||
def test_smb_pth(self, island_client):
|
def test_smb_pth(self, island_client):
|
||||||
TestMonkeyBlackbox.run_exploitation_test(island_client, SmbPth, "SMB_PTH")
|
TestMonkeyBlackbox.run_exploitation_test(island_client, SmbPth, "SMB_PTH")
|
||||||
|
|
||||||
|
def test_drupal_exploiter(self, island_client):
|
||||||
|
TestMonkeyBlackbox.run_exploitation_test(island_client, Drupal, "Drupal_exploiter")
|
||||||
|
|
||||||
def test_elastic_exploiter(self, island_client):
|
def test_elastic_exploiter(self, island_client):
|
||||||
TestMonkeyBlackbox.run_exploitation_test(island_client, Elastic, "Elastic_exploiter")
|
TestMonkeyBlackbox.run_exploitation_test(island_client, Elastic, "Elastic_exploiter")
|
||||||
|
|
||||||
|
|
|
@ -89,6 +89,10 @@ data "google_compute_image" "zerologon-25" {
|
||||||
name = "zerologon-25"
|
name = "zerologon-25"
|
||||||
project = local.monkeyzoo_project
|
project = local.monkeyzoo_project
|
||||||
}
|
}
|
||||||
|
data "google_compute_image" "drupal-28" {
|
||||||
|
name = "drupal-28"
|
||||||
|
project = local.monkeyzoo_project
|
||||||
|
}
|
||||||
data "google_compute_image" "island-linux-250" {
|
data "google_compute_image" "island-linux-250" {
|
||||||
name = "island-linux-250"
|
name = "island-linux-250"
|
||||||
project = local.monkeyzoo_project
|
project = local.monkeyzoo_project
|
||||||
|
|
|
@ -447,6 +447,21 @@ resource "google_compute_instance_from_template" "zerologon-25" {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resource "google_compute_instance_from_template" "drupal-28" {
|
||||||
|
name = "${local.resource_prefix}drupal-28"
|
||||||
|
source_instance_template = local.default_windows
|
||||||
|
boot_disk{
|
||||||
|
initialize_params {
|
||||||
|
image = data.google_compute_image.drupal-28.self_link
|
||||||
|
}
|
||||||
|
auto_delete = true
|
||||||
|
}
|
||||||
|
network_interface {
|
||||||
|
subnetwork="${local.resource_prefix}monkeyzoo-main"
|
||||||
|
network_ip="10.2.2.28"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
resource "google_compute_instance_from_template" "island-linux-250" {
|
resource "google_compute_instance_from_template" "island-linux-250" {
|
||||||
name = "${local.resource_prefix}island-linux-250"
|
name = "${local.resource_prefix}island-linux-250"
|
||||||
machine_type = "n1-standard-2"
|
machine_type = "n1-standard-2"
|
||||||
|
|
Loading…
Reference in New Issue