Cosmetic changes and small refactors

This commit is contained in:
VakarisZ 2019-03-04 20:20:41 +02:00
parent 45be010470
commit f35340e7ae
8 changed files with 16 additions and 18 deletions

View File

@ -100,9 +100,9 @@
"post_breach_actions" : [],
"custom_post_breach" : { "linux": "",
"windows": "",
"linux_file": "",
"windows_file": "",
"windows_file_info": {"name": "", "size": "0" },
"linux_file_info": {"name": "", "size":"0"}
"linux_file": None,
"windows_file": None,
"windows_file_info": None,
"linux_file_info": None
}
}

View File

@ -113,6 +113,10 @@ class InfectionMonkey(object):
system_info = system_info_collector.get_info()
ControlClient.send_telemetry("system_info_collection", system_info)
for action_class in WormConfiguration.post_breach_actions:
action = action_class()
action.act()
PostBreach().execute()
if 0 == WormConfiguration.depth:

View File

@ -29,7 +29,7 @@ from cc.resources.telemetry import Telemetry
from cc.resources.telemetry_feed import TelemetryFeed
from cc.resources.pba_file_download import PBAFileDownload
from cc.services.config import ConfigService
from cc.resources.file_upload import FileUpload
from cc.resources.pba_file_upload import FileUpload
__author__ = 'Barak'

View File

@ -4,7 +4,6 @@ from cc.services.config import ConfigService, WINDOWS_PBA_INFO, LINUX_PBA_INFO
import os
from werkzeug.utils import secure_filename
import logging
from cc.database import mongo
import copy
LOG = logging.getLogger(__name__)

View File

@ -45,6 +45,7 @@ WINDOWS_PBA_INFO.append('windows_file_info')
LINUX_PBA_INFO = copy.deepcopy(PBA_CONF_PATH)
LINUX_PBA_INFO.append('linux_file_info')
class ConfigService:
default_config = None
@ -157,7 +158,7 @@ class ConfigService:
@staticmethod
def update_config(config_json, should_encrypt):
# Island file upload on file_upload endpoint and sets correct config there
# Island file upload happens on pba_file_upload endpoint and config is set there
ConfigService.keep_PBA_files(config_json)
if should_encrypt:
try:
@ -173,7 +174,7 @@ class ConfigService:
def keep_PBA_files(config_json):
"""
file_upload endpoint handles file upload and sets config asynchronously.
This brings file info in config up to date.
This saves file info from being overridden.
"""
if ConfigService.get_config():
linux_info = ConfigService.get_config_value(LINUX_PBA_INFO)
@ -250,6 +251,7 @@ class ConfigService:
@staticmethod
def r_get_properties(schema):
""" Recursively gets all nested properties in schema"""
if "default" in schema:
return schema["default"]
if "properties" in schema:

View File

@ -132,7 +132,8 @@ class ReportService:
(NodeService.get_displayed_node_by_id(edge['from'], True)
for edge in EdgeService.get_displayed_edges_by_to(node['id'], True)))),
'services': node['services'],
'domain_name': node['domain_name']
'domain_name': node['domain_name'],
'pba_results': node['pba_results'] if 'pba_results' in node else 'None'
})
logger.info('Scanned nodes generated for reporting')
@ -156,7 +157,6 @@ class ReportService:
'exploits': list(set(
[ReportService.EXPLOIT_DISPLAY_DICT[exploit['exploiter']] for exploit in monkey['exploits'] if
exploit['result']])),
'pba_results': monkey['pba_results'] if 'pba_results' in monkey else 'None'
}
for monkey in exploited]

View File

@ -462,7 +462,7 @@ class ReportPageComponent extends AuthComponent {
<BreachedServers data={this.state.report.glance.exploited}/>
</div>
<div style={{marginBottom: '20px'}}>
<PostBreach data={this.state.report.glance.exploited}/>
<PostBreach data={this.state.report.glance.scanned}/>
</div>
<div style={{marginBottom: '20px'}}>
<ScannedServers data={this.state.report.glance.scanned}/>

View File

@ -21,13 +21,6 @@ let renderPostBreach = function (machine, pbaList) {
}
};
let renderMachine = function (val) {
if (val.pba_results.length === 0){
return
}
return <div>{val.label} {renderIpAddresses(val)}</div>
};
const columns = [
{
Header: 'Post breach actions',