143 Commits

Author SHA1 Message Date
Marek Wolan
5609dc8d07 Appease precommit 2025-02-28 11:13:23 +00:00
Marek Wolan
96549e68aa Merge remote-tracking branch 'origin/dev' into 4.0.0-dev 2025-02-10 14:39:28 +00:00
Marek Wolan
4a472c5c75 #3062 - Remove discriminators from abstract classes and fix remaining old discriminator names 2025-02-05 10:12:13 +00:00
Marek Wolan
7ebe7fa4ef Merge '2887-Align_Node_Types' into 3062-discriminators 2025-02-04 14:04:40 +00:00
Marek Wolan
abccf4afc5 #3062 - First pass at unifying naming convention for discriminators (still errors) [skip ci] 2025-02-03 16:24:03 +00:00
Charlie Crane
d1e932a57c #2887 - Merge in changes on dev to resolve conflicts. All tests should now pass 2025-02-03 11:16:34 +00:00
Charlie Crane
d806391625 #2887 - Test fixes 2025-01-31 18:46:02 +00:00
Marek Wolan
055c853b0f #3062 - rename identifier to discriminator 2025-01-31 16:00:32 +00:00
Marek Wolan
4fb54c9492 #3029 - Add string-ip validator, improve validation, fix minor bugs in pulling schema data 2025-01-31 12:18:52 +00:00
Charlie Crane
51f1c91e15 #2887 - Fixed Node unit test failures 2025-01-29 11:55:10 +00:00
Charlie Crane
f85aace31b #2887 - Correct networking troubles causing test failures 2025-01-28 19:35:27 +00:00
Charlie Crane
e1f2f73db0 #2887 - Test changes to correct NodeOperatingState is correct per passed config. 2025-01-28 09:37:58 +00:00
Charlie Crane
0570ab984d #2887 - Node class changes to address some test failures. Addressed some inconsistencies around operating_state, amended instantiation of some Nodes in test environments 2025-01-27 16:35:40 +00:00
Charlie Crane
a7395c466e #2887 - Final test changes before end of day 2025-01-23 17:42:59 +00:00
Marek Wolan
66daab3baf Backport 3.3.1 fixes into Core 2025-01-21 13:08:36 +00:00
Nick Todd
dff976b336 #2888: Fix merge test failures. 2025-01-16 16:32:55 +00:00
Nick Todd
ea9c13b5f4 #2888: self.X -> self.config.X 2025-01-13 15:38:11 +00:00
Nick Todd
0203a8699a #2888: Fixed C2Beacon test failures. 2025-01-07 14:21:07 +00:00
Nick Todd
d0c357355c #2888: Update tests to use config.fixing_duration. 2025-01-07 10:27:41 +00:00
Marek Wolan
695ebb5ec7 #2888 - fix test database class to use correct listener default 2025-01-06 10:13:27 +00:00
Marek Wolan
c481847b01 #2888 - Software: align identifiers, tidy up schemas 2025-01-03 13:39:58 +00:00
Marek Wolan
66ca72be79 Merge branch '4.0.0a1-dev' into feature/2888_Align_core_software_with_registry 2025-01-03 12:11:46 +00:00
Marek Wolan
491de6fc47 Revert pre-commit deleting files 2025-01-02 15:11:02 +00:00
Marek Wolan
bf32271ddd Change copyright to 2025 2025-01-02 15:05:06 +00:00
Nick Todd
4a52054ed6 #2888: Initialise ConfigSchema's and fix type names. 2024-12-12 14:58:48 +00:00
Marek Wolan
f1b911bc65 Change port and protocol to annotated validators 2024-09-25 16:28:22 +01:00
Marek Wolan
695891f55c Add port and protocol custom validators 2024-09-20 11:21:28 +01:00
Marek Wolan
08f1cf1fbd Fix airspace and remaining port problems from refactor 2024-09-19 15:06:29 +01:00
Marek Wolan
dd931d900b port refactor - eod commit, airspace still broken 2024-09-18 16:02:25 +01:00
Archer Bowen
bceedbf72d Merged PR 504: Command and Control Full PR
## Summary
Implements the Command and Control applications to the quality and capability needed for the TAP001 expansion and lays the foundations for all the features required for TAP002 (Next Release).

The C2C suite contains three new applications:

**1. Abstract C2**

Base class for the C2 Server and the C2 Beacon. Controls the main internal logic of both applications but with a couple of abstract methods which each class defines differently.

**2. C2 Server**

The C2 Server takes red agent actions and converts the action options into C2 Commands which are then passed to the C2 Beacon.
The output of these commands is sent back to the C2 Server and then returned back to the red agent.

**3. C2 Beacon**

The C2 beacon uses the Terminal and the Ransomware Applications to perform different commands which it receives these commands and executes them and returns the output.

The C2 beacon can also be configured by the Red Agent to configure the current networking behaviour.

For a much more detailed description please refer to the .rst documentation and the notebook which demonstrate and describe the functionality very explicitly.

Lastly the wiki page also provides more information around the design work for this feature.

[Command and Control](/Welcome-to-PrimAITE!/Design/[~In-Progress~]/Command-and-Control)

Worth noting that some changes were needed that were unseen during the design page but the overall goals of the feature have been accomplished.

## Test process
Tested via notebooks and a series of e2e tests.

## Checklist
- [x] PR is linked to a **work item**
- [x] **acceptance criteria** of linked ticket are met
- [x] performed **self-review** of the code
- [x] written **tests** for any new functionality added with this PR
- [x] updated the **documentation** if this PR changes or adds functionality
- [x] written/updated **design docs** if this PR implements new functionality
- [x] updated the **change log**
- [x] ran **pre-commit** checks for code style
- [x] attended to any **TO-DOs** left in the code (One remaining but unsure if it should be handled in this PR)

Related work items: #2689, #2720, #2721, #2779
2024-08-20 13:16:22 +00:00
Marek Wolan
f344d292db #2736 - Fix up broken reward tests 2024-08-19 13:59:35 +01:00
Archer Bowen
83b8206ce0 #2689 Added C2 Sequence diagram to docs and added additional ftp_client request tests. 2024-08-16 11:51:38 +01:00
Archer Bowen
849cb20f35 #2689 Addressed more PR comments & fixed an bug with command parsing in _command_terminal (c2 beacon) 2024-08-16 10:24:53 +01:00
Archer Bowen
f32b3a931f #2689 Addressed failing tests + updated c2_suite.rst to include the Data exfil command. 2024-08-15 14:41:35 +01:00
Archer Bowen
6a28f17f1b #2689 Initial draft of File exfiltration. 2024-08-14 19:49:58 +01:00
Archer Bowen
6c7376ab4b #2681 Updated to include yaml file tests + include listening on multiports. 2024-08-13 09:37:11 +01:00
Archer Bowen
cbf02ebf32 #2689 Updated documentation and moved _craft_packet into abstract C2 2024-08-12 14:16:21 +01:00
Archer Bowen
ce3805cd15 #2689 Updated c2 tests significantly and improved quality of debug logging. 2024-08-12 10:47:56 +01:00
Archer Bowen
53433ce7b6 #2689 General improvements.
1. Abstract TAP now handles .apply_timestep
2. Expanded tests
3. Added pydantic model for c2 configuration.
2024-08-09 17:53:47 +01:00
Archer Bowen
0e8e8c5681 Merge remote-tracking branch 'origin/dev' into feature/2689-command-and-control 2024-08-09 12:15:43 +01:00
Archer Bowen
ddc9acd03a #2689 Fix notebook blue agent actions not functioning correctly. 2024-08-09 11:04:12 +01:00
Chris McCarthy
a3a9ca9963 #2768 - Fixed issue causing main port to not be included in list of open ports. documented the configuration of listen_on_ports. added test that tests listen_on_ports configuration from yaml. 2024-08-08 21:20:20 +01:00
Archer Bowen
9249447ea6 Merge branch 'dev' into feature/2689-command-and-control 2024-08-07 14:18:40 +01:00
Archer Bowen
b1baf023d6 #2689 Fixed up Pytests and confirmed functionality before merging from dev. 2024-08-07 14:16:50 +01:00
Chris McCarthy
322a691e53 #2768 - Added listen_on_ports attribute to IOSoftware. updated software manager so that it sends copies of payloads to listening ports too. Added integration test that installs a listening service to snoop on DB traffic. 2024-08-02 23:21:35 +01:00
Chris McCarthy
696236aa61 #2735 - make the disabled/enabled admins/non-admins dynamic properties for simplicity. Added num_of_logins to User. Added additional test for counting user logins. Added all users to the UserManager describe_state function. Refactored model fields with empty dict as default value to have direct instantiation instead of using Field(default_factory=dict) or Field(default_factory=: lambda: {}). 2024-08-02 12:47:02 +01:00
Marek Wolan
a719b24cfc Merge branch 'dev' into feature/2735-usermanager-fixes 2024-08-01 13:23:03 +01:00
Marek Wolan
2abd1969fe #2800 - Consolidate software install and uninstall to a single method 2024-07-31 16:41:59 +01:00
Chris McCarthy
d0c8aeae30 #2735 - implemented remote logins. Added action remote sessions to UserSessionManager describe_state. Added suite of tests for UserSessionManager logins 2024-07-24 17:08:18 +01:00
Chris McCarthy
8702dc7067 #2735 - tidies up some oif the api, temporarily integrated login checks to ping for testing, added temp test 2024-07-19 10:34:32 +01:00