def get_tunnel_telem_brief(telem): tunnel = telem['data']['proxy'] if tunnel is None: return 'No tunnel is used.' else: tunnel_host_ip = tunnel.split(":")[-2].replace("//", "") tunnel_host = NodeService.get_monkey_by_ip(tunnel_host_ip)['hostname'] return 'Tunnel set up to machine: %s.' % tunnel_host
def get_edge_by_scan_or_exploit_telemetry(telemetry_json): dst_ip = telemetry_json['data']['machine']['ip_addr'] dst_domain_name = telemetry_json['data']['machine']['domain_name'] src_monkey = NodeService.get_monkey_by_guid(telemetry_json['monkey_guid']) dst_node = NodeService.get_monkey_by_ip(dst_ip) if dst_node is None: dst_node = NodeService.get_or_create_node(dst_ip, dst_domain_name) return EdgeService.get_or_create_edge(src_monkey["_id"], dst_node["_id"])
def get_tunnel_telem_brief(telem): tunnel = telem["data"]["proxy"] if tunnel is None: return "No tunnel is used." else: tunnel_host_ip = tunnel.split(":")[-2].replace("//", "") tunnel_host = NodeService.get_monkey_by_ip( tunnel_host_ip)["hostname"] return "Tunnel set up to machine: %s." % tunnel_host
def get_edge_by_scan_or_exploit_telemetry(telemetry_json): dst_ip = telemetry_json["data"]["machine"]["ip_addr"] dst_domain_name = telemetry_json["data"]["machine"]["domain_name"] src_monkey = NodeService.get_monkey_by_guid(telemetry_json["monkey_guid"]) dst_node = NodeService.get_monkey_by_ip(dst_ip) if dst_node is None: dst_node = NodeService.get_or_create_node(dst_ip, dst_domain_name) src_label = NodeService.get_label_for_endpoint(src_monkey["_id"]) dst_label = NodeService.get_label_for_endpoint(dst_node["_id"]) return EdgeService.get_or_create_edge(src_monkey["_id"], dst_node["_id"], src_label, dst_label)
def get(self): client_ip = request.remote_addr if client_ip == "127.0.0.1": monkey = NodeService.get_monkey_island_monkey() else: monkey = NodeService.get_monkey_by_ip(client_ip) NodeService.update_dead_monkeys() if monkey is not None: is_monkey_running = not monkey["dead"] else: logger.info("Monkey is not running") is_monkey_running = False return jsonify(is_running=is_monkey_running)