def _initialize(self, module_name): """Read configuration. @param module_name: module name. """ self.module_name = module_name mmanager_opts = self.options.get(module_name) for machine_id in mmanager_opts["machines"].strip().split(","): try: machine_opts = self.options.get(machine_id.strip()) machine = Dictionary() machine.id = machine_id.strip() machine.label = machine_opts[self.LABEL] machine.platform = machine_opts["platform"] machine.tags = machine_opts.get("tags") machine.ip = machine_opts["ip"] # If configured, use specific network interface for this # machine, else use the default value. if machine_opts.get("interface"): machine.interface = machine_opts["interface"] else: machine.interface = mmanager_opts.get("interface") # If configured, use specific snapshot name, else leave it # empty and use default behaviour. machine.snapshot = machine_opts.get("snapshot") # If configured, use specific resultserver IP and port, # else use the default value. opt_resultserver = self.options_globals.resultserver # the resultserver port might have been dynamically changed # -> get the current one from the resultserver singelton opt_resultserver.port = ResultServer().port ip = machine_opts.get("resultserver_ip", opt_resultserver.ip) port = machine_opts.get("resultserver_port", opt_resultserver.port) machine.resultserver_ip = ip machine.resultserver_port = port # Strip parameters. for key, value in machine.items(): if value and isinstance(value, basestring): machine[key] = value.strip() self.db.add_machine(name=machine.id, label=machine.label, ip=machine.ip, platform=machine.platform, tags=machine.tags, interface=machine.interface, snapshot=machine.snapshot, resultserver_ip=ip, resultserver_port=port) except (AttributeError, CuckooOperationalError) as e: log.warning("Configuration details about machine %s " "are missing: %s", machine_id.strip(), e) continue
def vm_conf(request): cfg = Config() machinery_name = cfg.cuckoo.machinery vm_conf = Config( os.path.join(CUCKOO_ROOT, "conf", "%s.conf" % machinery_name)) options = vm_conf.get(machinery_name) machines = [] #pprint.pprint(options) if options.get("machines"): for machine_id in options.get("machines").strip().split(","): machine_opts = vm_conf.get(machine_id.strip()) machine = Dictionary() machine.id = machine_id.strip() machine.label = machine_opts["label"] machine.platform = machine_opts["platform"] machine.tags = machine_opts.get("tags", None) machine.ip = machine_opts["ip"] machine.snapshot = machine_opts.get("snapshot", None) machines.append(machine) else: machines = None return render_to_response("analysis/vm_conf.html", { "machines": machines, "options": options, "machinery": machinery_name }, context_instance=RequestContext(request))
def vm_conf(request): cfg = Config() machinery_name = cfg.cuckoo.machinery vm_conf = Config(os.path.join(CUCKOO_ROOT, "conf", "%s.conf" % machinery_name)) options = vm_conf.get(machinery_name) machines = [] #pprint.pprint(options) if options.get("machines"): for machine_id in options.get("machines").strip().split(","): machine_opts = vm_conf.get(machine_id.strip()) machine = Dictionary() machine.id = machine_id.strip() machine.label = machine_opts["label"] machine.platform = machine_opts["platform"] machine.tags = machine_opts.get("tags", None) machine.ip = machine_opts["ip"] machine.snapshot = machine_opts.get("snapshot", None) machines.append(machine) else: machines = None return render_to_response("analysis/vm_conf.html", {"machines": machines, "options": options, "machinery": machinery_name}, context_instance=RequestContext(request))
def _initialize(self, module_name): """Read configuration. @param module_name: module name. """ self.module_name = module_name mmanager_opts = self.options.get(module_name) for machine_id in mmanager_opts["machines"].strip().split(","): try: machine_opts = self.options.get(machine_id.strip()) machine = Dictionary() machine.id = machine_id.strip() machine.label = machine_opts[self.LABEL] machine.platform = machine_opts["platform"] machine.tags = machine_opts.get("tags") machine.ip = machine_opts["ip"] # If configured, use specific network interface for this # machine, else use the default value. machine.interface = machine_opts.get("interface") # If configured, use specific snapshot name, else leave it # empty and use default behaviour. machine.snapshot = machine_opts.get("snapshot") # If configured, use specific resultserver IP and port, # else use the default value. opt_resultserver = self.options_globals.resultserver # the resultserver port might have been dynamically changed # -> get the current one from the resultserver singelton opt_resultserver.port = ResultServer().port ip = machine_opts.get("resultserver_ip", opt_resultserver.ip) port = machine_opts.get("resultserver_port", opt_resultserver.port) machine.resultserver_ip = ip machine.resultserver_port = port # Strip parameters. for key, value in machine.items(): if value and isinstance(value, basestring): machine[key] = value.strip() self.db.add_machine(name=machine.id, label=machine.label, ip=machine.ip, platform=machine.platform, tags=machine.tags, interface=machine.interface, snapshot=machine.snapshot, resultserver_ip=ip, resultserver_port=port) except (AttributeError, CuckooOperationalError) as e: log.warning( "Configuration details about machine %s " "are missing: %s", machine_id.strip(), e) continue
def _initialize(self, module_name): """Read configuration. @param module_name: module name. """ self.module_name = module_name mmanager_opts = self.options.get(module_name) for machine_id in mmanager_opts["machines"].strip().split(","): try: machine_opts = self.options.get(machine_id.strip()) machine = Dictionary() machine.id = machine_id.strip() machine.label = machine_opts["label"] machine.platform = machine_opts["platform"] machine.tags = machine_opts.get("tags", None) machine.ip = machine_opts["ip"] # If configured, use specific network interface for this # machine, else use the default value. machine.interface = machine_opts.get("interface", None) # If configured, use specific snapshot name, else leave it # empty and use default behaviour. machine.snapshot = machine_opts.get("snapshot", None) # If configured, use specific resultserver IP and port, # else use the default value. opt_resultserver = self.options_globals.resultserver ip = machine_opts.get("resultserver_ip", opt_resultserver.ip) port = machine_opts.get("resultserver_port", opt_resultserver.port) machine.resultserver_ip = ip machine.resultserver_port = port # Strip params. for key in machine.keys(): if machine[key]: # Only strip strings if isinstance(machine[key], (str, unicode)): machine[key] = machine[key].strip() self.db.add_machine(name=machine.id, label=machine.label, ip=machine.ip, platform=machine.platform, tags=machine.tags, interface=machine.interface, snapshot=machine.snapshot, resultserver_ip=ip, resultserver_port=port) except (AttributeError, CuckooOperationalError) as e: log.warning( "Configuration details about machine %s " "are missing: %s", machine_id, e) continue
def _initialize(self, module_name): """Read configuration. @param module_name: module name. """ self.module_name = module_name mmanager_opts = self.options.get(module_name) for machine_id in mmanager_opts["machines"].strip().split(","): try: machine_opts = self.options.get(machine_id.strip()) machine = Dictionary() machine.id = machine_id.strip() machine.label = machine_opts["label"] machine.platform = machine_opts["platform"] machine.tags = machine_opts.get("tags", None) machine.ip = machine_opts["ip"] # If configured, use specific network interface for this # machine, else use the default value. machine.interface = machine_opts.get("interface", None) # If configured, use specific snapshot name, else leave it # empty and use default behaviour. machine.snapshot = machine_opts.get("snapshot", None) # If configured, use specific resultserver IP and port, # else use the default value. opt_resultserver = self.options_globals.resultserver ip = machine_opts.get("resultserver_ip", opt_resultserver.ip) port = machine_opts.get("resultserver_port", opt_resultserver.port) machine.resultserver_ip = ip machine.resultserver_port = port # Strip params. for key in machine.keys(): if machine[key]: # Only strip strings if isinstance(machine[key], (str, unicode)): machine[key] = machine[key].strip() self.db.add_machine(name=machine.id, label=machine.label, ip=machine.ip, platform=machine.platform, tags=machine.tags, interface=machine.interface, snapshot=machine.snapshot, resultserver_ip=ip, resultserver_port=port) except (AttributeError, CuckooOperationalError) as e: log.warning("Configuration details about machine %s " "are missing: %s", machine_id, e) continue
def _initialize(self, module_name): """Read configuration. @param module_name: module name. """ self.module_name = module_name mmanager_opts = self.options.get(module_name) for name in mmanager_opts["machines"].split(","): if not name.strip(): continue try: options = self.options.get(name.strip()) machine = Dictionary() machine.name = name.strip() machine.label = options[self.LABEL] machine.platform = options["platform"] machine.tags = options.get("tags") machine.ip = options["ip"] # If configured, use specific network interface for this # machine, else use the default value. machine.interface = options.get("interface") # If configured, use specific snapshot name, else leave it # empty and use default behaviour. machine.snapshot = options.get("snapshot") machine.rdp_port = options.get("rdp_port", "") # If configured, use specific resultserver IP and port, # else use the default value. opt_resultserver = self.options_globals.resultserver if "resultserver_ip" in options and "resultserver_port" in options: machine.resultserver_ip = options["resultserver_ip"] machine.resultserver_port = options["resultserver_port"] else: machine.resultserver_ip = opt_resultserver.ip machine.resultserver_port = opt_resultserver.port # Strip parameters. for key, value in machine.items(): if value and isinstance(value, basestring): machine[key] = value.strip() experiment = self.db.view_experiment(machine_name=machine.name) if experiment is not None: machine.locked_by = experiment.id else: machine.locked_by = None self.db.add_machine(name=machine.name, label=machine.label, ip=machine.ip, platform=machine.platform, tags=machine.tags, interface=machine.interface, snapshot=machine.snapshot, resultserver_ip=machine.resultserver_ip, resultserver_port=machine.resultserver_port, rdp_port=machine.rdp_port, locked_by=machine.locked_by) except (AttributeError, CuckooOperationalError) as e: log.warning("Configuration details about machine %s " "are missing: %s", name, e) continue