diff --git a/monkey/monkey_island/cc/services/reporting/report.py b/monkey/monkey_island/cc/services/reporting/report.py
index c15a2af5d..f22229afd 100644
--- a/monkey/monkey_island/cc/services/reporting/report.py
+++ b/monkey/monkey_island/cc/services/reporting/report.py
@@ -65,6 +65,7 @@ class ReportService:
VSFTPD = 13
DRUPAL = 14
ZEROLOGON = 15
+ ZEROLOGON_CRED_RESTORE_FAILED = 16
class WARNINGS_DICT(Enum):
CROSS_SEGMENT = 0
@@ -714,6 +715,9 @@ class ReportService:
elif issue['type'] == 'drupal':
issues_byte_array[ReportService.ISSUES_DICT.DRUPAL.value] = True
elif issue['type'] == 'zerologon':
+ # TODO fix to propperly set restoration flag
+ if issue['info']['zero_logon_restore_failed']:
+ issues_byte_array[ReportService.ISSUES_DICT.ZEROLOGON_CRED_RESTORE_FAILED.value] = True
issues_byte_array[ReportService.ISSUES_DICT.ZEROLOGON.value] = True
elif issue['type'].endswith('_password') and issue['password'] in config_passwords and \
issue['username'] in config_users or issue['type'] == 'ssh':
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 916bee020..29e94541f 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
@@ -14,6 +14,7 @@ import ReportLoader from './common/ReportLoader';
import SecurityIssuesGlance from './common/SecurityIssuesGlance';
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';
@@ -42,7 +43,8 @@ class ReportPageComponent extends AuthComponent {
MSSQL: 12,
VSFTPD: 13,
DRUPAL: 14,
- ZEROLOGON: 15
+ ZEROLOGON: 15,
+ ZEROLOGON_CRED_RESTORE_FAILED: 16
};
Warning =
@@ -308,6 +310,7 @@ class ReportPageComponent extends AuthComponent {
Machines are vulnerable to 'Zerologon'
(
CVE-2020-1472). : null}
+ {this.generateZeroLogonOverview()}
:
@@ -365,6 +368,29 @@ class ReportPageComponent extends AuthComponent {
);
}
+ generateZeroLogonOverview() {
+ let zeroLogonOverview = [];
+
+ // TODO finish this by linking to the documentation
+ if(this.state.report.overview.issues[this.Issue.ZEROLOGON_CRED_RESTORE_FAILED]) {
+ zeroLogonOverview.push(
+ Automatic password restoration on a domain controller failed!
+
+ )
+ }
+ if(this.state.report.overview.issues[this.Issue.ZEROLOGON]) {
+ zeroLogonOverview.push(<>
+ Some domain controllers are vulnerable to ZeroLogon exploiter(
+
+ CVE-2020-1472)!
+ >)
+ } else {
+ return none;
+ }
+ return ({zeroLogonOverview})
+ }
+
generateReportRecommendationsSection() {
return (
diff --git a/monkey/monkey_island/cc/ui/src/styles/pages/report/ReportPage.scss b/monkey/monkey_island/cc/ui/src/styles/pages/report/ReportPage.scss
index 088e012f3..2c56e941f 100644
--- a/monkey/monkey_island/cc/ui/src/styles/pages/report/ReportPage.scss
+++ b/monkey/monkey_island/cc/ui/src/styles/pages/report/ReportPage.scss
@@ -7,15 +7,15 @@
font-size: large;
}
-.report-nav > li > a{
+.report-nav > li > a {
height: 50px !important;
}
-.report-nav .nav-item > a{
+.report-nav .nav-item > a {
color: $black;
}
-.report-nav .nav-item > a.active{
+.report-nav .nav-item > a.active {
font-weight: bold;
color: $black;
}
@@ -72,16 +72,25 @@ div.report-wrapper {
padding-bottom: 20px;
}
-div.report-wrapper .nav-tabs > .nav-item > a:hover:not(.active), .nav-tabs > .nav-item > a:focus:not(.active){
- text-decoration: none;
- background-color: $light-gray;
+div.report-wrapper .nav-tabs > .nav-item > a:hover:not(.active), .nav-tabs > .nav-item > a:focus:not(.active) {
+ text-decoration: none;
+ background-color: $light-gray;
}
ul.cross-segment-issues {
- list-style-type: none;
- padding: 0px;
- margin: 0px;
+ list-style-type: none;
+ padding: 0px;
+ margin: 0px;
}
+
span.cross-segment-service {
- text-transform: uppercase;
+ text-transform: uppercase;
+}
+
+.report-page li a.btn,.security-report-link {
+ position: relative;
+ font-size: 1em;
+ padding: 0 5px;
+ line-height: 1em;
+ top: -3px;
}