asset_group=form.vars.f_asset_group, engineer=form.vars.f_engineer, msf_settings=msf_settings, ip_ignore_list=ip_exclude, ip_include_list=ip_include, update_hosts=form.vars.f_update_hosts, ), group_name=settings.scheduler_group_name, sync_output=5, timeout=settings.scheduler_timeout ) if task.id: redirect(URL('tasks', 'status', args=task.id)) else: response.flash = "Error submitting job: %s" % (task.errors) else: from skaldship.nessus import process_scanfile logger.info("Starting Nessus Report Import") response.flash = process_scanfile( filename=filename, asset_group=form.vars.f_asset_group, engineer=form.vars.f_engineer, msf_settings=msf_settings, ip_ignore_list=ip_exclude, ip_include_list=ip_include, update_hosts=form.vars.f_update_hosts, ) redirect(URL('default', 'index')) return dict(form=form)
def scanner_import(scanner=None, filename=None, addnoports=False, asset_group=None, engineer=None, msf_settings={}, ip_ignore_list=None, ip_include_list=None, update_hosts=False, **kwargs): """ Imports a Scanner XML file to Kvasir """ if not isinstance(scanner, str): return False scanner = scanner.upper() if scanner == 'NMAP': from skaldship.nmap import process_xml logger.info("Processing nmap file: %s" % (filename)) process_xml( filename=filename, addnoports=addnoports, asset_group=asset_group, engineer=engineer, msf_settings=msf_settings, ip_ignore_list=ip_ignore_list, ip_include_list=ip_include_list, update_hosts=update_hosts, ) elif scanner == 'NEXPOSE': from skaldship.nexpose import process_xml logger.info("Processing Nexpose file: %s" % (filename)) process_xml( filename=filename, asset_group=asset_group, engineer=engineer, msf_settings=msf_settings, ip_ignore_list=ip_ignore_list, ip_include_list=ip_include_list, update_hosts=update_hosts, ) elif scanner == 'NESSUS': from skaldship.nessus import process_scanfile logger.info("Processing Nessus file: %s" % (filename)) process_scanfile( filename=filename, asset_group=asset_group, engineer=engineer, msf_settings=msf_settings, ip_ignore_list=ip_ignore_list, ip_include_list=ip_include_list, update_hosts=update_hosts, ) elif scanner == 'METASPLOIT': from skaldship.metasploit import process_report_xml logger.info("Processing Metasploit Pro file: %s" % filename) process_report_xml( filename=filename, asset_group=asset_group, engineer=engineer, ip_ignore_list=ip_ignore_list, ip_include_list=ip_include_list, update_hosts=update_hosts, ) elif scanner == 'SHODANHQ': from skaldship.shodanhq import process_report logger.info("Processing ShodanHQ file: %s" % (filename)) process_report( filename=filename, host_list=kwargs.get('hosts') or [], query=kwargs.get('query') or None, asset_group=asset_group, engineer=engineer, ip_ignore_list=ip_ignore_list, ip_include_list=ip_include_list, update_hosts=update_hosts, ) return True
filename=filename, asset_group=form.vars.f_asset_group, engineer=form.vars.f_engineer, msf_settings=msf_settings, ip_ignore_list=ip_exclude, ip_include_list=ip_include, update_hosts=form.vars.f_update_hosts, ), group_name=settings.scheduler_group_name, sync_output=5, timeout=settings.scheduler_timeout) if task.id: redirect(URL('tasks', 'status', args=task.id)) else: response.flash = "Error submitting job: %s" % (task.errors) else: from skaldship.nessus import process_scanfile logger.info("Starting Nessus Report Import") response.flash = process_scanfile( filename=filename, asset_group=form.vars.f_asset_group, engineer=form.vars.f_engineer, msf_settings=msf_settings, ip_ignore_list=ip_exclude, ip_include_list=ip_include, update_hosts=form.vars.f_update_hosts, ) redirect(URL('default', 'index')) return dict(form=form)
def scanner_import( scanner=None, filename=None, addnoports=False, asset_group=None, engineer=None, msf_settings={}, ip_ignore_list=None, ip_include_list=None, update_hosts=False, **kwargs ): """ Imports a Scanner XML file to Kvasir """ if not isinstance(scanner, str): return False scanner = scanner.upper() if scanner == 'NMAP': from skaldship.nmap import process_xml logger.info("Processing nmap file: %s" % (filename)) process_xml( filename=filename, addnoports=addnoports, asset_group=asset_group, engineer=engineer, msf_settings=msf_settings, ip_ignore_list=ip_ignore_list, ip_include_list=ip_include_list, update_hosts=update_hosts, ) elif scanner == 'NEXPOSE': from skaldship.nexpose import process_xml logger.info("Processing Nexpose file: %s" % (filename)) process_xml( filename=filename, asset_group=asset_group, engineer=engineer, msf_settings=msf_settings, ip_ignore_list=ip_ignore_list, ip_include_list=ip_include_list, update_hosts=update_hosts, ) elif scanner == 'NESSUS': from skaldship.nessus import process_scanfile logger.info("Processing Nessus file: %s" % (filename)) process_scanfile( filename=filename, asset_group=asset_group, engineer=engineer, msf_settings=msf_settings, ip_ignore_list=ip_ignore_list, ip_include_list=ip_include_list, update_hosts=update_hosts, ) elif scanner == 'METASPLOIT': from skaldship.metasploit.pro import process_report_xml logger.info("Processing Metasploit Pro file: %s" % filename) process_report_xml( filename=filename, asset_group=asset_group, engineer=engineer, ip_ignore_list=ip_ignore_list, ip_include_list=ip_include_list, update_hosts=update_hosts, ) elif scanner == 'SHODANHQ': from skaldship.shodanhq import process_report logger.info("Processing ShodanHQ file: %s" % (filename)) process_report( filename=filename, host_list=kwargs.get('hosts') or [], query=kwargs.get('query') or None, asset_group=asset_group, engineer=engineer, ip_ignore_list=ip_ignore_list, ip_include_list=ip_include_list, #update_hosts=update_hosts, ) return True