forked from p15670423/monkey
Extracted json parsing to scan.py
This commit is contained in:
parent
fec0791c7b
commit
a330dc1bb7
|
@ -1,6 +1,7 @@
|
||||||
import copy
|
import copy
|
||||||
|
|
||||||
from monkey_island.cc.database import mongo
|
from monkey_island.cc.database import mongo
|
||||||
|
from monkey_island.cc.models import Monkey
|
||||||
from monkey_island.cc.services.telemetry.processing.utils import get_edge_by_scan_or_exploit_telemetry
|
from monkey_island.cc.services.telemetry.processing.utils import get_edge_by_scan_or_exploit_telemetry
|
||||||
from monkey_island.cc.services.telemetry.zero_trust_tests.data_endpoints import test_open_data_endpoints
|
from monkey_island.cc.services.telemetry.zero_trust_tests.data_endpoints import test_open_data_endpoints
|
||||||
from monkey_island.cc.services.telemetry.zero_trust_tests.segmentation import test_segmentation_violation
|
from monkey_island.cc.services.telemetry.zero_trust_tests.segmentation import test_segmentation_violation
|
||||||
|
@ -9,7 +10,10 @@ from monkey_island.cc.services.telemetry.zero_trust_tests.segmentation import te
|
||||||
def process_scan_telemetry(telemetry_json):
|
def process_scan_telemetry(telemetry_json):
|
||||||
update_edges_and_nodes_based_on_scan_telemetry(telemetry_json)
|
update_edges_and_nodes_based_on_scan_telemetry(telemetry_json)
|
||||||
test_open_data_endpoints(telemetry_json)
|
test_open_data_endpoints(telemetry_json)
|
||||||
test_segmentation_violation(telemetry_json)
|
|
||||||
|
current_monkey = Monkey.get_single_monkey_by_guid(telemetry_json['monkey_guid'])
|
||||||
|
target_ip = telemetry_json['data']['machine']['ip_addr']
|
||||||
|
test_segmentation_violation(current_monkey, target_ip)
|
||||||
|
|
||||||
|
|
||||||
def update_edges_and_nodes_based_on_scan_telemetry(telemetry_json):
|
def update_edges_and_nodes_based_on_scan_telemetry(telemetry_json):
|
||||||
|
|
|
@ -39,11 +39,9 @@ def is_segmentation_violation(current_monkey, target_ip, source_subnet, target_s
|
||||||
return cross_segment_ip is not None
|
return cross_segment_ip is not None
|
||||||
|
|
||||||
|
|
||||||
def test_segmentation_violation(scan_telemetry_json):
|
def test_segmentation_violation(current_monkey, target_ip):
|
||||||
# TODO - lower code duplication between this and report.py.
|
# TODO - lower code duplication between this and report.py.
|
||||||
# TODO - single machine
|
# TODO - single machine
|
||||||
current_monkey = Monkey.get_single_monkey_by_guid(scan_telemetry_json['monkey_guid'])
|
|
||||||
target_ip = scan_telemetry_json['data']['machine']['ip_addr']
|
|
||||||
subnet_groups = get_config_network_segments_as_subnet_groups()
|
subnet_groups = get_config_network_segments_as_subnet_groups()
|
||||||
for subnet_group in subnet_groups:
|
for subnet_group in subnet_groups:
|
||||||
subnet_pairs = itertools.product(subnet_group, subnet_group)
|
subnet_pairs = itertools.product(subnet_group, subnet_group)
|
||||||
|
|
Loading…
Reference in New Issue