frontend.target_systems package

Module for acquiring target systems that attacker commands can be sent to and execution information can be collected from.

class frontend.target_systems.TargetSystem(*args, **kwargs)

Bases: Protocol

A target system where attacker commands can be forwarded to.

address: str
port: int
class frontend.target_systems.TargetSystemProvider(*args, **kwargs)

Bases: Protocol

A service that manages and provides target systems.

abstract acquire_target_system(user, password)

Request to be given a target system.

If no target system is currently available for acquisition, this method may be called again.

Parameters
  • user (str) – The user to access the system using.

  • password (str) – The password of the user.

Returns

The acquired target system, if available, otherwise None.

Return type

Optional[frontend.target_systems._interface.TargetSystem]

abstract yield_target_system(target_system)

Yield a previously acquired target system.

Parameters

target_system (frontend.target_systems._interface.TargetSystem) – The target system to yield.

Return type

None

frontend.target_systems.create_grpc_target_system_provider(server_address)

Factory for a TargetSystemProvider that connects to a remote gRPC service.

Parameters

server_address (str) – The address of the gRPC server.

Returns

The constructed TargetSystemProvider.

Return type

frontend.target_systems._interface.TargetSystemProvider