forked from p15670423/monkey
ui: display ICMP in cross-segment issues report
This commit is contained in:
parent
c6bec1335c
commit
919c51b920
|
@ -458,8 +458,10 @@ class ReportPageComponent extends AuthComponent {
|
||||||
<li key={crossSegmentIssueOverview}>
|
<li key={crossSegmentIssueOverview}>
|
||||||
{crossSegmentIssueOverview}
|
{crossSegmentIssueOverview}
|
||||||
<CollapsibleWellComponent>
|
<CollapsibleWellComponent>
|
||||||
<ul>
|
<ul className='cross-segment-issues'>
|
||||||
{crossSegmentIssue['issues'].map(issue => this.generateCrossSegmentIssueListItem(issue))}
|
{crossSegmentIssue['issues'].map(
|
||||||
|
issue => this.generateCrossSegmentIssueListItem(issue)
|
||||||
|
)}
|
||||||
</ul>
|
</ul>
|
||||||
</CollapsibleWellComponent>
|
</CollapsibleWellComponent>
|
||||||
</li>
|
</li>
|
||||||
|
@ -485,26 +487,28 @@ class ReportPageComponent extends AuthComponent {
|
||||||
generateCrossSegmentMultiHostMessage(issue) {
|
generateCrossSegmentMultiHostMessage(issue) {
|
||||||
return (
|
return (
|
||||||
<li key={issue['source'] + issue['target']}>
|
<li key={issue['source'] + issue['target']}>
|
||||||
{
|
IP {issue['source']} ({issue['hostname']}) was able to communicate with
|
||||||
Object.keys(issue['services']).length > 0 ?
|
IP {issue['target']} using:
|
||||||
this.generateCrossSegmentServiceMessage(issue) :
|
<ul>
|
||||||
this.generateCrossSegmentPingMessage(issue)
|
{issue['icmp'] && <li key='icmp'>ICMP</li>}
|
||||||
}
|
{this.generateCrossSegmentServiceListItems(issue)}
|
||||||
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
generateCrossSegmentServiceMessage(issue) {
|
generateCrossSegmentServiceListItems(issue) {
|
||||||
return (
|
let service_list_items = [];
|
||||||
`IP ${issue['source']} (${issue['hostname']}) connected to IP ${issue['target']}`
|
|
||||||
+ ` using the services: ${Object.keys(issue['services']).join(', ')}`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
generateCrossSegmentPingMessage(issue) {
|
for (const [service, info] of Object.entries(issue['services'])) {
|
||||||
return (
|
service_list_items.push(
|
||||||
`IP ${issue['source']} (${issue['hostname']}) successfully pinged IP ${issue['target']}`
|
<li key={service}>
|
||||||
);
|
<span className='cross-segment-service'>{service}</span> ({info['display_name']})
|
||||||
|
</li>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return service_list_items;
|
||||||
}
|
}
|
||||||
|
|
||||||
generateShellshockPathListBadges(paths) {
|
generateShellshockPathListBadges(paths) {
|
||||||
|
|
|
@ -76,3 +76,12 @@ div.report-wrapper .nav-tabs > .nav-item > a:hover:not(.active), .nav-tabs > .n
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
background-color: $light-gray;
|
background-color: $light-gray;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ul.cross-segment-issues {
|
||||||
|
list-style-type: none;
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
span.cross-segment-service {
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue