def wf_site_list(): libvmintgr.site_extraction(scanner) libvmintgr.asset_extraction(scanner) for i in scanner.sitelist.keys(): s = scanner.sitelist[i] sys.stdout.write('%s %s %d\n' % \ (s['id'].ljust(6), s['name'].ljust(30), len(s['assets'])))
def wf_cvemode(targetcve): libvmintgr.printd('starting cve report workflow...') libvmintgr.site_extraction(scanner) libvmintgr.asset_extraction(scanner) libvmintgr.vuln_extraction(scanner, vmconfig.vulnquery_where, writefile=vulns_writefile, readfile=vulns_readfile, targetcve=targetcve)
def wf_escalations(): libvmintgr.printd('starting escalation workflow...') libvmintgr.site_extraction(scanner) libvmintgr.asset_extraction(scanner) libvmintgr.escalate_vulns(vmconfig.escdir, scanner, vmconfig.escalate_vulns, vmconfig.escalate_compliance) libvmintgr.escalate_hints(vmconfig.escdir, scanner, vmconfig.escalate_hints, vmconfig.vulnquery_where)
def wf_group_list(): libvmintgr.printd('starting asset group list workflow...') libvmintgr.site_extraction(scanner) libvmintgr.asset_extraction(scanner) for i in scanner.grouplist.keys(): grpent = scanner.grouplist[i] sys.stdout.write('%s %s\n' % \ (str(i).ljust(6), grpent['name']))
def wf_vuln_proc(): libvmintgr.printd('executing vulnerability processing automation...') libvmintgr.site_extraction(scanner) libvmintgr.asset_extraction(scanner) libvmintgr.vuln_extraction(scanner, vmconfig.vulnquery_where, writefile=vulns_writefile, readfile=vulns_readfile)
def wf_device_auth_fail(): libvmintgr.printd('executing device authentication failure workflow...') libvmintgr.site_extraction(scanner) libvmintgr.asset_extraction(scanner) ret = libvmintgr.generate_report(scanner, vmconfig.devauth_report) faildata = libvmintgr.nexpose_parse_custom_authfail(scanner, ret) # XXX Add exemption handling here, probably based on a wildcard host # match or CIDR match for ln in faildata: sys.stdout.write('%s %s %s %s\n' % \ (ln['ip'].ljust(17), ln['hostname'].ljust(60), ln['credstatus'].ljust(10), ln['sites']))
def wf_hostquery(targethosts): libvmintgr.printd('starting host query workflow...') thostbuf = [] fd = open(targethosts, 'r') thostbuf = [x.strip() for x in fd.readlines()] fd.close() libvmintgr.site_extraction(scanner) libvmintgr.asset_extraction(scanner) wherebuf = libvmintgr.build_targethost_where(scanner, thostbuf) libvmintgr.vuln_extraction(scanner, wherebuf, writefile=vulns_writefile, readfile=vulns_readfile, targethosts=True)
def wf_asset_dump(): libvmintgr.printd('starting asset dump workflow...') libvmintgr.site_extraction(scanner) libvmintgr.asset_extraction(scanner) for s in scanner.sitelist: sys.stdout.write('# %s\n' % scanner.sitelist[s]['name']) for a in scanner.sitelist[s]['assets']: sys.stdout.write('%s ' % a['address']) hname = a['hostname'] if hname == None or hname == '': sys.stdout.write('unknown\n') else: sys.stdout.write('%s\n' % hname)
def wf_asset_grouping(): libvmintgr.printd('starting asset grouping workflow...') libvmintgr.site_extraction(scanner) libvmintgr.asset_extraction(scanner) libvmintgr.asset_grouping(scanner)
def wf_site_sync(): libvmintgr.printd('executing site device sync workflow...') libvmintgr.site_extraction(scanner) libvmintgr.asset_extraction(scanner) for i in vmconfig.devsync_map.keys(): libvmintgr.site_update_from_files(scanner, i, vmconfig.devsync_map[i])
def wf_auto_purge(): libvmintgr.printd('starting asset purge workflow...') libvmintgr.site_extraction(scanner) libvmintgr.asset_extraction(scanner) libvmintgr.group_purge(scanner, vmconfig.purge_groupid)
def wf_adhocgroup(targetgroup): libvmintgr.printd('starting adhoc group creation mode...') libvmintgr.site_extraction(scanner) libvmintgr.asset_extraction(scanner) libvmintgr.adhoc_group(scanner, targetgroup)