diff --git a/webserver/database/logs/blue.json b/webserver/database/logs/blue.json index c10c617..cfb1ff3 100644 --- a/webserver/database/logs/blue.json +++ b/webserver/database/logs/blue.json @@ -1 +1 @@ -[{"data": "archtosu@172.23.7.203: x && ./blueteambot1.sh", "timestamp": "1681455007"}, {"data": "Snort: Intrusion Detected! Blue team should now be aware", "timestamp": "1681455010"}] \ No newline at end of file +[{"data": "IDS: Malicious Activity was detected", "timestamp": "1681456601"}, {"data": "Malicious IP: 10.10.1.89", "timestamp": "1681456601"}, {"data": "ssh", "timestamp": "1681460202"}] \ No newline at end of file diff --git a/webserver/database/logs/red.json b/webserver/database/logs/red.json index 9ee7e55..3a24934 100644 --- a/webserver/database/logs/red.json +++ b/webserver/database/logs/red.json @@ -1 +1 @@ -[{"data": "141.89.221.182: start of attack", "timestamp": "1681455007"}, {"data": "141.89.221.182: command 0: ATTACK", "timestamp": "1681455007"}, {"data": "141.89.221.182: command 1: ATTACK", "timestamp": "1681455008"}, {"data": "141.89.221.182: command 2: ATTACK", "timestamp": "1681455008"}, {"data": "141.89.221.182: command 3: ATTACK", "timestamp": "1681455008"}, {"data": "141.89.221.182: command 4: ATTACK", "timestamp": "1681455008"}, {"data": "141.89.221.182: command 5: ATTACK", "timestamp": "1681455008"}, {"data": "141.89.221.182: command 6: ATTACK", "timestamp": "1681455008"}, {"data": "141.89.221.182: command 7: ATTACK", "timestamp": "1681455008"}, {"data": "141.89.221.182: command 8: ATTACK", "timestamp": "1681455008"}, {"data": "141.89.221.182: command 9: ATTACK", "timestamp": "1681455008"}, {"data": "141.89.221.182: command 10: ATTACK", "timestamp": "1681455009"}, {"data": "141.89.221.182: Start of post-exploitation", "timestamp": "1681455009"}] \ No newline at end of file +[{"data": "141.89.221.182: start of attack", "timestamp": "1681456600"}, {"data": "141.89.221.182: command 0: ATTACK", "timestamp": "1681456600"}, {"data": "141.89.221.182: command 1: ATTACK", "timestamp": "1681456601"}, {"data": "141.89.221.182: Start of post-exploitation", "timestamp": "1681456601"}] \ No newline at end of file diff --git a/webserver/database/temp/attack_start.txt b/webserver/database/temp/attack_start.txt index 65b9b1b..a230356 100644 --- a/webserver/database/temp/attack_start.txt +++ b/webserver/database/temp/attack_start.txt @@ -1 +1 @@ -1681455007 \ No newline at end of file +1681456600 \ No newline at end of file diff --git a/webserver/database/temp/sim_start.txt b/webserver/database/temp/sim_start.txt index d3f0c9c..7edec4f 100644 --- a/webserver/database/temp/sim_start.txt +++ b/webserver/database/temp/sim_start.txt @@ -1 +1 @@ -1681455000 \ No newline at end of file +1681456598 \ No newline at end of file diff --git a/webserver/templates/main/dashboard_main1.html b/webserver/templates/main/dashboard_main1.html index 52d1f71..bd135c2 100644 --- a/webserver/templates/main/dashboard_main1.html +++ b/webserver/templates/main/dashboard_main1.html @@ -1555,15 +1555,29 @@ } function add_info(blue) { + let idx = 2; blue.sort(timestamp_sort); let blue_count = blue.length; - if (blue_count > 1 && document.getElementById('attackstart').getAttribute('data-start') !== '-1') { - let t = to_min_s(document.getElementById('attackstart').getAttribute('data-start'), blue[1].timestamp); - blue.splice(1, 0, {data: `Time to respond: ${t}`, timestamp: parseInt(blue[1].timestamp)}) + if (blue_count > idx && document.getElementById('attackstart').getAttribute('data-start') !== '-1') { + let t = to_min_s(document.getElementById('attackstart').getAttribute('data-start'), blue[idx].timestamp); + if (parseInt(t.split('m')[0]) > 5) { + blue.splice(idx, 0, {data: `Time to respond: ${t}`, timestamp: parseInt(blue[idx].timestamp)}) + } + else { + blue.splice(idx, 0, {data: `Time to respond: ${t}`, timestamp: parseInt(blue[idx].timestamp)}) + } } } + function updateCounters(data) { + data.red.forEach(el => { + if (document.getElementById('simstart').getAttribute('data-start') !== '-1' && el.data.toLowerCase().includes("start of attack")) + document.getElementById('attackstart').setAttribute('data-start', el.timestamp); + }); + } + function populateTimeline(data) { + updateCounters(data); add_info(data.blue); data = flatten_dict(data); data.sort(timestamp_sort);