From e49b7b85ccd62ed2d37c97972e560154d7d4b35d Mon Sep 17 00:00:00 2001
From: VakarisZ
Date: Mon, 1 Mar 2021 10:16:08 +0200
Subject: [PATCH] Improved formatting and link styles in SecurityReport.js
---
.../report-components/SecurityReport.js | 187 ++++++++++++------
1 file changed, 123 insertions(+), 64 deletions(-)
diff --git a/monkey/monkey_island/cc/ui/src/components/report-components/SecurityReport.js b/monkey/monkey_island/cc/ui/src/components/report-components/SecurityReport.js
index 873249f66..4f6274c6d 100644
--- a/monkey/monkey_island/cc/ui/src/components/report-components/SecurityReport.js
+++ b/monkey/monkey_island/cc/ui/src/components/report-components/SecurityReport.js
@@ -16,14 +16,13 @@ import PrintReportButton from './common/PrintReportButton';
import WarningIcon from '../ui-components/WarningIcon';
import {Button} from 'react-bootstrap';
-import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
-import { faMinus } from '@fortawesome/free-solid-svg-icons/faMinus';
+import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';
+import {faMinus} from '@fortawesome/free-solid-svg-icons/faMinus';
import guardicoreLogoImage from '../../images/guardicore-logo.png'
import {faExclamationTriangle} from '@fortawesome/free-solid-svg-icons';
import '../../styles/App.css';
-
class ReportPageComponent extends AuthComponent {
Issue =
@@ -84,7 +83,7 @@ class ReportPageComponent extends AuthComponent {
componentDidUpdate(prevProps) {
if (this.props.report !== prevProps.report) {
- this.setState({ report: this.props.report })
+ this.setState({report: this.props.report})
}
}
@@ -181,7 +180,7 @@ class ReportPageComponent extends AuthComponent {
Usernames used for brute-forcing:
- {this.state.report.overview.config_users.map(x => - {x}
)}
+ {this.state.report.overview.config_users.map(x => - {x}
)}
Passwords used for brute-forcing:
@@ -258,54 +257,102 @@ class ReportPageComponent extends AuthComponent {
return x === true;
}).length} threats:
- {this.state.report.overview.issues[this.Issue.STOLEN_SSH_KEYS] ?
- - Stolen SSH keys are used to exploit other machines.
: null}
- {this.state.report.overview.issues[this.Issue.STOLEN_CREDS] ?
- - Stolen credentials are used to exploit other machines.
: null}
- {this.state.report.overview.issues[this.Issue.ELASTIC] ?
- - Elasticsearch servers are vulnerable to CVE-2015-1427.
-
: null}
- {this.state.report.overview.issues[this.Issue.VSFTPD] ?
- - VSFTPD is vulnerable to CVE-2011-2523.
-
: null}
- {this.state.report.overview.issues[this.Issue.SAMBACRY] ?
- - Samba servers are vulnerable to ‘SambaCry’ (Stolen SSH keys are used to exploit other machines.
}
+ {this.state.report.overview.issues[this.Issue.STOLEN_CREDS] &&
+ - Stolen credentials are used to exploit other machines.
}
+ {this.state.report.overview.issues[this.Issue.ELASTIC] &&
+ - Elasticsearch servers are vulnerable to
+ .
+
}
+ {this.state.report.overview.issues[this.Issue.VSFTPD] &&
+ - VSFTPD is vulnerable to
+ .
+
}
+ {this.state.report.overview.issues[this.Issue.SAMBACRY] &&
+ - Samba servers are vulnerable to ‘SambaCry’ (
+
: null}
- {this.state.report.overview.issues[this.Issue.SHELLSHOCK] ?
- - Machines are vulnerable to ‘Shellshock’ (CVE-2014-6271).
-
: null}
- {this.state.report.overview.issues[this.Issue.CONFICKER] ?
- - Machines are vulnerable to ‘Conficker’ (
+ CVE-2017-7494
+ ).
+
}
+ {this.state.report.overview.issues[this.Issue.SHELLSHOCK] &&
+ - Machines are vulnerable to ‘Shellshock’ (
+ ).
+
}
+ {this.state.report.overview.issues[this.Issue.CONFICKER] &&
+ - Machines are vulnerable to ‘Conficker’ (
+
: null}
- {this.state.report.overview.issues[this.Issue.WEAK_PASSWORD] ?
+ target={"_blank"}
+ className={"security-report-link"}>
+ MS08-067
+ ).
+ }
+ {this.state.report.overview.issues[this.Issue.WEAK_PASSWORD] &&
- Machines are accessible using passwords supplied by the user during the Monkey’s
- configuration.
: null}
- {this.state.report.overview.issues[this.Issue.AZURE] ?
- - Azure machines expose plaintext passwords. (}
+ {this.state.report.overview.issues[this.Issue.AZURE] &&
+
- Azure machines expose plaintext passwords. (
+
) : null}
- {this.state.report.overview.issues[this.Issue.STRUTS2] ?
- - Struts2 servers are vulnerable to remote code execution. (
- CVE-2017-5638)
: null}
- {this.state.report.overview.issues[this.Issue.WEBLOGIC] ?
- - Oracle WebLogic servers are susceptible to a remote code execution vulnerability.
: null}
- {this.state.report.overview.issues[this.Issue.HADOOP] ?
- - Hadoop/Yarn servers are vulnerable to remote code execution.
: null}
- {this.state.report.overview.issues[this.Issue.PTH_CRIT_SERVICES_ACCESS] ?
+ target={"_blank"}
+ className={"security-report-link"}>
+ More info
+ )
+ }
+ {this.state.report.overview.issues[this.Issue.STRUTS2] &&
+ - Struts2 servers are vulnerable to remote code execution. (
+ )
+
}
+ {this.state.report.overview.issues[this.Issue.WEBLOGIC] &&
+ - Oracle WebLogic servers are susceptible to a remote code execution vulnerability.
}
+ {this.state.report.overview.issues[this.Issue.HADOOP] &&
+ - Hadoop/Yarn servers are vulnerable to remote code execution.
}
+ {this.state.report.overview.issues[this.Issue.PTH_CRIT_SERVICES_ACCESS] &&
- Mimikatz found login credentials of a user who has admin access to a server defined as
- critical.
: null}
- {this.state.report.overview.issues[this.Issue.MSSQL] ?
- - MS-SQL servers are vulnerable to remote code execution via xp_cmdshell command.
: null}
- {this.state.report.overview.issues[this.Issue.DRUPAL] ?
+ critical.}
+ {this.state.report.overview.issues[this.Issue.MSSQL] &&
+ - MS-SQL servers are vulnerable to remote code execution via xp_cmdshell command.
}
+ {this.state.report.overview.issues[this.Issue.DRUPAL] &&
- Drupal servers are susceptible to a remote code execution vulnerability
- (
- CVE-2019-6340).
: null}
+ ().
+
+ }
{this.generateZerologonOverview()}
@@ -328,12 +375,15 @@ class ReportPageComponent extends AuthComponent {
The Monkey uncovered the following possible set of issues:
{this.state.report.overview.warnings[this.Warning.CROSS_SEGMENT] ?
- - Weak segmentation - Machines from different segments are able to
+
- Weak segmentation - Machines from different segments are able
+ to
communicate.
: null}
{this.state.report.overview.warnings[this.Warning.TUNNEL] ?
- - Weak segmentation - Machines were able to communicate over unused ports.
: null}
+ - Weak segmentation - Machines were able to communicate over unused
+ ports.
: null}
{this.state.report.overview.warnings[this.Warning.SHARED_LOCAL_ADMIN] ?
- - Shared local administrator account - Different machines have the same account as a local
+
- Shared local administrator account - Different machines
+ have the same account as a local
administrator.
: null}
{this.state.report.overview.warnings[this.Warning.SHARED_PASSWORDS] ?
- Multiple users have the same password
: null}
@@ -378,7 +428,7 @@ class ReportPageComponent extends AuthComponent {
)
}
- if(this.state.report.overview.issues[this.Issue.ZEROLOGON]) {
+ if (this.state.report.overview.issues[this.Issue.ZEROLOGON]) {
zerologonOverview.push(<>
Some domain controllers are vulnerable to Zerologon exploiter(