Skip to content

Discover Network Services

Bases: RemoteAction

A high level Red action that discovers services on a known host as a prerequisite for running an exploit.

This calls the low level action 'PortScan', then modifies the observation. This must be used on a host in order to then successfully run the high level action ExploitRemoteServices.

Attributes:

Name Type Description
session int

The source session id.

agent str

The name of the red agent executing the action.

ip_address IPv4Address

The ip_address of the target host.

detection_rate float

The liklihood of blue detecting red's actions.

Functions

__init__

__init__(session: int, agent: str, ip_address: IPv4Address)

Parameters:

Name Type Description Default
session int

The source session id.

required
agent str

The name of the red agent executing the action.

required
ip_address IPv4Address

The ip_address of the target host.

required

execute

execute(state) -> Observation

Discovers the services on the target host.

Parameters:

Name Type Description Default
state

The state of the simulated network at the current step.

required

Returns:

Name Type Description
obs Observation

An observation containing an indication of the action's successful execution as True/False, and a list of the target host's detected services.


Aggressive Service Discovery

Bases: DiscoverNetworkServices

The same high level red action as DiscoverNetworkServices, except with:

  • lower duration than StealthServiceDiscovery, the default of 1 tick
  • higher detection rate of 75%, compared to StealthServiceDiscovery

Attributes:

Name Type Description
session int

The source session id.

agent str

The name of the red agent executing the action.

ip_address IPv4Address

The ip_address of the target host.

detection_rate float

The liklihood of blue detecting red's actions.

Functions

__init__

__init__(session: int, agent: str, ip_address: IPv4Address)

Parameters:

Name Type Description Default
session int

The source session id.

required
agent str

The name of the red agent executing the action.

required
ip_address IPv4Address

The ip_address of the target host.

required

Stealth Service Discovery

Bases: DiscoverNetworkServices

The same high level red action as DiscoverNetworkServices, except with:

  • higher duration than AggressiveServiceDiscovery, with 3 ticks
  • lower detection rate of 25%

Attributes:

Name Type Description
session int

The source session id.

agent str

The name of the red agent executing the action.

ip_address IPv4Address

The ip_address of the target host.

duration int

The number of ticks the action takes to complete.

detection_rate float

The liklihood of blue detecting red's actions.

Functions

__init__

__init__(session: int, agent: str, ip_address: IPv4Address)

Parameters:

Name Type Description Default
session int

The source session id.

required
agent str

The name of the red agent executing the action.

required
ip_address IPv4Address

The ip_address of the target host.

required