forked from p15670423/monkey
Replace double quotes with single quotes in SecurityReport.js
This commit is contained in:
parent
9171ed8190
commit
9e3fe03ce1
|
@ -110,7 +110,7 @@ class ReportPageComponent extends AuthComponent {
|
||||||
print();
|
print();
|
||||||
}}/>
|
}}/>
|
||||||
</div>
|
</div>
|
||||||
<div className="report-page">
|
<div className='report-page'>
|
||||||
<ReportHeader report_type={ReportTypes.security}/>
|
<ReportHeader report_type={ReportTypes.security}/>
|
||||||
<hr/>
|
<hr/>
|
||||||
{content}
|
{content}
|
||||||
|
@ -142,7 +142,7 @@ class ReportPageComponent extends AuthComponent {
|
||||||
|
|
||||||
generateReportOverviewSection() {
|
generateReportOverviewSection() {
|
||||||
return (
|
return (
|
||||||
<div id="overview">
|
<div id='overview'>
|
||||||
<h2>
|
<h2>
|
||||||
Overview
|
Overview
|
||||||
</h2>
|
</h2>
|
||||||
|
@ -151,7 +151,7 @@ class ReportPageComponent extends AuthComponent {
|
||||||
this.state.report.glance.exploited.length > 0 ?
|
this.state.report.glance.exploited.length > 0 ?
|
||||||
''
|
''
|
||||||
:
|
:
|
||||||
<p className="alert alert-info">
|
<p className='alert alert-info'>
|
||||||
<FontAwesomeIcon icon={faExclamationTriangle} style={{'marginRight': '5px'}}/>
|
<FontAwesomeIcon icon={faExclamationTriangle} style={{'marginRight': '5px'}}/>
|
||||||
To improve the monkey's detection rates, try adding users and passwords and enable the "Local
|
To improve the monkey's detection rates, try adding users and passwords and enable the "Local
|
||||||
network
|
network
|
||||||
|
@ -160,8 +160,8 @@ class ReportPageComponent extends AuthComponent {
|
||||||
}
|
}
|
||||||
<p>
|
<p>
|
||||||
The first monkey run was started on <span
|
The first monkey run was started on <span
|
||||||
className="badge badge-info">{this.state.report.overview.monkey_start_time}</span>. After <span
|
className='badge badge-info'>{this.state.report.overview.monkey_start_time}</span>. After <span
|
||||||
className="badge badge-info">{this.state.report.overview.monkey_duration}</span>, all monkeys finished
|
className='badge badge-info'>{this.state.report.overview.monkey_duration}</span>, all monkeys finished
|
||||||
propagation attempts.
|
propagation attempts.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -238,7 +238,7 @@ class ReportPageComponent extends AuthComponent {
|
||||||
|
|
||||||
generateReportFindingsSection() {
|
generateReportFindingsSection() {
|
||||||
return (
|
return (
|
||||||
<div id="findings">
|
<div id='findings'>
|
||||||
<h3>
|
<h3>
|
||||||
Security Findings
|
Security Findings
|
||||||
</h3>
|
</h3>
|
||||||
|
@ -252,7 +252,7 @@ class ReportPageComponent extends AuthComponent {
|
||||||
}).length > 0 ?
|
}).length > 0 ?
|
||||||
<div>
|
<div>
|
||||||
During this simulated attack the Monkey uncovered <span
|
During this simulated attack the Monkey uncovered <span
|
||||||
className="badge badge-warning">
|
className='badge badge-warning'>
|
||||||
{this.state.report.overview.issues.filter(function (x) {
|
{this.state.report.overview.issues.filter(function (x) {
|
||||||
return x === true;
|
return x === true;
|
||||||
}).length} threats</span>:
|
}).length} threats</span>:
|
||||||
|
@ -264,50 +264,50 @@ class ReportPageComponent extends AuthComponent {
|
||||||
{this.state.report.overview.issues[this.Issue.ELASTIC] &&
|
{this.state.report.overview.issues[this.Issue.ELASTIC] &&
|
||||||
<li>Elasticsearch servers are vulnerable to
|
<li>Elasticsearch servers are vulnerable to
|
||||||
<Button
|
<Button
|
||||||
variant={"link"}
|
variant={'link'}
|
||||||
href="https://www.cvedetails.com/cve/cve-2015-1427"
|
href='https://www.cvedetails.com/cve/cve-2015-1427'
|
||||||
target={"_blank"}
|
target={'_blank'}
|
||||||
className={"security-report-link"}>
|
className={'security-report-link'}>
|
||||||
CVE-2015-1427
|
CVE-2015-1427
|
||||||
</Button>.
|
</Button>.
|
||||||
</li>}
|
</li>}
|
||||||
{this.state.report.overview.issues[this.Issue.VSFTPD] &&
|
{this.state.report.overview.issues[this.Issue.VSFTPD] &&
|
||||||
<li>VSFTPD is vulnerable to
|
<li>VSFTPD is vulnerable to
|
||||||
<Button
|
<Button
|
||||||
variant={"link"}
|
variant={'link'}
|
||||||
href="https://www.rapid7.com/db/modules/exploit/unix/ftp/vsftpd_234_backdoor"
|
href='https://www.rapid7.com/db/modules/exploit/unix/ftp/vsftpd_234_backdoor'
|
||||||
target={"_blank"}
|
target={'_blank'}
|
||||||
className={"security-report-link"}>
|
className={'security-report-link'}>
|
||||||
CVE-2011-2523
|
CVE-2011-2523
|
||||||
</Button>.
|
</Button>.
|
||||||
</li>}
|
</li>}
|
||||||
{this.state.report.overview.issues[this.Issue.SAMBACRY] &&
|
{this.state.report.overview.issues[this.Issue.SAMBACRY] &&
|
||||||
<li>Samba servers are vulnerable to ‘SambaCry’ (
|
<li>Samba servers are vulnerable to ‘SambaCry’ (
|
||||||
<Button
|
<Button
|
||||||
variant={"link"}
|
variant={'link'}
|
||||||
href="https://www.samba.org/samba/security/CVE-2017-7494.html"
|
href='https://www.samba.org/samba/security/CVE-2017-7494.html'
|
||||||
target={"_blank"}
|
target={'_blank'}
|
||||||
className={"security-report-link"}>
|
className={'security-report-link'}>
|
||||||
CVE-2017-7494
|
CVE-2017-7494
|
||||||
</Button>).
|
</Button>).
|
||||||
</li>}
|
</li>}
|
||||||
{this.state.report.overview.issues[this.Issue.SHELLSHOCK] &&
|
{this.state.report.overview.issues[this.Issue.SHELLSHOCK] &&
|
||||||
<li>Machines are vulnerable to ‘Shellshock’ (
|
<li>Machines are vulnerable to ‘Shellshock’ (
|
||||||
<Button
|
<Button
|
||||||
variant={"link"}
|
variant={'link'}
|
||||||
href="https://www.cvedetails.com/cve/CVE-2014-6271"
|
href='https://www.cvedetails.com/cve/CVE-2014-6271'
|
||||||
target={"_blank"}
|
target={'_blank'}
|
||||||
className={"security-report-link"}>
|
className={'security-report-link'}>
|
||||||
CVE-2014-6271
|
CVE-2014-6271
|
||||||
</Button>).
|
</Button>).
|
||||||
</li>}
|
</li>}
|
||||||
{this.state.report.overview.issues[this.Issue.CONFICKER] &&
|
{this.state.report.overview.issues[this.Issue.CONFICKER] &&
|
||||||
<li>Machines are vulnerable to ‘Conficker’ (
|
<li>Machines are vulnerable to ‘Conficker’ (
|
||||||
<Button
|
<Button
|
||||||
variant={"link"}
|
variant={'link'}
|
||||||
href="https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2008/ms08-067"
|
href='https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2008/ms08-067'
|
||||||
target={"_blank"}
|
target={'_blank'}
|
||||||
className={"security-report-link"}>
|
className={'security-report-link'}>
|
||||||
MS08-067
|
MS08-067
|
||||||
</Button>).
|
</Button>).
|
||||||
</li>}
|
</li>}
|
||||||
|
@ -317,20 +317,20 @@ class ReportPageComponent extends AuthComponent {
|
||||||
{this.state.report.overview.issues[this.Issue.AZURE] &&
|
{this.state.report.overview.issues[this.Issue.AZURE] &&
|
||||||
<li>Azure machines expose plaintext passwords. (
|
<li>Azure machines expose plaintext passwords. (
|
||||||
<Button
|
<Button
|
||||||
variant={"link"}
|
variant={'link'}
|
||||||
href="https://www.guardicore.com/2018/03/recovering-plaintext-passwords-azure/"
|
href='https://www.guardicore.com/2018/03/recovering-plaintext-passwords-azure/'
|
||||||
target={"_blank"}
|
target={'_blank'}
|
||||||
className={"security-report-link"}>
|
className={'security-report-link'}>
|
||||||
More info
|
More info
|
||||||
</Button>)
|
</Button>)
|
||||||
</li>}
|
</li>}
|
||||||
{this.state.report.overview.issues[this.Issue.STRUTS2] &&
|
{this.state.report.overview.issues[this.Issue.STRUTS2] &&
|
||||||
<li>Struts2 servers are vulnerable to remote code execution. (
|
<li>Struts2 servers are vulnerable to remote code execution. (
|
||||||
<Button
|
<Button
|
||||||
variant={"link"}
|
variant={'link'}
|
||||||
href="https://cwiki.apache.org/confluence/display/WW/S2-045"
|
href='https://cwiki.apache.org/confluence/display/WW/S2-045'
|
||||||
target={"_blank"}
|
target={'_blank'}
|
||||||
className={"security-report-link"}>
|
className={'security-report-link'}>
|
||||||
CVE-2017-5638
|
CVE-2017-5638
|
||||||
</Button>)
|
</Button>)
|
||||||
</li>}
|
</li>}
|
||||||
|
@ -346,10 +346,10 @@ class ReportPageComponent extends AuthComponent {
|
||||||
{this.state.report.overview.issues[this.Issue.DRUPAL] &&
|
{this.state.report.overview.issues[this.Issue.DRUPAL] &&
|
||||||
<li>Drupal servers are susceptible to a remote code execution vulnerability
|
<li>Drupal servers are susceptible to a remote code execution vulnerability
|
||||||
(<Button
|
(<Button
|
||||||
variant={"link"}
|
variant={'link'}
|
||||||
href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-6340"
|
href='https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-6340'
|
||||||
target={"_blank"}
|
target={'_blank'}
|
||||||
className={"security-report-link"}>
|
className={'security-report-link'}>
|
||||||
CVE-2019-6340
|
CVE-2019-6340
|
||||||
</Button>).
|
</Button>).
|
||||||
</li>
|
</li>
|
||||||
|
@ -360,7 +360,7 @@ class ReportPageComponent extends AuthComponent {
|
||||||
:
|
:
|
||||||
<div>
|
<div>
|
||||||
During this simulated attack the Monkey uncovered <span
|
During this simulated attack the Monkey uncovered <span
|
||||||
className="badge badge-success">0 threats</span>.
|
className='badge badge-success'>0 threats</span>.
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
|
@ -421,10 +421,10 @@ class ReportPageComponent extends AuthComponent {
|
||||||
if (this.state.report.overview.issues[this.Issue.ZEROLOGON_PASSWORD_RESTORE_FAILED]) {
|
if (this.state.report.overview.issues[this.Issue.ZEROLOGON_PASSWORD_RESTORE_FAILED]) {
|
||||||
zerologonOverview.push(<span>
|
zerologonOverview.push(<span>
|
||||||
<WarningIcon/> Automatic password restoration on a domain controller failed!
|
<WarningIcon/> Automatic password restoration on a domain controller failed!
|
||||||
<Button variant={"link"}
|
<Button variant={'link'}
|
||||||
href={"https://www.guardicore.com/infectionmonkey/docs/reference/exploiters/zerologon/"}
|
href={'https://www.guardicore.com/infectionmonkey/docs/reference/exploiters/zerologon/'}
|
||||||
target={"_blank"}
|
target={'_blank'}
|
||||||
className={"security-report-link"}>
|
className={'security-report-link'}>
|
||||||
Restore your domain controller's password manually.
|
Restore your domain controller's password manually.
|
||||||
</Button>
|
</Button>
|
||||||
</span>)
|
</span>)
|
||||||
|
@ -432,10 +432,10 @@ class ReportPageComponent extends AuthComponent {
|
||||||
if (this.state.report.overview.issues[this.Issue.ZEROLOGON]) {
|
if (this.state.report.overview.issues[this.Issue.ZEROLOGON]) {
|
||||||
zerologonOverview.push(<>
|
zerologonOverview.push(<>
|
||||||
Some domain controllers are vulnerable to Zerologon exploiter(
|
Some domain controllers are vulnerable to Zerologon exploiter(
|
||||||
<Button variant={"link"}
|
<Button variant={'link'}
|
||||||
href="https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2020-1472"
|
href='https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2020-1472'
|
||||||
target={"_blank"}
|
target={'_blank'}
|
||||||
className={"security-report-link"}>
|
className={'security-report-link'}>
|
||||||
CVE-2020-1472
|
CVE-2020-1472
|
||||||
</Button>)!
|
</Button>)!
|
||||||
</>)
|
</>)
|
||||||
|
@ -447,7 +447,7 @@ class ReportPageComponent extends AuthComponent {
|
||||||
|
|
||||||
generateReportRecommendationsSection() {
|
generateReportRecommendationsSection() {
|
||||||
return (
|
return (
|
||||||
<div id="recommendations">
|
<div id='recommendations'>
|
||||||
{/* Checks if there are any domain issues. If there are more then one: render the title. Otherwise,
|
{/* Checks if there are any domain issues. If there are more then one: render the title. Otherwise,
|
||||||
* don't render it (since the issues themselves will be empty. */}
|
* don't render it (since the issues themselves will be empty. */}
|
||||||
{Object.keys(this.state.report.recommendations.domain_issues).length !== 0 ?
|
{Object.keys(this.state.report.recommendations.domain_issues).length !== 0 ?
|
||||||
|
@ -470,36 +470,36 @@ class ReportPageComponent extends AuthComponent {
|
||||||
let exploitPercentage =
|
let exploitPercentage =
|
||||||
(100 * this.state.report.glance.exploited.length) / this.state.report.glance.scanned.length;
|
(100 * this.state.report.glance.exploited.length) / this.state.report.glance.scanned.length;
|
||||||
return (
|
return (
|
||||||
<div id="glance">
|
<div id='glance'>
|
||||||
<h3>
|
<h3>
|
||||||
The Network from the Monkey's Eyes
|
The Network from the Monkey's Eyes
|
||||||
</h3>
|
</h3>
|
||||||
<div>
|
<div>
|
||||||
<p>
|
<p>
|
||||||
The Monkey discovered <span
|
The Monkey discovered <span
|
||||||
className="badge badge-warning">{this.state.report.glance.scanned.length}</span> machines and
|
className='badge badge-warning'>{this.state.report.glance.scanned.length}</span> machines and
|
||||||
successfully breached <span
|
successfully breached <span
|
||||||
className="badge badge-danger">{this.state.report.glance.exploited.length}</span> of them.
|
className='badge badge-danger'>{this.state.report.glance.exploited.length}</span> of them.
|
||||||
</p>
|
</p>
|
||||||
<div className="text-center" style={{margin: '10px'}}>
|
<div className='text-center' style={{margin: '10px'}}>
|
||||||
<Line style={{width: '300px', marginRight: '5px'}} percent={exploitPercentage} strokeWidth="4"
|
<Line style={{width: '300px', marginRight: '5px'}} percent={exploitPercentage} strokeWidth='4'
|
||||||
trailWidth="4"
|
trailWidth='4'
|
||||||
strokeColor="#d9534f" trailColor="#f0ad4e"/>
|
strokeColor='#d9534f' trailColor='#f0ad4e'/>
|
||||||
<b>{Math.round(exploitPercentage)}% of scanned machines exploited</b>
|
<b>{Math.round(exploitPercentage)}% of scanned machines exploited</b>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p>
|
<p>
|
||||||
From the attacker's point of view, the network looks like this:
|
From the attacker's point of view, the network looks like this:
|
||||||
</p>
|
</p>
|
||||||
<div className="map-legend">
|
<div className='map-legend'>
|
||||||
<b>Legend: </b>
|
<b>Legend: </b>
|
||||||
<span>Exploit <FontAwesomeIcon icon={faMinus} size="lg" style={{color: '#cc0200'}}/></span>
|
<span>Exploit <FontAwesomeIcon icon={faMinus} size='lg' style={{color: '#cc0200'}}/></span>
|
||||||
<b style={{color: '#aeaeae'}}> | </b>
|
<b style={{color: '#aeaeae'}}> | </b>
|
||||||
<span>Scan <FontAwesomeIcon icon={faMinus} size="lg" style={{color: '#ff9900'}}/></span>
|
<span>Scan <FontAwesomeIcon icon={faMinus} size='lg' style={{color: '#ff9900'}}/></span>
|
||||||
<b style={{color: '#aeaeae'}}> | </b>
|
<b style={{color: '#aeaeae'}}> | </b>
|
||||||
<span>Tunnel <FontAwesomeIcon icon={faMinus} size="lg" style={{color: '#0158aa'}}/></span>
|
<span>Tunnel <FontAwesomeIcon icon={faMinus} size='lg' style={{color: '#0158aa'}}/></span>
|
||||||
<b style={{color: '#aeaeae'}}> | </b>
|
<b style={{color: '#aeaeae'}}> | </b>
|
||||||
<span>Island Communication <FontAwesomeIcon icon={faMinus} size="lg" style={{color: '#a9aaa9'}}/></span>
|
<span>Island Communication <FontAwesomeIcon icon={faMinus} size='lg' style={{color: '#a9aaa9'}}/></span>
|
||||||
</div>
|
</div>
|
||||||
<div style={{position: 'relative', height: '80vh'}}>
|
<div style={{position: 'relative', height: '80vh'}}>
|
||||||
<ReactiveGraph graph={this.state.graph} options={getOptions(this.state.nodeStateList)}/>
|
<ReactiveGraph graph={this.state.graph} options={getOptions(this.state.nodeStateList)}/>
|
||||||
|
@ -529,17 +529,17 @@ class ReportPageComponent extends AuthComponent {
|
||||||
|
|
||||||
generateReportFooter() {
|
generateReportFooter() {
|
||||||
return (
|
return (
|
||||||
<div id="footer" className="text-center" style={{marginTop: '20px'}}>
|
<div id='footer' className='text-center' style={{marginTop: '20px'}}>
|
||||||
For questions, suggestions or any other feedback
|
For questions, suggestions or any other feedback
|
||||||
contact: <a href="mailto://labs@guardicore.com" className="no-print">labs@guardicore.com</a>
|
contact: <a href='mailto://labs@guardicore.com' className='no-print'>labs@guardicore.com</a>
|
||||||
<div className="force-print" style={{display: 'none'}}>labs@guardicore.com</div>
|
<div className='force-print' style={{display: 'none'}}>labs@guardicore.com</div>
|
||||||
<img src={guardicoreLogoImage} alt="GuardiCore" className="center-block" style={{height: '50px'}}/>
|
<img src={guardicoreLogoImage} alt='GuardiCore' className='center-block' style={{height: '50px'}}/>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
generateInfoBadges(data_array) {
|
generateInfoBadges(data_array) {
|
||||||
return data_array.map(badge_data => <span key={badge_data} className="badge badge-info"
|
return data_array.map(badge_data => <span key={badge_data} className='badge badge-info'
|
||||||
style={{margin: '2px'}}>{badge_data}</span>);
|
style={{margin: '2px'}}>{badge_data}</span>);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -605,21 +605,21 @@ class ReportPageComponent extends AuthComponent {
|
||||||
}
|
}
|
||||||
|
|
||||||
generateShellshockPathListBadges(paths) {
|
generateShellshockPathListBadges(paths) {
|
||||||
return paths.map(path => <span className="badge badge-warning" style={{margin: '2px'}} key={path}>{path}</span>);
|
return paths.map(path => <span className='badge badge-warning' style={{margin: '2px'}} key={path}>{path}</span>);
|
||||||
}
|
}
|
||||||
|
|
||||||
generateSmbPasswordIssue(issue) {
|
generateSmbPasswordIssue(issue) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
Change <span className="badge badge-success">{issue.username}</span>'s password to a complex one-use password
|
Change <span className='badge badge-success'>{issue.username}</span>'s password to a complex one-use password
|
||||||
that is not shared with other computers on the network.
|
that is not shared with other computers on the network.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
The machine <span className="badge badge-primary">{issue.machine}</span> (<span
|
The machine <span className='badge badge-primary'>{issue.machine}</span> (<span
|
||||||
className="badge badge-info" style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
className='badge badge-info' style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
||||||
className="badge badge-danger">SMB</span> attack.
|
className='badge badge-danger'>SMB</span> attack.
|
||||||
<br/>
|
<br/>
|
||||||
The Monkey authenticated over the SMB protocol with user <span
|
The Monkey authenticated over the SMB protocol with user <span
|
||||||
className="badge badge-success">{issue.username}</span> and its password.
|
className='badge badge-success'>{issue.username}</span> and its password.
|
||||||
</CollapsibleWellComponent>
|
</CollapsibleWellComponent>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
@ -628,15 +628,15 @@ class ReportPageComponent extends AuthComponent {
|
||||||
generateSmbPthIssue(issue) {
|
generateSmbPthIssue(issue) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
Change <span className="badge badge-success">{issue.username}</span>'s password to a complex one-use password
|
Change <span className='badge badge-success'>{issue.username}</span>'s password to a complex one-use password
|
||||||
that is not shared with other computers on the network.
|
that is not shared with other computers on the network.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
The machine <span className="badge badge-primary">{issue.machine}</span> (<span
|
The machine <span className='badge badge-primary'>{issue.machine}</span> (<span
|
||||||
className="badge badge-info" style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
className='badge badge-info' style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
||||||
className="badge badge-danger">SMB</span> attack.
|
className='badge badge-danger'>SMB</span> attack.
|
||||||
<br/>
|
<br/>
|
||||||
The Monkey used a pass-the-hash attack over SMB protocol with user <span
|
The Monkey used a pass-the-hash attack over SMB protocol with user <span
|
||||||
className="badge badge-success">{issue.username}</span>.
|
className='badge badge-success'>{issue.username}</span>.
|
||||||
</CollapsibleWellComponent>
|
</CollapsibleWellComponent>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
@ -645,15 +645,15 @@ class ReportPageComponent extends AuthComponent {
|
||||||
generateWmiPasswordIssue(issue) {
|
generateWmiPasswordIssue(issue) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
Change <span className="badge badge-success">{issue.username}</span>'s password to a complex one-use password
|
Change <span className='badge badge-success'>{issue.username}</span>'s password to a complex one-use password
|
||||||
that is not shared with other computers on the network.
|
that is not shared with other computers on the network.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
The machine <span className="badge badge-primary">{issue.machine}</span> (<span
|
The machine <span className='badge badge-primary'>{issue.machine}</span> (<span
|
||||||
className="badge badge-info" style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
className='badge badge-info' style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
||||||
className="badge badge-danger">WMI</span> attack.
|
className='badge badge-danger'>WMI</span> attack.
|
||||||
<br/>
|
<br/>
|
||||||
The Monkey authenticated over the WMI protocol with user <span
|
The Monkey authenticated over the WMI protocol with user <span
|
||||||
className="badge badge-success">{issue.username}</span> and its password.
|
className='badge badge-success'>{issue.username}</span> and its password.
|
||||||
</CollapsibleWellComponent>
|
</CollapsibleWellComponent>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
@ -662,15 +662,15 @@ class ReportPageComponent extends AuthComponent {
|
||||||
generateWmiPthIssue(issue) {
|
generateWmiPthIssue(issue) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
Change <span className="badge badge-success">{issue.username}</span>'s password to a complex one-use password
|
Change <span className='badge badge-success'>{issue.username}</span>'s password to a complex one-use password
|
||||||
that is not shared with other computers on the network.
|
that is not shared with other computers on the network.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
The machine <span className="badge badge-primary">{issue.machine}</span> (<span
|
The machine <span className='badge badge-primary'>{issue.machine}</span> (<span
|
||||||
className="badge badge-info" style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
className='badge badge-info' style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
||||||
className="badge badge-danger">WMI</span> attack.
|
className='badge badge-danger'>WMI</span> attack.
|
||||||
<br/>
|
<br/>
|
||||||
The Monkey used a pass-the-hash attack over WMI protocol with user <span
|
The Monkey used a pass-the-hash attack over WMI protocol with user <span
|
||||||
className="badge badge-success">{issue.username}</span>.
|
className='badge badge-success'>{issue.username}</span>.
|
||||||
</CollapsibleWellComponent>
|
</CollapsibleWellComponent>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
@ -679,15 +679,15 @@ class ReportPageComponent extends AuthComponent {
|
||||||
generateSshIssue(issue) {
|
generateSshIssue(issue) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
Change <span className="badge badge-success">{issue.username}</span>'s password to a complex one-use password
|
Change <span className='badge badge-success'>{issue.username}</span>'s password to a complex one-use password
|
||||||
that is not shared with other computers on the network.
|
that is not shared with other computers on the network.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
The machine <span className="badge badge-primary">{issue.machine}</span> (<span
|
The machine <span className='badge badge-primary'>{issue.machine}</span> (<span
|
||||||
className="badge badge-info" style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
className='badge badge-info' style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
||||||
className="badge badge-danger">SSH</span> attack.
|
className='badge badge-danger'>SSH</span> attack.
|
||||||
<br/>
|
<br/>
|
||||||
The Monkey authenticated over the SSH protocol with user <span
|
The Monkey authenticated over the SSH protocol with user <span
|
||||||
className="badge badge-success">{issue.username}</span> and its password.
|
className='badge badge-success'>{issue.username}</span> and its password.
|
||||||
</CollapsibleWellComponent>
|
</CollapsibleWellComponent>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
@ -696,14 +696,14 @@ class ReportPageComponent extends AuthComponent {
|
||||||
generateSshKeysIssue(issue) {
|
generateSshKeysIssue(issue) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
Protect <span className="badge badge-success">{issue.ssh_key}</span> private key with a pass phrase.
|
Protect <span className='badge badge-success'>{issue.ssh_key}</span> private key with a pass phrase.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
The machine <span className="badge badge-primary">{issue.machine}</span> (<span
|
The machine <span className='badge badge-primary'>{issue.machine}</span> (<span
|
||||||
className="badge badge-info" style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
className='badge badge-info' style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
||||||
className="badge badge-danger">SSH</span> attack.
|
className='badge badge-danger'>SSH</span> attack.
|
||||||
<br/>
|
<br/>
|
||||||
The Monkey authenticated over the SSH protocol with private key <span
|
The Monkey authenticated over the SSH protocol with private key <span
|
||||||
className="badge badge-success">{issue.ssh_key}</span>.
|
className='badge badge-success'>{issue.ssh_key}</span>.
|
||||||
</CollapsibleWellComponent>
|
</CollapsibleWellComponent>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
@ -713,17 +713,17 @@ class ReportPageComponent extends AuthComponent {
|
||||||
generateSambaCryIssue(issue) {
|
generateSambaCryIssue(issue) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
Change <span className="badge badge-success">{issue.username}</span>'s password to a complex one-use password
|
Change <span className='badge badge-success'>{issue.username}</span>'s password to a complex one-use password
|
||||||
that is not shared with other computers on the network.
|
that is not shared with other computers on the network.
|
||||||
<br/>
|
<br/>
|
||||||
Update your Samba server to 4.4.14 and up, 4.5.10 and up, or 4.6.4 and up.
|
Update your Samba server to 4.4.14 and up, 4.5.10 and up, or 4.6.4 and up.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
The machine <span className="badge badge-primary">{issue.machine}</span> (<span
|
The machine <span className='badge badge-primary'>{issue.machine}</span> (<span
|
||||||
className="badge badge-info" style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
className='badge badge-info' style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
||||||
className="badge badge-danger">SambaCry</span> attack.
|
className='badge badge-danger'>SambaCry</span> attack.
|
||||||
<br/>
|
<br/>
|
||||||
The Monkey authenticated over the SMB protocol with user <span
|
The Monkey authenticated over the SMB protocol with user <span
|
||||||
className="badge badge-success">{issue.username}</span> and its password, and used the SambaCry
|
className='badge badge-success'>{issue.username}</span> and its password, and used the SambaCry
|
||||||
vulnerability.
|
vulnerability.
|
||||||
</CollapsibleWellComponent>
|
</CollapsibleWellComponent>
|
||||||
</>
|
</>
|
||||||
|
@ -735,10 +735,10 @@ class ReportPageComponent extends AuthComponent {
|
||||||
<>
|
<>
|
||||||
Update your VSFTPD server to the latest version vsftpd-3.0.3.
|
Update your VSFTPD server to the latest version vsftpd-3.0.3.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
The machine <span className="badge badge-primary">{issue.machine}</span> (<span
|
The machine <span className='badge badge-primary'>{issue.machine}</span> (<span
|
||||||
className="badge badge-info" style={{margin: '2px'}}>{issue.ip_address}</span>) has a backdoor running at
|
className='badge badge-info' style={{margin: '2px'}}>{issue.ip_address}</span>) has a backdoor running at
|
||||||
port <span
|
port <span
|
||||||
className="badge badge-danger">6200</span>.
|
className='badge badge-danger'>6200</span>.
|
||||||
<br/>
|
<br/>
|
||||||
The attack was made possible because the VSFTPD server was not patched against CVE-2011-2523.
|
The attack was made possible because the VSFTPD server was not patched against CVE-2011-2523.
|
||||||
<br/><br/>In July 2011, it was discovered that vsftpd version 2.3.4 downloadable from the master site had been
|
<br/><br/>In July 2011, it was discovered that vsftpd version 2.3.4 downloadable from the master site had been
|
||||||
|
@ -751,7 +751,7 @@ class ReportPageComponent extends AuthComponent {
|
||||||
backdoor
|
backdoor
|
||||||
at port 6200.
|
at port 6200.
|
||||||
<br/><br/>Read more about the security issue and remediation <a
|
<br/><br/>Read more about the security issue and remediation <a
|
||||||
href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-2523"
|
href='https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-2523'
|
||||||
>here</a>.
|
>here</a>.
|
||||||
</CollapsibleWellComponent>
|
</CollapsibleWellComponent>
|
||||||
</>
|
</>
|
||||||
|
@ -763,9 +763,9 @@ class ReportPageComponent extends AuthComponent {
|
||||||
<>
|
<>
|
||||||
Update your Elastic Search server to version 1.4.3 and up.
|
Update your Elastic Search server to version 1.4.3 and up.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
The machine <span className="badge badge-primary">{issue.machine}</span> (<span
|
The machine <span className='badge badge-primary'>{issue.machine}</span> (<span
|
||||||
className="badge badge-info" style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to an <span
|
className='badge badge-info' style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to an <span
|
||||||
className="badge badge-danger">Elastic Groovy</span> attack.
|
className='badge badge-danger'>Elastic Groovy</span> attack.
|
||||||
<br/>
|
<br/>
|
||||||
The attack was made possible because the Elastic Search server was not patched against CVE-2015-1427.
|
The attack was made possible because the Elastic Search server was not patched against CVE-2015-1427.
|
||||||
</CollapsibleWellComponent>
|
</CollapsibleWellComponent>
|
||||||
|
@ -778,12 +778,12 @@ class ReportPageComponent extends AuthComponent {
|
||||||
<>
|
<>
|
||||||
Update your Bash to a ShellShock-patched version.
|
Update your Bash to a ShellShock-patched version.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
The machine <span className="badge badge-primary">{issue.machine}</span> (<span
|
The machine <span className='badge badge-primary'>{issue.machine}</span> (<span
|
||||||
className="badge badge-info" style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
className='badge badge-info' style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
||||||
className="badge badge-danger">ShellShock</span> attack.
|
className='badge badge-danger'>ShellShock</span> attack.
|
||||||
<br/>
|
<br/>
|
||||||
The attack was made possible because the HTTP server running on TCP port <span
|
The attack was made possible because the HTTP server running on TCP port <span
|
||||||
className="badge badge-info">{issue.port}</span> was vulnerable to a shell injection attack on the
|
className='badge badge-info'>{issue.port}</span> was vulnerable to a shell injection attack on the
|
||||||
paths: {this.generateShellshockPathListBadges(issue.paths)}.
|
paths: {this.generateShellshockPathListBadges(issue.paths)}.
|
||||||
</CollapsibleWellComponent>
|
</CollapsibleWellComponent>
|
||||||
</>
|
</>
|
||||||
|
@ -796,9 +796,9 @@ class ReportPageComponent extends AuthComponent {
|
||||||
Delete VM Access plugin configuration files.
|
Delete VM Access plugin configuration files.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
Credentials could be stolen from <span
|
Credentials could be stolen from <span
|
||||||
className="badge badge-primary">{issue.machine}</span> for the following users <span
|
className='badge badge-primary'>{issue.machine}</span> for the following users <span
|
||||||
className="badge badge-primary">{issue.users}</span>. Read more about the security issue and remediation <a
|
className='badge badge-primary'>{issue.users}</span>. Read more about the security issue and remediation <a
|
||||||
href="https://www.guardicore.com/2018/03/recovering-plaintext-passwords-azure/"
|
href='https://www.guardicore.com/2018/03/recovering-plaintext-passwords-azure/'
|
||||||
>here</a>.
|
>here</a>.
|
||||||
</CollapsibleWellComponent>
|
</CollapsibleWellComponent>
|
||||||
</>
|
</>
|
||||||
|
@ -810,9 +810,9 @@ class ReportPageComponent extends AuthComponent {
|
||||||
<>
|
<>
|
||||||
Install the latest Windows updates or upgrade to a newer operating system.
|
Install the latest Windows updates or upgrade to a newer operating system.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
The machine <span className="badge badge-primary">{issue.machine}</span> (<span
|
The machine <span className='badge badge-primary'>{issue.machine}</span> (<span
|
||||||
className="badge badge-info" style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
className='badge badge-info' style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
||||||
className="badge badge-danger">Conficker</span> attack.
|
className='badge badge-danger'>Conficker</span> attack.
|
||||||
<br/>
|
<br/>
|
||||||
The attack was made possible because the target machine used an outdated and unpatched operating system
|
The attack was made possible because the target machine used an outdated and unpatched operating system
|
||||||
vulnerable to Conficker.
|
vulnerable to Conficker.
|
||||||
|
@ -827,7 +827,7 @@ class ReportPageComponent extends AuthComponent {
|
||||||
Segment your network and make sure there is no communication between machines from different segments.
|
Segment your network and make sure there is no communication between machines from different segments.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
The network can probably be segmented. A monkey instance on <span
|
The network can probably be segmented. A monkey instance on <span
|
||||||
className="badge badge-primary">{issue.machine}</span> in the
|
className='badge badge-primary'>{issue.machine}</span> in the
|
||||||
networks {this.generateInfoBadges(issue.networks)}
|
networks {this.generateInfoBadges(issue.networks)}
|
||||||
could directly access the Monkey Island server in the
|
could directly access the Monkey Island server in the
|
||||||
networks {this.generateInfoBadges(issue.server_networks)}.
|
networks {this.generateInfoBadges(issue.server_networks)}.
|
||||||
|
@ -868,7 +868,7 @@ class ReportPageComponent extends AuthComponent {
|
||||||
admin sharing.
|
admin sharing.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
Here is a list of machines which the account <span
|
Here is a list of machines which the account <span
|
||||||
className="badge badge-primary">{issue.username}</span> is defined as an administrator:
|
className='badge badge-primary'>{issue.username}</span> is defined as an administrator:
|
||||||
{this.generateInfoBadges(issue.shared_machines)}
|
{this.generateInfoBadges(issue.shared_machines)}
|
||||||
</CollapsibleWellComponent>
|
</CollapsibleWellComponent>
|
||||||
</>
|
</>
|
||||||
|
@ -895,8 +895,8 @@ class ReportPageComponent extends AuthComponent {
|
||||||
Use micro-segmentation policies to disable communication other than the required.
|
Use micro-segmentation policies to disable communication other than the required.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
Machines are not locked down at port level. Network tunnel was set up from <span
|
Machines are not locked down at port level. Network tunnel was set up from <span
|
||||||
className="badge badge-primary">{issue.machine}</span> to <span
|
className='badge badge-primary'>{issue.machine}</span> to <span
|
||||||
className="badge badge-primary">{issue.dest}</span>.
|
className='badge badge-primary'>{issue.dest}</span>.
|
||||||
</CollapsibleWellComponent>
|
</CollapsibleWellComponent>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
@ -907,13 +907,13 @@ class ReportPageComponent extends AuthComponent {
|
||||||
<>
|
<>
|
||||||
Upgrade Struts2 to version 2.3.32 or 2.5.10.1 or any later versions.
|
Upgrade Struts2 to version 2.3.32 or 2.5.10.1 or any later versions.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
Struts2 server at <span className="badge badge-primary">{issue.machine}</span> (<span
|
Struts2 server at <span className='badge badge-primary'>{issue.machine}</span> (<span
|
||||||
className="badge badge-info" style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to <span
|
className='badge badge-info' style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to <span
|
||||||
className="badge badge-danger">remote code execution</span> attack.
|
className='badge badge-danger'>remote code execution</span> attack.
|
||||||
<br/>
|
<br/>
|
||||||
The attack was made possible because the server is using an old version of Jakarta based file upload
|
The attack was made possible because the server is using an old version of Jakarta based file upload
|
||||||
Multipart parser. For possible work-arounds and more info read <a
|
Multipart parser. For possible work-arounds and more info read <a
|
||||||
href="https://cwiki.apache.org/confluence/display/WW/S2-045"
|
href='https://cwiki.apache.org/confluence/display/WW/S2-045'
|
||||||
>here</a>.
|
>here</a>.
|
||||||
</CollapsibleWellComponent>
|
</CollapsibleWellComponent>
|
||||||
</>
|
</>
|
||||||
|
@ -925,13 +925,13 @@ class ReportPageComponent extends AuthComponent {
|
||||||
<>
|
<>
|
||||||
Upgrade Drupal server to versions 8.5.11, 8.6.10, or later.
|
Upgrade Drupal server to versions 8.5.11, 8.6.10, or later.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
Drupal server at <span className="badge badge-primary">{issue.machine}</span> (<span
|
Drupal server at <span className='badge badge-primary'>{issue.machine}</span> (<span
|
||||||
className="badge badge-info" style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to <span
|
className='badge badge-info' style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to <span
|
||||||
className="badge badge-danger">remote command execution</span> attack.
|
className='badge badge-danger'>remote command execution</span> attack.
|
||||||
<br/>
|
<br/>
|
||||||
The attack was made possible because the server is using an old version of Drupal, for which REST API is
|
The attack was made possible because the server is using an old version of Drupal, for which REST API is
|
||||||
enabled. For possible workarounds, fixes and more info read
|
enabled. For possible workarounds, fixes and more info read
|
||||||
<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-6340">here</a>.
|
<a href='https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-6340'>here</a>.
|
||||||
</CollapsibleWellComponent>
|
</CollapsibleWellComponent>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
@ -942,9 +942,9 @@ class ReportPageComponent extends AuthComponent {
|
||||||
<>
|
<>
|
||||||
Update Oracle WebLogic server to the latest supported version.
|
Update Oracle WebLogic server to the latest supported version.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
Oracle WebLogic server at <span className="badge badge-primary">{issue.machine}</span> (<span
|
Oracle WebLogic server at <span className='badge badge-primary'>{issue.machine}</span> (<span
|
||||||
className="badge badge-info" style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to one of <span
|
className='badge badge-info' style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to one of <span
|
||||||
className="badge badge-danger">remote code execution</span> attacks.
|
className='badge badge-danger'>remote code execution</span> attacks.
|
||||||
<br/>
|
<br/>
|
||||||
The attack was made possible due to one of the following vulnerabilities:
|
The attack was made possible due to one of the following vulnerabilities:
|
||||||
<a href={'https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10271'}> CVE-2017-10271</a> or
|
<a href={'https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10271'}> CVE-2017-10271</a> or
|
||||||
|
@ -958,12 +958,12 @@ class ReportPageComponent extends AuthComponent {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
Run Hadoop in secure mode (<a
|
Run Hadoop in secure mode (<a
|
||||||
href="http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SecureMode.html">
|
href='http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SecureMode.html'>
|
||||||
add Kerberos authentication</a>).
|
add Kerberos authentication</a>).
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
The Hadoop server at <span className="badge badge-primary">{issue.machine}</span> (<span
|
The Hadoop server at <span className='badge badge-primary'>{issue.machine}</span> (<span
|
||||||
className="badge badge-info" style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to <span
|
className='badge badge-info' style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to <span
|
||||||
className="badge badge-danger">remote code execution</span> attack.
|
className='badge badge-danger'>remote code execution</span> attack.
|
||||||
<br/>
|
<br/>
|
||||||
The attack was made possible due to default Hadoop/Yarn configuration being insecure.
|
The attack was made possible due to default Hadoop/Yarn configuration being insecure.
|
||||||
</CollapsibleWellComponent>
|
</CollapsibleWellComponent>
|
||||||
|
@ -976,17 +976,17 @@ class ReportPageComponent extends AuthComponent {
|
||||||
<>
|
<>
|
||||||
Disable the xp_cmdshell option.
|
Disable the xp_cmdshell option.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
The machine <span className="badge badge-primary">{issue.machine}</span> (<span
|
The machine <span className='badge badge-primary'>{issue.machine}</span> (<span
|
||||||
className="badge badge-info" style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
className='badge badge-info' style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
||||||
className="badge badge-danger">MSSQL exploit attack</span>.
|
className='badge badge-danger'>MSSQL exploit attack</span>.
|
||||||
<br/>
|
<br/>
|
||||||
The attack was made possible because the target machine used an outdated MSSQL server configuration allowing
|
The attack was made possible because the target machine used an outdated MSSQL server configuration allowing
|
||||||
the usage of the xp_cmdshell command. To learn more about how to disable this feature, read
|
the usage of the xp_cmdshell command. To learn more about how to disable this feature, read
|
||||||
<Button
|
<Button
|
||||||
variant={"link"}
|
variant={'link'}
|
||||||
href="https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/xp-cmdshell-server-configuration-option?view=sql-server-2017"
|
href='https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/xp-cmdshell-server-configuration-option?view=sql-server-2017'
|
||||||
target={"_blank"}
|
target={'_blank'}
|
||||||
className={"security-report-link"}>
|
className={'security-report-link'}>
|
||||||
Microsoft's documentation.
|
Microsoft's documentation.
|
||||||
</Button>
|
</Button>
|
||||||
</CollapsibleWellComponent>
|
</CollapsibleWellComponent>
|
||||||
|
@ -999,18 +999,18 @@ class ReportPageComponent extends AuthComponent {
|
||||||
<>
|
<>
|
||||||
Install Windows security updates.
|
Install Windows security updates.
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
The machine <span className="badge badge-primary">{issue.machine}</span> (<span
|
The machine <span className='badge badge-primary'>{issue.machine}</span> (<span
|
||||||
className="badge badge-info" style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
className='badge badge-info' style={{margin: '2px'}}>{issue.ip_address}</span>) is vulnerable to a <span
|
||||||
className="badge badge-danger">Zerologon exploit</span>.
|
className='badge badge-danger'>Zerologon exploit</span>.
|
||||||
<br/>
|
<br/>
|
||||||
The attack was possible because the latest security updates from Microsoft
|
The attack was possible because the latest security updates from Microsoft
|
||||||
have not been applied to this machine. For more information about this
|
have not been applied to this machine. For more information about this
|
||||||
vulnerability, read
|
vulnerability, read
|
||||||
<Button
|
<Button
|
||||||
variant={"link"}
|
variant={'link'}
|
||||||
href="https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2020-1472"
|
href='https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2020-1472'
|
||||||
target={"_blank"}
|
target={'_blank'}
|
||||||
className={"security-report-link"}>
|
className={'security-report-link'}>
|
||||||
Microsoft's documentation.
|
Microsoft's documentation.
|
||||||
</Button>
|
</Button>
|
||||||
{!issue.password_restored ?
|
{!issue.password_restored ?
|
||||||
|
@ -1020,10 +1020,10 @@ class ReportPageComponent extends AuthComponent {
|
||||||
The domain controller's password was changed during the exploit and could not be restored successfully.
|
The domain controller's password was changed during the exploit and could not be restored successfully.
|
||||||
Instructions on how to manually reset the domain controller's password can be found
|
Instructions on how to manually reset the domain controller's password can be found
|
||||||
<Button
|
<Button
|
||||||
variant={"link"}
|
variant={'link'}
|
||||||
href="https://www.guardicore.com/infectionmonkey/docs/reference/exploiters/zerologon/"
|
href='https://www.guardicore.com/infectionmonkey/docs/reference/exploiters/zerologon/'
|
||||||
target={"_blank"}
|
target={'_blank'}
|
||||||
className={"security-report-link"}>
|
className={'security-report-link'}>
|
||||||
here
|
here
|
||||||
</Button>.
|
</Button>.
|
||||||
</span>
|
</span>
|
||||||
|
@ -1036,76 +1036,76 @@ class ReportPageComponent extends AuthComponent {
|
||||||
generateIssue = (issue) => {
|
generateIssue = (issue) => {
|
||||||
let issueData;
|
let issueData;
|
||||||
switch (issue.type) {
|
switch (issue.type) {
|
||||||
case "vsftp":
|
case 'vsftp':
|
||||||
issueData = this.generateVsftpdBackdoorIssue(issue);
|
issueData = this.generateVsftpdBackdoorIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "smb_password":
|
case 'smb_password':
|
||||||
issueData = this.generateSmbPasswordIssue(issue);
|
issueData = this.generateSmbPasswordIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "smb_pth":
|
case 'smb_pth':
|
||||||
issueData = this.generateSmbPthIssue(issue);
|
issueData = this.generateSmbPthIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "wmi_password":
|
case 'wmi_password':
|
||||||
issueData = this.generateWmiPasswordIssue(issue);
|
issueData = this.generateWmiPasswordIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "wmi_pth":
|
case 'wmi_pth':
|
||||||
issueData = this.generateWmiPthIssue(issue);
|
issueData = this.generateWmiPthIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "ssh":
|
case 'ssh':
|
||||||
issueData = this.generateSshIssue(issue);
|
issueData = this.generateSshIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "ssh_key":
|
case 'ssh_key':
|
||||||
issueData = this.generateSshKeysIssue(issue);
|
issueData = this.generateSshKeysIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "sambacry":
|
case 'sambacry':
|
||||||
issueData = this.generateSambaCryIssue(issue);
|
issueData = this.generateSambaCryIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "elastic":
|
case 'elastic':
|
||||||
issueData = this.generateElasticIssue(issue);
|
issueData = this.generateElasticIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "shellshock":
|
case 'shellshock':
|
||||||
issueData = this.generateShellshockIssue(issue);
|
issueData = this.generateShellshockIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "conficker":
|
case 'conficker':
|
||||||
issueData = this.generateConfickerIssue(issue);
|
issueData = this.generateConfickerIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "island_cross_segment":
|
case 'island_cross_segment':
|
||||||
issueData = this.generateIslandCrossSegmentIssue(issue);
|
issueData = this.generateIslandCrossSegmentIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "shared_passwords":
|
case 'shared_passwords':
|
||||||
issueData = this.generateSharedCredsIssue(issue);
|
issueData = this.generateSharedCredsIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "shared_passwords_domain":
|
case 'shared_passwords_domain':
|
||||||
issueData = this.generateSharedCredsDomainIssue(issue);
|
issueData = this.generateSharedCredsDomainIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "shared_admins_domain":
|
case 'shared_admins_domain':
|
||||||
issueData = this.generateSharedLocalAdminsIssue(issue);
|
issueData = this.generateSharedLocalAdminsIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "strong_users_on_crit":
|
case 'strong_users_on_crit':
|
||||||
issueData = this.generateStrongUsersOnCritIssue(issue);
|
issueData = this.generateStrongUsersOnCritIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "tunnel":
|
case 'tunnel':
|
||||||
issueData = this.generateTunnelIssue(issue);
|
issueData = this.generateTunnelIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "azure_password":
|
case 'azure_password':
|
||||||
issueData = this.generateAzureIssue(issue);
|
issueData = this.generateAzureIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "struts2":
|
case 'struts2':
|
||||||
issueData = this.generateStruts2Issue(issue);
|
issueData = this.generateStruts2Issue(issue);
|
||||||
break;
|
break;
|
||||||
case "weblogic":
|
case 'weblogic':
|
||||||
issueData = this.generateWebLogicIssue(issue);
|
issueData = this.generateWebLogicIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "hadoop":
|
case 'hadoop':
|
||||||
issueData = this.generateHadoopIssue(issue);
|
issueData = this.generateHadoopIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "mssql":
|
case 'mssql':
|
||||||
issueData = this.generateMSSQLIssue(issue);
|
issueData = this.generateMSSQLIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "drupal":
|
case 'drupal':
|
||||||
issueData = this.generateDrupalIssue(issue);
|
issueData = this.generateDrupalIssue(issue);
|
||||||
break;
|
break;
|
||||||
case "zerologon":
|
case 'zerologon':
|
||||||
issueData = this.generateZerologonIssue(issue);
|
issueData = this.generateZerologonIssue(issue);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue