Commit Graph

6839 Commits

Author SHA1 Message Date
VakarisZ e4bdc96410 Agent: move _set_propagation_depth and _add_default_server_to_config from constructor to start
Moved because these methods don't initialize the parameters, they change the global WormConfiguration object which is logic/behavior
2021-12-02 11:51:14 +02:00
VakarisZ 1e9c9ab823 Agent: move _set_propagation_depth and _add_default_server_to_config from constructor to start
Moved because these methods don't initialize the parameters, they change the global WormConfiguration object which is logic/behavior
2021-12-02 11:25:59 +02:00
Mike Salvatore f074b3e388 Agent: Pass agent_id to ControlChannel constructor 2021-12-01 12:18:32 -05:00
Mike Salvatore 1944040328 Agent: Remove unnecessary control_channel_server() from IControlChannel 2021-12-01 12:14:58 -05:00
Mike Salvatore 13e16b9dea Agent: Revert "legacy" in dropper start() and cleanup() functions 2021-12-01 11:26:05 -05:00
Mike Salvatore 48782e79d4 Swimm: update exercise Add a new configuration setting to the Agent ⚙ AzD8XysWg1BBXCjCDkfq 2021-12-01 11:26:00 -05:00
Mike Salvatore eaf27a7b92 Merge branch '1576-simplify-server-config-json' into agent-refactor 2021-12-01 11:18:27 -05:00
VakarisZ ad6b309523 Agent: readability and style changes in monkey.py: refactored back from raising exceptions to logging and returning, not storing part of island config options as separate parameters, etc. 2021-12-01 18:13:27 +02:00
VakarisZ 81e61dcea5 Agent: improve the readability of InfectionMonkey constructor by decoupling cmd argument parsing from object parameter setting 2021-12-01 17:08:32 +02:00
VakarisZ 793bb33c8c Agent: use the refactored startup instead of legacy methods (monkey.start() instead of monkey.legacy_start(), etc.) 2021-12-01 17:04:45 +02:00
Mike Salvatore 1d7c80bfec Changelog: Add changelog entry for #1576 2021-12-01 07:40:30 -05:00
Mike Salvatore e61bac0895 Tests: Test get_server_config() instead of internal _extract_config() 2021-12-01 07:39:19 -05:00
VakarisZ 6e7ddbc6c7 Agent: improve the readability of island_config_options.py 2021-12-01 14:35:37 +02:00
VakarisZ 0806afed1a Agent: rename PlannedShutdownException to PlannedShutdownError
This will stay consistent with python and our own codebase
2021-12-01 12:49:50 +02:00
VakarisZ 89436a4cd9 Agent: remove behavioral methods from monkey.py and leave only setup/teardown related code
Behavior is handled by master, monkey.py should only setup/teardown the agent
2021-12-01 12:45:44 +02:00
VakarisZ 8304a4ea19 UT: improve unit tests in test_server_setup.py 2021-12-01 10:56:18 +02:00
Mike Salvatore 854ca7fa89 Island: Change log level to warn if server config not found 2021-11-30 13:02:06 -05:00
Mike Salvatore 707fbf41aa Island: Remove defunct "environment" from default server_config.json 2021-11-30 12:59:20 -05:00
Mike Salvatore 9ed689946c Docs: Minor edits to Linux setup documentation 2021-11-30 12:56:52 -05:00
Mike Salvatore 3e8f7382d0 Docs: Minor edits to docker setup documentation 2021-11-30 12:53:55 -05:00
Mike Salvatore 9e036c8853 Doc: Make minor edits to windows setup documentation 2021-11-30 12:52:40 -05:00
Mike Salvatore 7570064ae7 Docs: Remove erroneous comment about log level for agents
Agents' log level is not configurable at this time.
2021-11-30 12:49:19 -05:00
Mike Salvatore 0b7da7ed67 Docs: Fix "logging" links in FAQ 2021-11-30 12:48:03 -05:00
Mike Salvatore e76915cf96
Merge pull request #1634 from guardicore/1610-cleanup-ransomware
Cleanup function for ransomware
2021-11-30 12:31:04 -05:00
Mike Salvatore a5fc0bc393 Agent: Change readme if condition in RansomwarePayload.cleanup()
If the _readme_incomplete flag is set but no readme file has been left
in the target directory, do not leave a new readme file. This can happen
if the thread is forcefully killed between the time when the flag is set
and the file is first created. The cleanup function is only concerned
with cleaning up incomplete files, not ensuring the existence of the
file under all circumstances.
2021-11-30 12:03:37 -05:00
Mike Salvatore 789a6691c1 Agent: Improve log messages in RansomwarePayload.cleanup() 2021-11-30 12:03:37 -05:00
Mike Salvatore 62a6b09e00 Agent: Use `self._target_directory` in RansomwarePayload 2021-11-30 12:03:37 -05:00
Mike Salvatore 14c298e89c Agent: Move exception handling from readme_dropper to ransomware_payload 2021-11-30 12:03:26 -05:00
Mike Salvatore f87802678b Tests: Use default parameters in build_ransomware_payload() fixture
This allows ransomware payloads with different mocks to be built on a
per-test basis with minimal effort and maximal code reuse.
2021-11-30 11:13:03 -05:00
Shreya Malviya bedc8d4f84 Agent: Add cleanup logic for ransomware payload 2021-11-30 11:12:51 -05:00
VakarisZ 0a32ac888e Docs: moved server configuration and common configuration operation docs to corresponding deployment option setup pages 2021-11-30 15:44:46 +02:00
VakarisZ 06f31791fc Island, UT: fix island config option extraction to also expand paths and add a UT for that 2021-11-30 12:12:29 +02:00
VakarisZ 03566d2966 Island: remove the server config extraction from server_config.json in island's cwd
All deployments can be configured via command line OR by modifying the server_config.json that comes with the deployment
2021-11-30 12:06:02 +02:00
VakarisZ e95df875be Island: fix a bug in server's config options extraction that caused unspecified properties to get overridden by defaults 2021-11-30 10:27:09 +02:00
Ilija Lazoroski f8441f2d7f Agent: Refactor the new start and cleanup function 2021-11-29 19:57:25 +01:00
Ilija Lazoroski 72f4fc1ef6 Agent: Remove intialize both from monkey and dropper
Add legacy start and cleanup to the agent which
are the same code reformated in the previous commits.
Reformat start function.
2021-11-29 18:54:52 +01:00
VakarisZ 68ea983458 UT: fixed the path to consts in test_server_setup.py 2021-11-29 17:27:26 +02:00
VakarisZ ffe9a65037 Docs: improve the documentation by specifying that user can use log levels `info` and `debug`, instead of saying "default Python log levels" 2021-11-29 17:21:46 +02:00
VakarisZ 04feb1b31d Island,UT: move PACKAGE_CONFIG_PATH and USER_CONFIG_PATH consts to config_setup.py, where they are used 2021-11-29 15:16:02 +02:00
VakarisZ 7e479ec3df Island: improve readability in config_setup.py by renaming methods and adding default parameter to IslandConfigOptions 2021-11-29 14:47:37 +02:00
Shreya Malviya 75226bdf6e Agent: Comment out mock master things in monkey.py
So that both 'masters' don't run at the same time.
To test the mock master, un-comment the lines in this commit and
comment the lines `self._start_post_breach_async()` and `self._start_propagation()`
in `start()`.
2021-11-29 15:26:12 +05:30
VakarisZ 811983a8b5 Island: refactor/change exit() to the syntax of sys.exit 2021-11-29 11:35:22 +02:00
VakarisZ 3e32dbbc52 Docs: extract the server configuration workflow to a separate server_configuration.md page, which explains how to setup and use server_configuration.json
This change extracts server_config.json usage into a single page, which can then be referred to from any page that requires island configuration
2021-11-26 17:05:38 +02:00
Ilija Lazoroski 1ee6d10b4c Agent: Refactor agent startup
Reorder and rename functions.
2021-11-26 13:34:06 +01:00
Ilija Lazoroski 3c13324e8a Agent: Change send_exploit_telemetry for host exploiter 2021-11-26 13:32:41 +01:00
VakarisZ dcc71faaa9 Island: try reading server_config.json from install directory
On windows it's not easy to pass server_config as a commandline parameter. It's easier to just create a file in install directory.
2021-11-26 12:04:46 +02:00
VakarisZ 00665cbae0 Island: implements the logic of server config extraction and adds unit tests for it
Since server_config.json no longer needs to be writable, we can load defaults, then override package specific options and lastly override user specified options to form the final config for island
2021-11-26 12:04:46 +02:00
VakarisZ 00819ccf40 Build: remove unused server config options from docker
Options removed match the defaults so there's no reason to keep them
2021-11-26 12:04:46 +02:00
VakarisZ 7e21635733 Island: separate the workflow of config extraction from data directory setup 2021-11-26 12:04:46 +02:00
Ilija Lazoroski fb007e9cc8 Agent: Initial refactoring of monkey including mocked puppet and a master 2021-11-25 17:17:23 +01:00