Mike Salvatore
7cb1f761d8
Agent: Add type hints to VictimHost constructor
2021-12-16 14:39:54 -05:00
vakarisz
29d3cc2aaf
Agent, UT: Implement VictimHostFactory
...
Implements and unit tests the VictimHostFactory. The factory allows creation of victims based on current network situation of the agent
2021-12-16 14:39:54 -05:00
Mike Salvatore
ddd8a0e53a
Agent: Build an AutomatedMaster in monkey.py
2021-12-16 14:39:54 -05:00
Mike Salvatore
da3c6a4245
Agent: Add get_local_network_interfaces()
2021-12-16 14:39:54 -05:00
Mike Salvatore
332649d5d1
Agent: Integrate scan_target_generator with AutomatedMaster
2021-12-16 14:39:54 -05:00
Mike Salvatore
8e0efb1993
Island: Replace deprecated logging.warn() with logging.warning()
2021-12-16 14:38:54 -05:00
Mike Salvatore
dc3adc9d8b
UT: Fix annoying pytest warning regarting TestAuthenticationError
2021-12-16 14:37:39 -05:00
Mike Salvatore
e60297dff1
UT: Fix broken mock in test_stop_if_cant_get_stop_signal_from_island
2021-12-16 14:36:33 -05:00
Mike Salvatore
fd29393ce4
Merge pull request #1659 from guardicore/1597-implement-scan-target-generator
...
1597 implement scan target generator
2021-12-16 09:11:23 -05:00
Mike Salvatore
ed16826b87
Agent: Sort scan targets by IP
2021-12-16 09:08:39 -05:00
Mike Salvatore
c8469f5521
Agent: Move _filter_invalid_ranges to NetworkRanges
2021-12-16 08:56:35 -05:00
Mike Salvatore
bfed27301a
Agent: Change `not ==` to `!=` in _remove_blocklisted_ips()
2021-12-16 08:47:29 -05:00
Mike Salvatore
db246d6740
UT: Fix imports in test_scan_target_generator
2021-12-16 08:33:38 -05:00
Mike Salvatore
7c786b0883
Agent: Improve performance of _remove_ips_from_scan_targets()
2021-12-16 08:33:09 -05:00
Mike Salvatore
ec9aaf6b38
Agent: Clarify some names in scan_target_generator
2021-12-16 08:32:50 -05:00
vakarisz
549eb5d389
Agent, UT: Implement domain names in scan_target_generator.py
...
Change the ip strings to NetworkAddress named tuple that has ip and domain name. This tuple better describes the target and is necessary because VictimHost uses domain names
2021-12-16 12:03:40 +02:00
Mike Salvatore
9f3bd9bfd0
Merge pull request #1658 from guardicore/1597-handle-control-exceptions
...
Handle ControlClient exceptions in AutomatedMaster
2021-12-15 13:14:09 -05:00
Mike Salvatore
fdaa454c59
Agent: Add unit tests for AutomatedMaster island comms retry
2021-12-15 13:12:20 -05:00
Mike Salvatore
94a42a1469
UT: Make monkey configs available to Island and Agent
2021-12-15 12:59:04 -05:00
Mike Salvatore
baeee8b90a
Agent: Rename _should_retry_task() -> _try_communicate_with_island()
2021-12-15 11:19:29 -05:00
Mike Salvatore
b262be8d1d
Agent: Change log level of "stop signal" message to info
2021-12-15 11:16:14 -05:00
Ilija Lazoroski
8ec580e19c
Agent: Implement should retry task in automated master
...
Add handling of known requests exceptions in ControlClient.
Moved IslandCommunicationError to IControlChannel
2021-12-15 16:57:39 +01:00
Ilija Lazoroski
b53fae038d
Agent: Implement should retry task in automated master
...
Add handling of known requests exceptions in ControlClient.
2021-12-15 16:57:39 +01:00
Ilija Lazoroski
72a5e94111
Agent: Raise custom control client exception
...
Move stop agent timeout to a constant, make custom control
client exception and raise it, reset failed stop after successfull
connection.
2021-12-15 16:55:42 +01:00
Ilija Lazoroski
f299e61b20
Agent: Handle ControlClient exceptions in AutomatedMaster
2021-12-15 16:53:50 +01:00
Mike Salvatore
c1dd9f6bac
Merge pull request #1661 from guardicore/1597-signal-handling
...
1597 signal handling
2021-12-15 10:41:37 -05:00
Mike Salvatore
f26ff86e2a
Agent: Remove disused PlannedShutdownError
2021-12-15 10:30:22 -05:00
Mike Salvatore
3f9bd24228
Agent: Wait for master to terminate on windows CTRL_CLOSE_EVENT
2021-12-15 10:12:10 -05:00
Mike Salvatore
f46bb60da5
Agent: Add block parameter to IMaster.terminate()
...
This allows the caller to decide whether or not they're willing to wait
for the master to finish shutting down.
2021-12-15 10:12:10 -05:00
Mike Salvatore
a051759764
Agent: Get only the config from the get_config() response
2021-12-15 10:11:32 -05:00
Mike Salvatore
0f149f7eee
Agent: Handle error messages from exploit_host() in MockMaster
2021-12-15 09:44:22 -05:00
Mike Salvatore
ba5d755dfa
Merge pull request #1657 from guardicore/1597-implement-exploitation
...
1597 implement exploitation
2021-12-15 09:11:17 -05:00
Mike Salvatore
a6bb81e473
Agent: Fix order of Exploiter Callback type hint arguments
2021-12-15 08:34:21 -05:00
Mike Salvatore
f1b55b70c2
Agent: Remove redundant check for stop in Exploiter
2021-12-15 08:10:00 -05:00
Ilija Lazoroski
20890e51ec
Agent: Remove ransomware cleanup function
2021-12-15 07:11:14 -05:00
Mike Salvatore
fc767e2074
Agent: Add missing "f" to f-string
...
Co-authored-by: Shreya Malviya <shreya.malviya@gmail.com>
2021-12-15 06:48:30 -05:00
vakarisz
cabadeb7d1
Agent, UT: Implement scan target validation
...
This changes validate scan target inputs and skip invalid ones. If an invalid blocked IP is specified, then an unhandled exception is raised.
2021-12-15 13:17:30 +02:00
Mike Salvatore
4b3984dbd7
Agent: Add default return value in MockPuppet.exploit_host()
2021-12-14 15:38:15 -05:00
Mike Salvatore
6c1caa1af4
Agent: Improve log message for failed propagation
2021-12-14 15:38:15 -05:00
Mike Salvatore
da61451947
Agent: Fix order of arguments to Exploiter.exploit_hosts()
2021-12-14 15:38:15 -05:00
Mike Salvatore
b466a17f76
Agent: Remove scan_thread from Propagator._exploit_hosts() arguments
2021-12-14 15:38:15 -05:00
Mike Salvatore
bda192eba9
Agent: Extract run_worker_threads() from IPScanner and Exploiter
2021-12-14 15:38:15 -05:00
Mike Salvatore
3394629cb2
Agent: Run exploiters from AutomatedMaster
2021-12-14 15:38:15 -05:00
Mike Salvatore
1e02286b2a
Agent: Add "error_message" to ExploiterResultData
2021-12-14 15:38:08 -05:00
Mike Salvatore
eb7612d80d
Agent: Rename result -> success in ExploiterResultData
2021-12-14 15:37:18 -05:00
Mike Salvatore
09305bca4c
Island: Reformat "exploiter" config options before sending to Agent
2021-12-14 15:36:52 -05:00
Mike Salvatore
93d0bb6cd2
Agent: Add a placeholder VictimHostFactory
...
The AutomatedMaster will need access to the monkey's tunnel, IP
addresses, and default server in order to properly configure the victim
host. The VictimHostFactory can abstract these dependencies away and
handle these details on behalf of the AutomatedMaster.
2021-12-14 15:36:52 -05:00
Mike Salvatore
8423a064bb
Merge pull request #1656 from guardicore/1598-concrete-puppet
...
Add `load_plugin` functions and create a concrete puppet class
2021-12-14 10:55:32 -05:00
Shreya Malviya
ffb2da02a3
Agent: Create a concrete puppet class
2021-12-14 10:54:24 -05:00
vakarisz
59ff3d39ce
UT: small readability improvement in test_scan
2021-12-14 17:52:43 +02:00