forked from p15670423/monkey
Report uses data from server now
This commit is contained in:
parent
83c7c3d13c
commit
35bbd38d2e
|
@ -88,6 +88,74 @@ class ReportService:
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_report():
|
def get_report():
|
||||||
|
return \
|
||||||
|
{
|
||||||
|
'overview':
|
||||||
|
{
|
||||||
|
'monkey_start_time': '01/02/2017 21:45',
|
||||||
|
'monkey_duration': '23:12 minutes',
|
||||||
|
'issues': [False, True, True, True, False, True],
|
||||||
|
'warnings': [True, True]
|
||||||
|
},
|
||||||
|
'glance':
|
||||||
|
{
|
||||||
|
'scanned':
|
||||||
|
[{"services": ["tcp-22: ssh", "elastic-search-9200: Lorelei Travis"],
|
||||||
|
"ip_addresses": ["11.0.0.13"], "accessible_from_nodes": ["webServer-shellshock0"],
|
||||||
|
"label": "Ubuntu-4ubuntu2.1"},
|
||||||
|
{"services": [], "ip_addresses": ["10.0.3.23"], "accessible_from_nodes": [],
|
||||||
|
"label": "ubuntu"},
|
||||||
|
{"services": ["tcp-22: ssh", "tcp-80: http"], "ip_addresses": ["10.0.3.68", "11.0.0.41"],
|
||||||
|
"accessible_from_nodes": ["Monkey-MSSQL1", "ubuntu"], "label": "webServer-shellshock0"},
|
||||||
|
{"services": ["tcp-445: Windows Server 2012 R2 Standard 6.3"],
|
||||||
|
"ip_addresses": ["12.0.0.90", "11.0.0.90"],
|
||||||
|
"accessible_from_nodes": ["webServer-shellshock0"], "label": "Monkey-MSSQL1"}],
|
||||||
|
'exploited':
|
||||||
|
[{"ip_addresses": ["10.0.3.68", "11.0.0.41"],
|
||||||
|
"exploits": ["ShellShockExploiter", "ShellShockExploiter"],
|
||||||
|
"label": "webServer-shellshock0"},
|
||||||
|
{"ip_addresses": ["12.0.0.90", "11.0.0.90"], "exploits": ["SmbExploiter", "SmbExploiter"],
|
||||||
|
"label": "Monkey-MSSQL1"}],
|
||||||
|
'stolen_creds':
|
||||||
|
[
|
||||||
|
{'username': 'admin', 'password': 'secretpassword', 'type': 'password', 'origin': 'Monkey-SMB'},
|
||||||
|
{'username': 'user', 'password': 'my_password', 'type': 'password', 'origin': 'Monkey-SMB2'},
|
||||||
|
{'username': 'dan', 'password': '066DDFD4EF0E9CD7C256FE77191EF43C', 'type': 'NTLM',
|
||||||
|
'origin': 'Monkey-RDP'},
|
||||||
|
{'username': 'joe', 'password': 'FDA95FBECA288D44AAD3B435B51404EE', 'type': 'LM',
|
||||||
|
'origin': 'Monkey-RDP'}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
'recommendations':
|
||||||
|
{
|
||||||
|
'issues':
|
||||||
|
[
|
||||||
|
{'type': 'smb_password', 'machine': 'Monkey-SMB',
|
||||||
|
'ip_addresses': ['192.168.0.1', '10.0.0.18'], 'username': 'Administrator'},
|
||||||
|
{'type': 'smb_pth', 'machine': 'Monkey-SMB2', 'ip_addresses': ['192.168.0.1', '10.0.0.18'],
|
||||||
|
'username': 'Administrator'},
|
||||||
|
{'type': 'wmi_password', 'machine': 'Monkey-WMI',
|
||||||
|
'ip_addresses': ['192.168.0.1', '10.0.0.18'], 'username': 'Administrator'},
|
||||||
|
{'type': 'wmi_pth', 'machine': 'Monkey-WMI2', 'ip_addresses': ['192.168.0.1', '10.0.0.18'],
|
||||||
|
'username': 'Administrator'},
|
||||||
|
{'type': 'ssh', 'machine': 'Monkey-SMB', 'ip_addresses': ['192.168.0.1', '10.0.0.18'],
|
||||||
|
'username': 'Administrator'},
|
||||||
|
{'type': 'rdp', 'machine': 'Monkey-SMB', 'ip_addresses': ['192.168.0.1', '10.0.0.18'],
|
||||||
|
'username': 'Administrator'},
|
||||||
|
{'type': 'sambacry', 'machine': 'Monkey-SMB', 'ip_addresses': ['192.168.0.1', '10.0.0.18'],
|
||||||
|
'username': 'Administrator'},
|
||||||
|
{'type': 'elastic', 'machine': 'Monkey-SMB', 'ip_addresses': ['192.168.0.1', '10.0.0.18']},
|
||||||
|
{'type': 'shellshock', 'machine': 'Monkey-SMB', 'ip_addresses': ['192.168.0.1', '10.0.0.18'],
|
||||||
|
'port': 8080, 'paths': ['/cgi/backserver.cgi', '/cgi/login.cgi']},
|
||||||
|
{'type': 'conficker', 'machine': 'Monkey-SMB', 'ip_addresses': ['192.168.0.1', '10.0.0.18']},
|
||||||
|
{'type': 'cross_segment', 'machine': 'Monkey-SMB', 'network': '192.168.0.0/24',
|
||||||
|
'server_network': '172.168.0.0/24'},
|
||||||
|
{'type': 'tunnel', 'origin': 'Monkey-SSH', 'dest': 'Monkey-SambaCry'}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# TODO: put implementation in template
|
||||||
|
"""
|
||||||
return \
|
return \
|
||||||
{
|
{
|
||||||
'first_monkey_time': ReportService.get_first_monkey_time(),
|
'first_monkey_time': ReportService.get_first_monkey_time(),
|
||||||
|
@ -99,6 +167,7 @@ class ReportService:
|
||||||
'exploited': ReportService.get_exploited(),
|
'exploited': ReportService.get_exploited(),
|
||||||
'reused_passwords': ReportService.get_reused_passwords()
|
'reused_passwords': ReportService.get_reused_passwords()
|
||||||
}
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def did_exploit_type_succeed(exploit_type):
|
def did_exploit_type_succeed(exploit_type):
|
||||||
|
|
|
@ -27,56 +27,14 @@ class ReportPageComponent extends React.Component {
|
||||||
|
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
this.stolen_passwords =
|
|
||||||
[
|
|
||||||
{username: 'admin', password: 'secretpassword', type: 'password', origin: 'Monkey-SMB'},
|
|
||||||
{username: 'user', password: 'my_password', type: 'password', origin: 'Monkey-SMB2'},
|
|
||||||
{username: 'dan', password: '066DDFD4EF0E9CD7C256FE77191EF43C', type: 'NTLM', origin: 'Monkey-RDP'},
|
|
||||||
{username: 'joe', password: 'FDA95FBECA288D44AAD3B435B51404EE', type: 'LM', origin: 'Monkey-RDP'}
|
|
||||||
];
|
|
||||||
this.state = {
|
this.state = {
|
||||||
report: {
|
report: {},
|
||||||
overview:
|
|
||||||
{
|
|
||||||
monkey_start_time: '01/02/2017 21:45',
|
|
||||||
monkey_duration: '23:12 minutes',
|
|
||||||
issues: [false, true, true, true, false, true],
|
|
||||||
warnings: [true, true]
|
|
||||||
},
|
|
||||||
glance:
|
|
||||||
{
|
|
||||||
scanned:
|
|
||||||
[{"services": ["tcp-22: ssh", "elastic-search-9200: Lorelei Travis"], "ip_addresses": ["11.0.0.13"], "accessible_from_nodes": ["webServer-shellshock0"], "label": "Ubuntu-4ubuntu2.1"}, {"services": [], "ip_addresses": ["10.0.3.23"], "accessible_from_nodes": [], "label": "ubuntu"}, {"services": ["tcp-22: ssh", "tcp-80: http"], "ip_addresses": ["10.0.3.68", "11.0.0.41"], "accessible_from_nodes": ["Monkey-MSSQL1", "ubuntu"], "label": "webServer-shellshock0"}, {"services": ["tcp-445: Windows Server 2012 R2 Standard 6.3"], "ip_addresses": ["12.0.0.90", "11.0.0.90"], "accessible_from_nodes": ["webServer-shellshock0"], "label": "Monkey-MSSQL1"}],
|
|
||||||
exploited:
|
|
||||||
[{"ip_addresses": ["10.0.3.68", "11.0.0.41"], "exploits": ["ShellShockExploiter", "ShellShockExploiter"], "label": "webServer-shellshock0"}, {"ip_addresses": ["12.0.0.90", "11.0.0.90"], "exploits": ["SmbExploiter", "SmbExploiter"], "label": "Monkey-MSSQL1"}],
|
|
||||||
stolen_creds: this.stolen_passwords
|
|
||||||
},
|
|
||||||
recommendations:
|
|
||||||
{
|
|
||||||
issues:
|
|
||||||
[
|
|
||||||
{type: 'smb_password', machine: 'Monkey-SMB', ip_addresses: ['192.168.0.1', '10.0.0.18'], username: 'Administrator'},
|
|
||||||
{type: 'smb_pth', machine: 'Monkey-SMB2', ip_addresses: ['192.168.0.1', '10.0.0.18'], username: 'Administrator'},
|
|
||||||
{type: 'wmi_password', machine: 'Monkey-WMI', ip_addresses: ['192.168.0.1', '10.0.0.18'], username: 'Administrator'},
|
|
||||||
{type: 'wmi_pth', machine: 'Monkey-WMI2', ip_addresses: ['192.168.0.1', '10.0.0.18'], username: 'Administrator'},
|
|
||||||
{type: 'ssh', machine: 'Monkey-SMB', ip_addresses: ['192.168.0.1', '10.0.0.18'], username: 'Administrator'},
|
|
||||||
{type: 'rdp', machine: 'Monkey-SMB', ip_addresses: ['192.168.0.1', '10.0.0.18'], username: 'Administrator'},
|
|
||||||
{type: 'sambacry', machine: 'Monkey-SMB', ip_addresses: ['192.168.0.1', '10.0.0.18'], username: 'Administrator'},
|
|
||||||
{type: 'elastic', machine: 'Monkey-SMB', ip_addresses: ['192.168.0.1', '10.0.0.18']},
|
|
||||||
{type: 'shellshock', machine: 'Monkey-SMB', ip_addresses: ['192.168.0.1', '10.0.0.18'], port: 8080, paths: ['/cgi/backserver.cgi', '/cgi/login.cgi']},
|
|
||||||
{type: 'conficker', machine: 'Monkey-SMB', ip_addresses: ['192.168.0.1', '10.0.0.18']},
|
|
||||||
{type: 'cross_segment', machine: 'Monkey-SMB', network: '192.168.0.0/24', server_network: '172.168.0.0/24'},
|
|
||||||
{type: 'tunnel', origin: 'Monkey-SSH', dest: 'Monkey-SambaCry'}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
graph: {nodes: [], edges: []}
|
graph: {nodes: [], edges: []}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
// TODO: uncomment
|
this.getReportFromServer();
|
||||||
//this.getReportFromServer();
|
|
||||||
this.updateMapFromServer();
|
this.updateMapFromServer();
|
||||||
this.interval = setInterval(this.updateMapFromServer, 1000);
|
this.interval = setInterval(this.updateMapFromServer, 1000);
|
||||||
}
|
}
|
||||||
|
@ -342,8 +300,7 @@ class ReportPageComponent extends React.Component {
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
let content;
|
let content;
|
||||||
// TODO: remove 0==1
|
if (Object.keys(this.state.report).length === 0) {
|
||||||
if (0==1 || Object.keys(this.state.report).length === 0) {
|
|
||||||
content = (<h1>Generating Report...</h1>);
|
content = (<h1>Generating Report...</h1>);
|
||||||
} else {
|
} else {
|
||||||
content =
|
content =
|
||||||
|
|
Loading…
Reference in New Issue