Added missing issue descriptors

This commit is contained in:
VakarisZ 2021-03-30 13:00:18 +03:00
parent 280df4e676
commit d2fdabe26b
1 changed files with 44 additions and 18 deletions

View File

@ -12,8 +12,6 @@ import ReportHeader, {ReportTypes} from './common/ReportHeader';
import ReportLoader from './common/ReportLoader'; import ReportLoader from './common/ReportLoader';
import SecurityIssuesGlance from './common/SecurityIssuesGlance'; import SecurityIssuesGlance from './common/SecurityIssuesGlance';
import PrintReportButton from './common/PrintReportButton'; import PrintReportButton from './common/PrintReportButton';
import WarningIcon from '../ui-components/WarningIcon';
import {Button} from 'react-bootstrap';
import {FontAwesomeIcon} from '@fortawesome/react-fontawesome'; import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';
import {faMinus} from '@fortawesome/free-solid-svg-icons/faMinus'; import {faMinus} from '@fortawesome/free-solid-svg-icons/faMinus';
@ -35,10 +33,19 @@ import {ShellShockIssueOverview, ShellShockIssueReport} from './security/issues/
import {MS08_067IssueOverview, MS08_067IssueReport} from './security/issues/MS08_067Issue'; import {MS08_067IssueOverview, MS08_067IssueReport} from './security/issues/MS08_067Issue';
import { import {
crossSegmentIssueOverview, crossSegmentIssueOverview,
generateCrossSegmentIssue generateCrossSegmentIssue,
generateIslandCrossSegmentIssue
} from './security/issues/CrossSegmentIssue'; } from './security/issues/CrossSegmentIssue';
import {sharedAdminsDomainIssueOverview, sharedPasswordsIssueOverview} from './security/issues/SharedPasswordsIssue'; import {
generateSharedCredsDomainIssue, generateSharedCredsIssue, generateSharedLocalAdminsIssue,
sharedAdminsDomainIssueOverview,
sharedPasswordsIssueOverview
} from './security/issues/SharedPasswordsIssue';
import {generateTunnelIssue, generateTunnelIssueOverview} from './security/issues/TunnelIssue'; import {generateTunnelIssue, generateTunnelIssueOverview} from './security/issues/TunnelIssue';
import {StolenCredsIssueOverview} from './security/issues/StolenCredsIssue';
import {WeakPasswordIssueOverview} from './security/issues/WeakPasswordIssue';
import {AzurePasswordIssueOverview, AzurePasswordIssueReport} from './security/issues/AzurePasswordIssue';
import {generateStrongUsersOnCritIssue} from './security/issues/StrongUsersOnCritIssue';
class ReportPageComponent extends AuthComponent { class ReportPageComponent extends AuthComponent {
@ -131,9 +138,12 @@ class ReportPageComponent extends AuthComponent {
[this.issueContentTypes.REPORT]: MS08_067IssueReport, [this.issueContentTypes.REPORT]: MS08_067IssueReport,
[this.issueContentTypes.TYPE]: this.issueTypes.DANGER [this.issueContentTypes.TYPE]: this.issueTypes.DANGER
}, },
'ZerologonExploiter': {
//TODO add
},
'island_cross_segment': { 'island_cross_segment': {
[this.issueContentTypes.OVERVIEW]: crossSegmentIssueOverview, [this.issueContentTypes.OVERVIEW]: crossSegmentIssueOverview,
[this.issueContentTypes.REPORT]: generateCrossSegmentIssue, [this.issueContentTypes.REPORT]: generateIslandCrossSegmentIssue,
[this.issueContentTypes.TYPE]: this.issueTypes.WARNING [this.issueContentTypes.TYPE]: this.issueTypes.WARNING
}, },
'tunnel': { 'tunnel': {
@ -143,17 +153,37 @@ class ReportPageComponent extends AuthComponent {
}, },
'shared_passwords': { 'shared_passwords': {
[this.issueContentTypes.OVERVIEW]: sharedPasswordsIssueOverview, [this.issueContentTypes.OVERVIEW]: sharedPasswordsIssueOverview,
[this.issueContentTypes.REPORT]: generateSharedCredsIssue,
[this.issueContentTypes.TYPE]: this.issueTypes.WARNING [this.issueContentTypes.TYPE]: this.issueTypes.WARNING
}, },
'shared_admins_domain': { 'shared_admins_domain': {
[this.issueContentTypes.OVERVIEW]: sharedAdminsDomainIssueOverview, [this.issueContentTypes.OVERVIEW]: sharedAdminsDomainIssueOverview,
[this.issueContentTypes.REPORT]: generateSharedLocalAdminsIssue,
[this.issueContentTypes.TYPE]: this.issueTypes.WARNING [this.issueContentTypes.TYPE]: this.issueTypes.WARNING
}, },
'shared_passwords_domain': {}, 'shared_passwords_domain': {
'strong_users_on_crit': {}, [this.issueContentTypes.REPORT]: generateSharedCredsDomainIssue(),
'azure_password': {}, [this.issueContentTypes.TYPE]: this.issueTypes.WARNING
'weak_password': {}, },
'stolen_creds': {}
// This issue was missing overview section
'strong_users_on_crit': {
[this.issueContentTypes.REPORT]: generateStrongUsersOnCritIssue,
[this.issueContentTypes.TYPE]: this.issueTypes.DANGER
},
'azure_password': {
[this.issueContentTypes.OVERVIEW]: AzurePasswordIssueOverview,
[this.issueContentTypes.REPORT]: AzurePasswordIssueReport,
[this.issueContentTypes.TYPE]: this.issueTypes.DANGER
},
'weak_password': {
[this.issueContentTypes.OVERVIEW]: WeakPasswordIssueOverview,
[this.issueContentTypes.TYPE]: this.issueTypes.DANGER
},
'stolen_creds': {
[this.issueContentTypes.OVERVIEW]: StolenCredsIssueOverview,
[this.issueContentTypes.TYPE]: this.issueTypes.DANGER
}
} }
constructor(props) { constructor(props) {
@ -191,8 +221,6 @@ class ReportPageComponent extends AuthComponent {
render() { render() {
let content; let content;
console.log(this.state.report);
if (this.stillLoadingDataFromServer()) { if (this.stillLoadingDataFromServer()) {
content = <ReportLoader loading={true}/>; content = <ReportLoader loading={true}/>;
} else { } else {
@ -341,7 +369,6 @@ class ReportPageComponent extends AuthComponent {
generateReportFindingsSection() { generateReportFindingsSection() {
let overviews = this.getPotentialSecurityIssuesOverviews() let overviews = this.getPotentialSecurityIssuesOverviews()
return ( return (
<div id='findings'> <div id='findings'>
<h3> <h3>
@ -385,18 +412,17 @@ class ReportPageComponent extends AuthComponent {
); );
} }
getPotentialSecurityIssuesOverviews(){ getPotentialSecurityIssuesOverviews() {
let overviews = []; let overviews = [];
for( let key of this.IssueDescriptorEnum) { for (let issueKey of this.state.report.overview.issues) {
if(this.WARNING_ISSUE_LIST[i] in this.state.report.issues) { overviews.push(this.IssueDescriptorEnum[issueKey][this.issueContentTypes.OVERVIEW]);
overviews.push(this.IssueDescriptorEnum[this.WARNING_ISSUE_LIST[i]][this.issueContentTypes.OVERVIEW])
}
} }
return overviews; return overviews;
} }
getImmediateThreats() { getImmediateThreats() {
let threatCount = this.countImmediateThreats()
return ( return (
<div> <div>
<h3> <h3>