monkey/envs/monkey_zoo/blackbox/test_configurations/zerologon.py

41 lines
1.4 KiB
Python

import dataclasses
from common.agent_configuration import AgentConfiguration, PluginConfiguration
from .noop import noop_test_configuration
from .utils import (
add_exploiters,
add_subnets,
add_tcp_ports,
replace_agent_configuration,
set_maximum_depth,
)
def _add_exploiters(agent_configuration: AgentConfiguration) -> AgentConfiguration:
brute_force = [PluginConfiguration(name="SmbExploiter", options={"smb_download_timeout": 30})]
vulnerability = [PluginConfiguration(name="ZerologonExploiter", options={})]
return add_exploiters(agent_configuration, brute_force=brute_force, vulnerability=vulnerability)
def _add_tcp_ports(agent_configuration: AgentConfiguration) -> AgentConfiguration:
tcp_ports = [135, 445]
return add_tcp_ports(agent_configuration, tcp_ports)
def _add_subnets(agent_configuration: AgentConfiguration) -> AgentConfiguration:
subnets = ["10.2.2.25"]
return add_subnets(agent_configuration, subnets)
test_agent_configuration = set_maximum_depth(noop_test_configuration.agent_configuration, 1)
test_agent_configuration = _add_exploiters(test_agent_configuration)
test_agent_configuration = _add_tcp_ports(test_agent_configuration)
test_agent_configuration = _add_subnets(test_agent_configuration)
zerologon_test_configuration = dataclasses.replace(noop_test_configuration)
replace_agent_configuration(
test_configuration=zerologon_test_configuration, agent_configuration=test_agent_configuration
)