diff --git a/monkey/monkey_island/cc/ui/src/components/report-components/RansomwareReport.js b/monkey/monkey_island/cc/ui/src/components/report-components/RansomwareReport.js index 86ba1ebf4..8d7e76c0c 100644 --- a/monkey/monkey_island/cc/ui/src/components/report-components/RansomwareReport.js +++ b/monkey/monkey_island/cc/ui/src/components/report-components/RansomwareReport.js @@ -14,17 +14,56 @@ class RansomwareReport extends React.Component {

This report shows information about the ransomware simulation run by Infection Monkey.

+ {this.getExploitationStats()} ) } + getExploitationStats() { + let num_scanned = this.props.report.propagation_stats.num_scanned_nodes; + let num_exploited = this.props.report.propagation_stats.num_exploited_nodes; + let exploit_counts = this.props.report.propagation_stats.num_exploited_per_exploit; + + let exploitation_details = []; + for (let exploit in exploit_counts) { + let count = exploit_counts[exploit]; + if (count === 1) { + exploitation_details.push( +
+ {count} machine was exploited by + the {exploit}. +
+ ) + } + else { + exploitation_details.push( +
+ {count} machines were exploited by + the {exploit}. +
+ ) + } + } + + return ( +
+

+ The Monkey discovered {num_scanned} machines + and successfully breached {num_exploited} of them. +

+ {exploitation_details} +
+ ) + } + render() { let content = {}; if (this.stillLoadingDataFromServer()) { content = ; } else { - content =
{this.generateReportContent()}
; + content = this.generateReportContent(); } + return (