Commit Graph

8500 Commits

Author SHA1 Message Date
Shreya Malviya ae500131b9 Build: Update mongo download link for Windows 2022-05-12 17:14:49 +05:30
Shreya Malviya 3e5ae392c9 Build: Create separate mongo installation script for Windows 2022-05-12 17:03:38 +05:30
Mike Salvatore 77702fcfbd Merge branch '1928-aws-service-refactor' into develop
Resolves #1928
2022-05-12 07:23:47 -04:00
Mike Salvatore 95979e6e71
Merge pull request #1944 from guardicore/1928-report-exporter-removal
1928 report exporter removal
2022-05-12 07:17:52 -04:00
Mike Salvatore 592fb1538f Island: Remove disused Exporter class 2022-05-12 07:12:25 -04:00
Mike Salvatore 25cfa58c69 UI: Use single quotes instead of double quotes in AWSInstanceTable.js 2022-05-12 07:08:16 -04:00
Mike Salvatore e0cec77ec6
Merge pull request #1938 from guardicore/1781-rework-windows-agent-deletion
Mark monkey agent for deletion on boot
2022-05-12 06:50:49 -04:00
vakarisz 499fec2574 Island: Improve _aws_command_results_to_encodable_dict
By calling __dict__ we avoid the need to specify each dictionary key and make it the same as AWSCommandResults. This will allow for easier modification of AWSCommandResults.
2022-05-12 11:21:47 +03:00
vakarisz 70ae745a52 Island: Remove report exporter manager
We only have AWS report exporter, no point to keep this infrastructure
2022-05-12 09:22:03 +03:00
Mike Salvatore 7bb1aeb42c UT: Add __init__.py to avoid test file name collisions
See https://github.com/pytest-dev/pytest/issues/3151 for more details.
2022-05-11 18:30:14 -04:00
Ilija Lazoroski d9046b39a8 Agent: Mark monkey agent for deletion on reboot
Each windows agent which will be runned, we are going to
to mark it for deletion on boot and also try it to delete it using
delayed command.
2022-05-11 23:47:11 +02:00
Mike Salvatore 8fe9b32366 UT: Expect WindowsPath in assert_windows_permissions() 2022-05-11 12:12:24 -04:00
Mike Salvatore c685ce3725 Merge branch '1928-run-agent-on-remote-instance' into 1928-aws-service-refactor 2022-05-11 10:38:51 -04:00
vakarisz 7ed7164a03 Island: Export AWS findings without report_exporter_manager.py 2022-05-11 17:09:48 +03:00
Mike Salvatore f83832dc3c Island: Change method order in RemoteRun 2022-05-11 10:00:35 -04:00
Mike Salvatore ae0e8ddb8e Island: Refactor RemoteRun.post() results encoding 2022-05-11 10:00:04 -04:00
Mike Salvatore 43d8fd87ed UT: Add unit tests for RemoteRun resource 2022-05-11 09:52:21 -04:00
Mike Salvatore cb29c9ed88 Island: Add RemoteRun to resources/__init__.py 2022-05-11 09:51:49 -04:00
Mike Salvatore c865bf3c15 UT: Remove unneeded tmp_path from test_pba_file_download.flask_client() 2022-05-11 09:49:44 -04:00
Mike Salvatore 7c0616eecd Island: Add timeout parameter to start_infection_monkey_agent() 2022-05-11 08:20:48 -04:00
vakarisz 3702ecbc8c UI: Fix AWSInstanceTable.js to show status of run commands 2022-05-11 15:15:15 +03:00
Mike Salvatore d1d960abc2 UT: Fix faulty logic in test_multiple_status_queries
The test is checking that some calls return "in progress" and subsequent
calls return success. Using itertools.repeat allows all future calls to
return success.
2022-05-11 08:09:56 -04:00
Mike Salvatore 825c7b9ecf Island: Refactor logic to start threads in AWSService 2022-05-11 08:04:25 -04:00
Mike Salvatore 680dbca574 UT: Use only Python3.7 features in test_aws_command_runner 2022-05-11 07:56:15 -04:00
vakarisz b8006a6274 Island: Add instance ID to AWSCommandResults
Instance id tells us where the command was launched
2022-05-11 14:32:39 +03:00
Shreya Malviya 36faa9f5a3 Build: Update MongoDB links in install_mongo.sh 2022-05-11 16:21:32 +05:30
vakarisz 0b5a507f38 Island: Make AWSCommandStatus enum json serializable 2022-05-11 13:48:56 +03:00
VakarisZ b9f71cd41c
Merge pull request #1936 from guardicore/1883-setup-docs-linux
Add documentation to run IM as service on boot
2022-05-11 12:26:34 +03:00
vakarisz 30fb57c37f Island: Fix a bug where agent run threads won't start 2022-05-11 11:10:45 +03:00
Shreya Malviya 7e997b5403 Docs: Add instructions about root permissions for AppImage systemd unit installation 2022-05-11 13:32:35 +05:30
vakarisz aa159a4240 Island: Improve aws_command_runner.py readability a bit 2022-05-11 10:20:27 +03:00
Mike Salvatore 94fd2a26d9 Island: Remove disused AwsCmdResult
This was replaced by monkey_island.services.aws.AWSCommandResults.
2022-05-10 13:37:44 -04:00
Mike Salvatore 60229f4a65 Island: Run multiple AWS commands concurrently 2022-05-10 13:31:14 -04:00
Mike Salvatore 487d1c55af Common: Add queue_to_list() 2022-05-10 13:30:10 -04:00
Mike Salvatore 2804ba9b07 Island: Return AWSCommandResults from start_infection_monkey_agent() 2022-05-10 13:09:56 -04:00
vakarisz e5285f2f78 Island: Add custom error and sketch out AWS command results 2022-05-10 16:57:36 +03:00
Mike Salvatore 109ea87196 Island: Fix negative sleep time bug in aws_command_runner 2022-05-10 09:47:58 -04:00
Mike Salvatore 27f8195be5 UT: Add unit tests for aws_command_runner 2022-05-10 09:47:46 -04:00
Shreya Malviya 0c95f66782 Docs: Add instructions to run IM as service on boot through the AppImage 2022-05-10 18:56:34 +05:30
Mike Salvatore 79eb584c5d Island: Skip try_add_aws_exporter_to_manager()
This is causing the island to crash at the moment and will be completely
removed later in #1928.
2022-05-10 08:50:47 -04:00
Mike Salvatore bfeea19c88 Island: Fix broken AWS queries in aws_command_runner 2022-05-10 08:50:45 -04:00
Mike Salvatore 68d709c158 Deploy: Use `npm run dev` instead of `npm run dist`
`dev` is significantly faster than `dist`. `dist` uses a source mapping
algorithm that's good for production, but much slower than the one used
by `dev`. See https://github.com/guardicore/monkey/issues/1879 for more
details.
2022-05-10 08:15:22 -04:00
Mike Salvatore c655aaffe9 UT: Move test_aws_service.py to services/aws/ 2022-05-10 08:04:33 -04:00
Mike Salvatore 6b4e991fdc
Merge pull request #1935 from guardicore/1928-stateful-aws-service
1928 stateful aws service
2022-05-10 07:57:29 -04:00
Mike Salvatore 4f3a150f5a Common: Remove disused common.cmd.* 2022-05-09 16:30:24 -04:00
Mike Salvatore fe1e8ccb75 Island: Remove disused RemoteRunAwsService 2022-05-09 16:27:07 -04:00
Mike Salvatore 68f31db03a UT: Add StubDIContainer 2022-05-09 16:23:35 -04:00
Mike Salvatore 528ca76c32 Island: Use AWSService in RemoteRun resource 2022-05-09 15:52:01 -04:00
Mike Salvatore 144506c32d Island: Implement AWSService._run_agent_on_managed_instance() 2022-05-09 15:43:52 -04:00
Mike Salvatore 653bfbd24b Island: Replace AWSCommandRunner with start_infection_monkey_agent()
The AWSCommandRunner is a subclass of CmdRunner, which attempts to make
it easy to run commands on AWS nodes asynchronously. There are some
issues with the implementation, including unnecessary complexity and a
circular dependency between the CmdRunner and Cmd classes. A simple
function that runs a single command on a single instance is a simpler
solution. It can be run with a thread worker pool if asynchronicity is
required.
2022-05-09 15:25:56 -04:00