-
Notifications
You must be signed in to change notification settings - Fork 788
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1074 from guardicore/release/1.10.0
Release Infection Monkey v1.10.0
- Loading branch information
Showing
667 changed files
with
14,536 additions
and
6,740 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
--- | ||
name: "⌛Spike" | ||
about: Create a spike to investigate a cool idea. | ||
title: '' | ||
labels: Spike | ||
assignees: '' | ||
|
||
--- | ||
|
||
# Spike | ||
|
||
<!-- | ||
A spike is a small chunk of work with the objective of gathering information. | ||
Fill in the details below to set the parameters and expectations for the spike. | ||
--> | ||
|
||
## Objective | ||
_A description of this spike's objective._ | ||
|
||
## Scope | ||
_Add an explanation of how this spike is bounded (e.g. time-boxed or a checklist of tasks or questions that must be answered)._ | ||
|
||
## Output | ||
_Add a description or list of expected outputs that result from successful completion of this spike. Some examples of outputs are more GitHb issues (e.g. bugs), a trade study, or a report detailing what was learned during the spike._ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,21 @@ | ||
# What is this? | ||
# What does this PR do? | ||
|
||
Fixes #`put issue number here`. | ||
|
||
Add any further explanations here. | ||
|
||
## Checklist | ||
## PR Checklist | ||
* [ ] Have you added an explanation of what your changes do and why you'd like to include them? | ||
* [ ] Have you successfully tested your changes locally? | ||
* [ ] Is the TravisCI build passing? | ||
* [ ] Was the documentation framework updated to reflect the changes? | ||
|
||
## Testing Checklist | ||
|
||
* [ ] Added relevant unit tests? | ||
* [ ] Have you successfully tested your changes locally? Elaborate: | ||
> Tested by {Running the Monkey locally with relevant config/running Island/...} | ||
* [ ] If applicable, add screenshots or log transcripts of the feature working | ||
|
||
## Proof that it works | ||
If applicable, add screenshots or log transcripts of the feature working | ||
## Explain Changes | ||
|
||
## Changes | ||
Are the commit messages enough? If not, elaborate. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,6 @@ | ||
|
||
[submodule "monkey/monkey_island/cc/services/attack/attack_data"] | ||
path = monkey/monkey_island/cc/services/attack/attack_data | ||
url = https://github.com/guardicore/cti | ||
[submodule "docs/themes/learn"] | ||
path = docs/themes/learn | ||
url = https://github.com/ShayNehmad/hugo-theme-learn.git | ||
url = https://github.com/guardicode/hugo-theme-learn.git |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
{ | ||
"id": "AzD8XysWg1BBXCjCDkfq", | ||
"name": "Add a new configuration setting to the Agent ⚙", | ||
"dod": "Make the max victim number that Monkey will find before stopping configurable by the user instead of constant.", | ||
"description": "# Make something configurable\n\nIn this unit, you will learn how to add a configuration option to Monkey and how to use it in the Monkey Agent code. \n\n![computer fire](https://media.giphy.com/media/7J4P7cUur2DlErijp3/giphy.gif \"computer fire\")\n\n## Why is this important?\n\nEnabling users to configure the Monkey's behaviour gives them a lot more freedom in how they want to use the Monkey and enables more use cases.\n\n## What is \"Max victims to find\"?\n\nThe Monkey has a function which finds \"victim\" machines on the network for the Monkey to try and exploit. It's called `get_victim_machines`. This function accepts an argument which limits how many machines the Monkey should find.\n\nWe want to make that value editable by the user instead of constant in the code.\n\n## Manual testing\n\n1. After you've performed the required changes, reload the Server and check your value exists in the Internal tab of the config (see image).\n\n![](https://i.imgur.com/e0XAxuV.png)\n\n2. Set the new value to 1, and run Monkey locally (from source). See that the Monkey only scans one machine.", | ||
"summary": "* When changing config schema by adding or deleting keys, you need to update the Blackbox Test configurations as well [here](https://github.com/guardicore/monkey/tree/develop/envs/monkey_zoo/blackbox/island_configs).", | ||
"hunksOrder": [ | ||
"monkey/infection_monkey/config.py_0", | ||
"monkey/infection_monkey/monkey.py_0", | ||
"monkey/monkey_island/cc/services/config_schema/internal.py_0" | ||
], | ||
"tests": [], | ||
"hints": [ | ||
"Look for `victims_max_exploit` - it's rather similar." | ||
], | ||
"play_mode": "all", | ||
"swimmPatch": { | ||
"monkey/infection_monkey/config.py": { | ||
"diffType": "MODIFIED", | ||
"fileDiffHeader": "diff --git a/monkey/infection_monkey/config.py b/monkey/infection_monkey/config.py\nindex 1fbcb876..67ed19de 100644\n--- a/monkey/infection_monkey/config.py\n+++ b/monkey/infection_monkey/config.py", | ||
"hunks": [ | ||
{ | ||
"swimmHunkMetadata": { | ||
"hunkComments": [] | ||
}, | ||
"hunkDiffLines": [ | ||
"@@ -131,8 +131,6 @@", | ||
" exploiter_classes = []\r", | ||
" system_info_collector_classes = []\r", | ||
" \r", | ||
"- # how many victims to look for in a single scan iteration\r", | ||
"- victims_max_find = 100\r", | ||
" \r", | ||
" # how many victims to exploit before stopping\r", | ||
" victims_max_exploit = 100\r" | ||
] | ||
} | ||
] | ||
}, | ||
"monkey/infection_monkey/monkey.py": { | ||
"diffType": "MODIFIED", | ||
"fileDiffHeader": "diff --git a/monkey/infection_monkey/monkey.py b/monkey/infection_monkey/monkey.py\nindex 444bde45..ff23f671 100644\n--- a/monkey/infection_monkey/monkey.py\n+++ b/monkey/infection_monkey/monkey.py", | ||
"hunks": [ | ||
{ | ||
"swimmHunkMetadata": { | ||
"hunkComments": [] | ||
}, | ||
"hunkDiffLines": [ | ||
"@@ -159,8 +159,6 @@", | ||
" if not self._keep_running or not WormConfiguration.alive:\r", | ||
" break\r", | ||
" \r", | ||
"- machines = self._network.get_victim_machines(max_find=WormConfiguration.victims_max_find,\r", | ||
"- stop_callback=ControlClient.check_for_stop)\r", | ||
" is_empty = True\r", | ||
" for machine in machines:\r", | ||
" if ControlClient.check_for_stop():\r" | ||
] | ||
} | ||
] | ||
}, | ||
"monkey/monkey_island/cc/services/config_schema/internal.py": { | ||
"diffType": "MODIFIED", | ||
"fileDiffHeader": "diff --git a/monkey/monkey_island/cc/services/config_schema/internal.py b/monkey/monkey_island/cc/services/config_schema/internal.py\nindex bdbae246..d6042d35 100644\n--- a/monkey/monkey_island/cc/services/config_schema/internal.py\n+++ b/monkey/monkey_island/cc/services/config_schema/internal.py", | ||
"hunks": [ | ||
{ | ||
"swimmHunkMetadata": { | ||
"hunkComments": [] | ||
}, | ||
"hunkDiffLines": [ | ||
"@@ -40,12 +40,6 @@", | ||
" \"title\": \"Monkey\",\r", | ||
" \"type\": \"object\",\r", | ||
" \"properties\": {\r", | ||
"- \"victims_max_find\": {\r", | ||
"- \"title\": \"Max victims to find\",\r", | ||
"- \"type\": \"integer\",\r", | ||
"- \"default\": 100,\r", | ||
"- \"description\": \"Determines the maximum number of machines the monkey is allowed to scan\"\r", | ||
"- },\r", | ||
" \"victims_max_exploit\": {\r", | ||
" \"title\": \"Max victims to exploit\",\r", | ||
" \"type\": \"integer\",\r" | ||
] | ||
} | ||
] | ||
} | ||
}, | ||
"app_version": "0.3.5-1", | ||
"file_version": "1.0.4", | ||
"last_commit_sha_for_swimm_patch": "17ee823b086f0b027612e2d1864930d2c5593c3e" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
{ | ||
"id": "JFXftJml8DpmuCPBA9rL", | ||
"name": "Add details about your new PBA", | ||
"dod": "You should add your new PBA's details to the configuration.", | ||
"description": "In order to make sure that the new `ScheduleJobs` PBA is shown in the configuration on the Monkey Island, you need to add its details to the configuration file(s). <br><br>\n\nSince this particular PBA is related to the MITRE techniques [T1168](https://attack.mitre.org/techniques/T1168) and [T1053](https://attack.mitre.org/techniques/T1053), make sure to link the PBA with these techniques in the configuration as well. <br><br>\n\nEach part of the configuration has an important role \n- *enum* — contains the relevant PBA's class name(s)\n- *title* — holds the name of the PBA which is displayed in the configuration on the Monkey Island\n- *info* — consists of an elaboration on the PBA's working which is displayed in the configuration on the Monkey Island\n- *attack_techniques* — has the IDs of the MITRE techniques associated with the PBA\n\n## Manual test \nOnce you think you're done...\n- Run the Monkey Island\n- You should be able to see your new PBA under the \"Monkey\" tab in the configuration, along with its information when you click on it\n- Further, when you enable/disable the associated MITRE techniques under the ATT&CK tab in the configuration, the PBA should also be enabled/disabled\n\n<img src=\"https://i.imgur.com/a5VSkL5.gif\" height=400>", | ||
"summary": "- The PBA details in this file are reflected on the Monkey Island in the PBA configuration.\n- PBAs are also linked to the relevant MITRE techniques in this file, whose results can then be seen in the MITRE ATT&CK report on the Monkey Island.", | ||
"hunksOrder": [ | ||
"monkey/monkey_island/cc/services/config_schema/definitions/post_breach_actions.py_0" | ||
], | ||
"tests": [], | ||
"hints": [ | ||
"Have a look at the details of the other techniques." | ||
], | ||
"play_mode": "all", | ||
"swimmPatch": { | ||
"monkey/monkey_island/cc/services/config_schema/definitions/post_breach_actions.py": { | ||
"diffType": "MODIFIED", | ||
"fileDiffHeader": "diff --git a/monkey/monkey_island/cc/services/config_schema/definitions/post_breach_actions.py b/monkey/monkey_island/cc/services/config_schema/definitions/post_breach_actions.py\nindex f1fe0f6f..b231f96c 100644\n--- a/monkey/monkey_island/cc/services/config_schema/definitions/post_breach_actions.py\n+++ b/monkey/monkey_island/cc/services/config_schema/definitions/post_breach_actions.py", | ||
"hunks": [ | ||
{ | ||
"swimmHunkMetadata": { | ||
"hunkComments": [] | ||
}, | ||
"hunkDiffLines": [ | ||
"@@ -68,16 +68,7 @@", | ||
" \"Removes the file afterwards.\",", | ||
" \"attack_techniques\": [\"T1166\"]", | ||
" },", | ||
"- {", | ||
"+ # Swimmer: ADD DETAILS HERE!", | ||
"- \"type\": \"string\",", | ||
"- \"enum\": [", | ||
"- \"ScheduleJobs\"", | ||
"- ],", | ||
"- \"title\": \"Job scheduling\",", | ||
"- \"safe\": True,", | ||
"- \"info\": \"Attempts to create a scheduled job on the system and remove it.\",", | ||
"- \"attack_techniques\": [\"T1168\", \"T1053\"]", | ||
"- },", | ||
" {", | ||
" \"type\": \"string\",", | ||
" \"enum\": [" | ||
] | ||
} | ||
] | ||
} | ||
}, | ||
"app_version": "0.3.5-1", | ||
"file_version": "1.0.4", | ||
"hunksOrder": [ | ||
"monkey/monkey_island/cc/services/config_schema/definitions/post_breach_actions.py_0" | ||
], | ||
"last_commit_sha_for_swimm_patch": "9d9e8168fb2c23367b9947273aa1a041687b3e2e" | ||
} |
Oops, something went wrong.