Skip to content

Conversation

VakarisZ
Copy link
Contributor

@VakarisZ VakarisZ commented Jul 3, 2020

What is this?

Fixes #637

Checklist

  • Ask Shreya to add descriptions to PBA's she added.

  • Synch links with new documentation framework.

  • Instead of "Basic - ..." we should highlight essential tabs with green colour (DONE)

  • Create an advanced selector, that allows to select/deselect on click. On click
    information about clicked property is shown in selectors info pane. Advanced selector
    also has space for custom buttons. (DONE)

Basic - Exploits

  • Should be renamed to Exploits (DONE)

General

  • Renamed to "Exploiters" (DONE)
  • Exploiter selector moved here from "Exploits" tab. (DONE)
  • "Exploit network machines" is removed (you can deselect all exploiters) (DONE)

Basic - Network

  • Should be renamed to Network (DONE)

General

  • Should be renamed to "Scope" (DONE)

Monkey

Behaviour

  • "Self delete on cleanup" - moved to Internal/Monkey (on by default). (DONE)
  • "Serialize config" - moved to Internal/Monkey (off by default). (DONE)
  • "Use file logging" - moved to Internal/Monkey (on by default). (DONE)
  • Renamed to "Post breach" (DONE)

General

  • "Is monkey alive" - hidden, moved to internal->monkey. (DONE)
  • "Post breach actions" - advanced selector with info pane that displays
    what each post breach action does. (DONE)
  • PBA selector moved to "Post breach" (DONE)

Lifecycle

  • Renamed to "Persistent scanning"
  • "Max victims to exploit" - Moved to internal, increased default to 100. (DONE)
  • "Max victims to find" - Moved to internal. (DONE)

System info

  • "System info collectors" refactored into advanced selector component. (DONE)
  • "Collect system info" - removed. Same can be achieved by disabling all collectors. (DONE)
  • "Should use mimikatz" - refactored into Mimikatz system info collector. (DONE)
  • "Harvest Azure credentials" - refactored into system info collector. (DONE)

Monkey Island

Servers

  • Whole "Servers" section moved to Internal. "Command servers" uses all local interfaces
    which is a reasonable default. "Current server" is also chosen automatically/doesn't matter. (DONE)

Internet services

  • Section moved to "Internal -> Monkey" (DONE)

Network

  • Whole tab moved to internal (DONE)

Exploits

  • Tab moved to be after "Network" (DONE)
  • Everything in this tab except "Exploits" are moved to "Internal". (DONE)

General

Exploits

  • "Exploits" made into advanced selector. Info pane displays information about exploiters, there is a button
    that de-selects all exploiters. (DONE)

Internal

  • Refactored into sub-tabs or dropdowns for each section. (DONE)

Proof that it works

image

VakarisZ added 18 commits July 20, 2020 15:10
…ed it in a way that allows to define all advanced selector properties on config_schema.py
…iption (because advanced multi select has title and description built in)
…ation_improvements

# Conflicts:
#	monkey/monkey_island/cc/ui/package-lock.json
…ation_improvements

# Conflicts:
#	monkey/monkey_island/cc/ui/package-lock.json
… "Behaviour" renamed to "Post breach" in config
@VakarisZ VakarisZ marked this pull request as ready for review July 23, 2020 07:58
@codecov
Copy link

codecov bot commented Jul 26, 2020

Codecov Report

Merging #707 into develop will increase coverage by 0.19%.
The diff coverage is 85.00%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #707      +/-   ##
===========================================
+ Coverage    59.85%   60.04%   +0.19%     
===========================================
  Files          147      157      +10     
  Lines         4795     4818      +23     
===========================================
+ Hits          2870     2893      +23     
  Misses        1925     1925              
Impacted Files Coverage Δ
...ection_monkey/system_info/system_info_collector.py 70.58% <0.00%> (ø)
monkey/monkey_island/cc/services/config.py 28.57% <33.33%> (ø)
monkey/infection_monkey/system_info/__init__.py 42.18% <50.00%> (+0.91%) ⬆️
...key/monkey_island/cc/services/post_breach_files.py 40.00% <50.00%> (ø)
monkey/common/data/system_info_collectors_names.py 100.00% <100.00%> (ø)
monkey/common/data/validation_formats.py 100.00% <100.00%> (ø)
monkey/infection_monkey/config.py 63.88% <100.00%> (-0.74%) ⬇️
...y/monkey_island/cc/services/config_schema/basic.py 100.00% <100.00%> (ø)
..._island/cc/services/config_schema/basic_network.py 100.00% <100.00%> (ø)
..._island/cc/services/config_schema/config_schema.py 100.00% <100.00%> (ø)
... and 18 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5370743...fade717. Read the comment docs.

Comment on lines 61 to 64
"Password1!",
"1234",
"password",
"12345678"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"Password1!",
"1234",
"password",
"12345678"
"Password1!",
"password",
"root",
"12345678",
"qwerty",
"iloveyou"

Probably time to update the default passwords list? Just an idea

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea, updated a bit. Shame that we have limited brute forcing capabilities due to performance and noise generation

Copy link
Contributor

@ShayNehmad ShayNehmad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few small comments, and some more that that came up while testing:

Unsubmitted changes

When clicking on the tabs after unchanged changes I don't get a warning for unsubmitted changes UNTIL I click on the ATT&CK tab.

Validation in the network tab

Warning format

image
We should make the warning grammatically correct (start with a capital letter, end with .).

Validation misses

123.123.123/1.123.1 match for ip-range validation.

'^'+ipRegex+'$|', // Single IP
'^'+ipRegex+'-'+ipRegex+'$|', // IP range IP-IP
'^'+ipRegex+'/'+cidrNotationRegex+'$|', // IP range with cidr notation: IP/cidr
hostnameRegex, // IP range with cidr notation: IP/cidr
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

copy-pasta documentation

Comment on lines 382 to 386
return (<div className='alert alert-info'>
<FontAwesomeIcon icon={faInfoCircle} style={{'marginRight': '5px'}}/>
The Monkey scans its subnet if 'Local network scan' is ticked. Additionally the monkey scans machines
according to its range class.
The Monkey scans its subnet if "Local network scan" is ticked. Additionally the monkey scans machines
according to "Scan target list".
</div>)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should move this warning into the "scope" section of the configuration page. It's out of place at the top of the page.

@@ -0,0 +1,21 @@
const ipRegex = '((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

monkey\monkey\monkey_island\cc\ui\src\components\configuration-components\ValidationFormats.js
  1:57  warning  Unnecessary escape character: \.  no-useless-escape

@VakarisZ VakarisZ merged commit c1c412f into develop Jul 27, 2020
@ShayNehmad ShayNehmad deleted the feature/configuration_improvement branch July 27, 2020 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improve current Configuration UI
2 participants