def import_pwdump(): """Downloads a pwdump loot and processes it""" workspace = session.msf_workspace alert = False error = None response.title = "%s :: Import Metasploit PWDUMP Loot" % (settings.title) try: from MetasploitAPI import MetasploitAPI, MSFAPIError except ImportError, error: return dict(alert=True, error=str(error), form=None) msf = MetasploitAPI(host=auth.user.f_msf_pro_url, apikey=auth.user.f_msf_pro_key) try: msf.login() data = msf.loot_list(workspace) except MSFAPIError, error: return dict(alert=True, error=str(error), form=None) if not alert: loot_list = [] # list of loot IDs and IPs loot_hosts = {} # mapping of IP to loot IDs for k,v in data.iteritems(): if v['ltype'] == 'host.windows.pwdump' or v['ltype'] == 'windows.hashes': loot_list.append([k, v['host']]) loot_hosts.setdefault(v['host'], k) form=SQLFORM.factory( Field('hosts', 'list', requires=IS_IN_SET(loot_list, multiple=True), label=T('Host')), Field('host_text', 'text', label=T('Host list (1 per line)')), Field('addevidence', 'boolean', label=T('Add to Evidence')),
def import_pwdump(): """Downloads a pwdump loot and processes it""" msf_settings = msf_get_config(session) alert = False error = None response.title = "%s :: Import Metasploit PWDUMP Loot" % (settings.title) try: from MetasploitAPI import MetasploitAPI, MSFAPIError except ImportError, error: return dict(alert=True, error=str(error), form=None) msf = MetasploitAPI(host=msf_settings['url'], apikey=msf_settings['key']) try: msf.login() data = msf.loot_list(msf_settings['workspace']) except MSFAPIError, error: return dict(alert=True, error=str(error), form=None) if not alert: loot_list = [] # list of loot IDs and IPs loot_hosts = {} # mapping of IP to loot IDs for k,v in data.iteritems(): if v['ltype'] == 'host.windows.pwdump' or v['ltype'] == 'windows.hashes': loot_list.append([k, v['host']]) loot_hosts.setdefault(v['host'], k) form=SQLFORM.factory( Field('hosts', 'list', requires=IS_IN_SET(loot_list, multiple=True), label=T('Host')), Field('host_text', 'text', label=T('Host list (1 per line)')), Field('addevidence', 'boolean', label=T('Add to Evidence')),