Commit Graph

8875 Commits

Author SHA1 Message Date
Mike Salvatore fc9d854c72 Common: Add validation to AgentConfiguration construction 2022-06-24 12:56:34 -04:00
Mike Salvatore ea02bec0b4 Common: Remove circular dependency in agent_configuration.py 2022-06-24 12:42:09 -04:00
Mike Salvatore 4c47eae70b Common: Encapsulate AgentConfigurationSchema 2022-06-24 12:39:47 -04:00
Mike Salvatore 07d1d9c45a Island: Use {from,to}_json() in resources 2022-06-24 12:33:12 -04:00
Mike Salvatore a1baaae76a Common: Use from_json() in build_default_agent_configuration() 2022-06-24 12:29:54 -04:00
Mike Salvatore 6a927266a4 Island: Use {from,to}_json() in FileAgentConfigurationRepository 2022-06-24 12:28:36 -04:00
Mike Salvatore e4eee6a5eb UT: Use from_dict() and from_json() in tests 2022-06-24 12:28:30 -04:00
Mike Salvatore 28250daffe Common: Add AgentConfiguration.to_json() 2022-06-24 12:19:31 -04:00
Mike Salvatore 1f9a056b0b Agent: Add AgentConfiguration.from_json() 2022-06-24 11:51:33 -04:00
Mike Salvatore 8605fd40ac UT: Add a test for AgentConfiguration.from_dict() 2022-06-24 11:50:49 -04:00
Mike Salvatore 5c739716a9 Common: Rename _dict -> dict_ 2022-06-24 11:44:00 -04:00
Mike Salvatore e3cea20cd5 UT: Move test_agent_configuration.py to configuration/ 2022-06-24 11:42:24 -04:00
Mike Salvatore 7bba711307 Agent: Revert scan/exploit thread numer change
The number of scan and exploit threads was changed accidentally in
6d156b8f.
2022-06-24 11:08:29 -04:00
Mike Salvatore 02cca3e12a Agent: Remove unnecessary type hints from IAgentRepository doctring 2022-06-24 07:42:01 -04:00
Mike Salvatore 7b4daaa40f Agent: Change IAgentRepository to ccept OperatingSystems
This was missed in d59dd81f and ffd3464d.
2022-06-24 07:40:24 -04:00
Mike Salvatore a3db4142bf Common: Add a docstring to OperatingSystems 2022-06-24 07:36:58 -04:00
Mike Salvatore 2eb1691030 Agent: Use operating_system.value in _download_binary_from_island() 2022-06-24 07:34:10 -04:00
Mike Salvatore 858eb2302c Agent: Rename os -> operating_system in caching_agent_repository
The variable name "os" conflicts with the name of Python's `os` library.
2022-06-24 07:23:26 -04:00
Mike Salvatore ffd3464d8a Agent: Move enum to string conversion to _download_binary_from_island() 2022-06-24 07:22:07 -04:00
Ilija Lazoroski e1d5d25e9c Agent: Use OperatingSystem.WINDOWS in Powershell 2022-06-24 11:18:39 +02:00
Ilija Lazoroski b605f16c4f Agent: Use == to compare OperatingSystems enum in Log4Shell 2022-06-24 11:11:19 +02:00
Ilija Lazoroski fb67586a4c Agent: Use OperatingSystems.value for urllib.parse.quote 2022-06-24 10:51:58 +02:00
Ilija Lazoroski d59dd81f43 Agent: Use OperatingSystems in CachingAgentRepository 2022-06-24 10:19:47 +02:00
Ilija Lazoroski f9445a2c76 Agent: Use == to compare OperatingSystems enum 2022-06-24 10:18:51 +02:00
Ilija Lazoroski 2ff2e5f597 Agent: Fix running of payloads 2022-06-24 08:33:21 +02:00
Mike Salvatore 6d156b8fee Island: Return config timeouts in seconds
The old config scheme stored timeouts as milliseconds, whereas the new
one uses seconds. Seconds are more convenient because most python
methods expecting timeouts are expecting floating-point seconds.
2022-06-23 16:55:10 -04:00
Mike Salvatore 05f640d487 Agent: Rename should_propagate -> maximum_depth_reached 2022-06-23 16:36:01 -04:00
Mike Salvatore ad0f6946bd Agent: Decouple should_propagate() and AgentConfiguration 2022-06-23 16:32:55 -04:00
Mike Salvatore afeca66d92 UT: Use AgentConfiguration in test_propagation.py 2022-06-23 16:27:05 -04:00
Mike Salvatore 5a95aef94c Agent: Remove unnecessary parameter 2022-06-23 15:57:11 -04:00
Mike Salvatore bff92ed7ad UT: Fix erroneously abbreviated fixture 2022-06-23 15:57:06 -04:00
Mike Salvatore 81d3300ec7 Agent: Remove print() that was added by mistake 2022-06-23 15:43:34 -04:00
Mike Salvatore 6e951ed65d UT: Remove supported_os from default_config.py
"supported_os" was removed from the schema in d079d74b
2022-06-23 14:56:24 -04:00
Mike Salvatore bba7139be6 Agent: Add missing return type hint to _try_communicate_with_island() 2022-06-23 14:51:35 -04:00
Mike Salvatore aff54232e9 Agent: Remove redundant call to control_channel.get_config() 2022-06-23 14:51:35 -04:00
vakaris_zilius 0f848eb284 Agent: Usa agent config object instead of dict should_propagate 2022-06-23 14:51:35 -04:00
vakaris_zilius ab67853192 Agent: Usa agent config object instead of dict automated_master.py 2022-06-23 14:51:35 -04:00
vakaris_zilius 86ed174d74 Agent: Usa agent config object instead of dict in option_parsing.py 2022-06-23 14:51:35 -04:00
vakarisz 9286e86900 Agent: Use deserialized in exploiter.py and propagator.py 2022-06-23 14:51:31 -04:00
vakarisz 095e49b543 Agent: Use deserialized config in automated_master.py 2022-06-23 14:47:08 -04:00
vakarisz ffe8c3451b Agent: Change scanners to use the config object 2022-06-23 14:47:08 -04:00
vakarisz 6b406ef686 Agent: Change configuration to object in control channel 2022-06-23 14:47:08 -04:00
vakarisz e83995d962 UT: Add a new fixture for config object 2022-06-23 14:47:08 -04:00
vakarisz d8ac441c59 Agent: Fix configuration retrieval in _run_simulation 2022-06-23 14:47:08 -04:00
vakarisz 77804caab5 Agent: Add from_dict method to AgentConfiguration
Creating AgentConfiguration object from dictionary makes sense because it doesn't couple the configuration to any specific serialization methods. Also, the json sent from the island doesn't match the config structure because it stores config in a dict under "config" key.
2022-06-23 14:47:08 -04:00
Mike Salvatore d079d74b2c Merge branch '2000-configuration-resource' into 1960-configuration-object
PR #2038
2022-06-23 11:46:13 -04:00
Ilija Lazoroski 1ae3bd4b4f UT: Rename InMemoryFileAgentConfigurationRepository to
InMemoryAgentConfigurationRepository
2022-06-23 17:15:50 +02:00
Ilija Lazoroski 42c4803376 Island: Use schema.loads in AgentConfiguration POST method 2022-06-23 08:12:54 -07:00
Ilija Lazoroski d7329ea839 UT: Add tests for AgentConfiguration resource 2022-06-23 08:12:54 -07:00
Ilija Lazoroski b35832b9dd UT: Add InMemoryFileAgentConfigurationRepository 2022-06-23 08:12:54 -07:00