#2888 - fix software config issues

This commit is contained in:
Marek Wolan
2025-01-06 10:08:32 +00:00
parent 30d8f14251
commit 632201681b
2 changed files with 13 additions and 7 deletions

View File

@@ -53,6 +53,16 @@ class C2Beacon(AbstractC2, identifier="C2Beacon"):
terminal_session: TerminalClientConnection = None
"The currently in use terminal session."
def __init__(self, **kwargs):
kwargs["name"] = "C2Beacon"
super().__init__(**kwargs)
self.configure(
c2_server_ip_address=self.config.c2_server_ip_address,
keep_alive_frequency=self.config.keep_alive_frequency,
masquerade_port=self.config.masquerade_port,
masquerade_protocol=self.config.masquerade_protocol,
)
@property
def _host_terminal(self) -> Optional[Terminal]:
"""Return the Terminal that is installed on the same machine as the C2 Beacon."""
@@ -131,10 +141,6 @@ class C2Beacon(AbstractC2, identifier="C2Beacon"):
rm.add_request("configure", request_type=RequestType(func=_configure))
return rm
def __init__(self, **kwargs):
kwargs["name"] = "C2Beacon"
super().__init__(**kwargs)
# Configure is practically setter method for the ``c2.config`` attribute that also ties into the request manager.
@validate_call
def configure(

View File

@@ -84,7 +84,7 @@ class Software(SimComponent, ABC):
model_config = ConfigDict(extra="forbid")
starting_health_state: SoftwareHealthState = SoftwareHealthState.UNUSED
criticality: SoftwareCriticality = SoftwareCriticality.LOWEST
fixing_duration: int = 2
fix_duration: int = 2
config: ConfigSchema = Field(default_factory=lambda: Software.ConfigSchema())
@@ -117,9 +117,9 @@ class Software(SimComponent, ABC):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.health_state_actual = self.config.starting_health_state
self.health_state_actual = self.config.starting_health_state # don't remove this
self.criticality = self.config.criticality
self.fixing_duration = self.config.fixing_duration
self.fixing_duration = self.config.fix_duration
def _init_request_manager(self) -> RequestManager:
"""