예제 #1
0
def get_creds():
    fn = cookie('netwitness')
    if not os.path.exists(fn):
        with fsemaphore(fn, 'wb') as f:
            f.lockex()
            while True:
                msg = 'Please enter your Netwitness credentials'
                fv = multpasswordbox(msg, 'Netwitness Credentials', ['Username:'******'Password:'******'username %s#password %s' % (nwu, nwp))
                break

    else:
        with fsemaphore(fn) as f:
            f.locksh()
            creds = f.read().split('#')
            for i in creds:
                if 'username' in i:
                    parse = i.split()
                    nwu = parse[1]
                if 'password' in i:
                    parse = i.split()
                    nwp = parse[1]

    return nwu, nwp
예제 #2
0
def updatelist(filename):
    f = fsemaphore(filename, 'wb')
    f.lockex()
    subdomains = config['dnsdiscovery/wordlist']
    f.write('\n'.join(subdomains))
    f.close()
    return subdomains
예제 #3
0
def updatelist(filename):
    topsites = wordlist('http://www.google.com/adplanner/static/top1000/', '<a href="http://(.*?)/"target')
    f = fsemaphore(filename, 'wb')
    f.lockex()
    f.write('\n'.join(topsites))
    f.close()
    return topsites
예제 #4
0
def login(host='localhost', port='8834', username='', password=''):
    s = None
    fn = cookie('%s.%s.nessus' % (host, port))
    if not os.path.exists(fn):
        with fsemaphore(fn, 'wb') as f:
            f.lockex()
            errmsg = ''
            while True:
                fv = multpasswordbox(
                    errmsg,
                    'Nessus Login',
                    ['Server:', 'Port:', 'Username:'******'Password:'],
                    [host, port, username, password]
                )
                if not fv:
                    f.close()
                    os.unlink(fn)
                    return
                host, port, username, password = fv
                try:
                    s = NessusXmlRpcClient(username, password, host, port)
                except NessusException, e:
                    errmsg = str(e)
                    continue
                except socket.error, e:
                    errmsg = str(e)
                    continue
                break
            f.write(urlencode(dict(host=host, port=port, token=s.token)))
예제 #5
0
def updatelist(filename):
    f = fsemaphore(filename, 'wb')
    f.lockex()
    subdomains = config['dnsdiscovery/wordlist']
    f.write('\n'.join(subdomains))
    f.close()
    return subdomains
예제 #6
0
def readlist(filename):
    f = fsemaphore(filename)
    f.locksh()
    data = wordlist('file://%s' % filename)
    f.close()
    return dict(
        map(lambda x: (int(x[0]), x[1]), map(lambda x: x.split(','), data)))
예제 #7
0
def login(**kwargs):
    s = None
    host = kwargs.get('host', config['msfrpcd/server'])
    port = kwargs.get('port', config['msfrpcd/port'])
    uri = kwargs.get('uri', config['msfrpcd/uri'])
    fn = cookie('%s.%s.%s.msfrpcd' % (host, port, uri.replace('/', '.')))
    if not path.exists(fn):
        f = fsemaphore(fn, 'wb')
        f.lockex()
        fv = [host, port, uri, 'msf']
        errmsg = ''
        while True:
            fv = multpasswordbox(
                errmsg, 'Metasploit Login',
                ['Server:', 'Port:', 'URI', 'Username:'******'Password:'], fv)
            if not fv:
                return
            try:
                s = MsfRpcClient(fv[4],
                                 server=fv[0],
                                 port=fv[1],
                                 uri=fv[2],
                                 username=fv[3])
            except MsfRpcError, e:
                errmsg = str(e)
                continue
            except socket.error, e:
                errmsg = str(e)
                continue
            break
예제 #8
0
def updatelist(filename):
    topsites = wordlist('http://www.google.com/adplanner/static/top1000/',
                        '<a href="http://(.*?)/"target')
    f = fsemaphore(filename, 'wb')
    f.lockex()
    f.write('\n'.join(topsites))
    f.close()
    return topsites
예제 #9
0
def updatelist(filename):

    f = fsemaphore(filename, 'wb')
    f.lockex()
    categories = wordlist('http://sitereview.cwfservice.net/catdesc.jsp?referrer=k9webprotection&host=%3Clocalserver%3E&port=%3Clocalport%3E', '>(\d+) - (.+?)<', ignore=None)
    for c in categories:
        f.write('%s\n' % ','.join(c))
    f.close()
    return dict(map(lambda x: (int(x[0]),x[1]), categories))
예제 #10
0
def updatelist(filename):
    topsites = []
    f = fsemaphore(filename, 'wb')
    f.lockex()
    for i in xrange(20):
        page = wordlist('http://www.alexa.com/topsites/global;%d' % i, '<a href="/siteinfo/(.+)?">')
        topsites += page
        f.write('\n'.join(page))
        f.write('\n')
    f.close()
    return topsites
예제 #11
0
def updatelist(filename):
    topsites = []
    f = fsemaphore(filename, 'wb')
    f.lockex()
    for i in xrange(0,20):
        page = wordlist('http://www.alexa.com/topsites/global;%d' % i, 'topsites-label">(.*?)</')
        topsites += page
        f.write('\n'.join(page))
        f.write('\n')
    f.close()
    return topsites
예제 #12
0
def updatelist(filename):

    f = fsemaphore(filename, 'wb')
    f.lockex()
    categories = wordlist(
        'http://sitereview.cwfservice.net/catdesc.jsp?referrer=k9webprotection&host=%3Clocalserver%3E&port=%3Clocalport%3E',
        '>(\d+) - (.+?)<',
        ignore=None)
    for c in categories:
        f.write('%s\n' % ','.join(c))
    f.close()
    return dict(map(lambda x: (int(x[0]), x[1]), categories))
예제 #13
0
def updatelist(filename):
    topsites = []
    f = fsemaphore(filename, 'wb')
    f.lockex()
    for i in xrange(20):
        page = wordlist('http://www.alexa.com/topsites/global;%d' % i,
                        '<a href="/siteinfo/(.+)?">')
        topsites += page
        f.write('\n'.join(page))
        f.write('\n')
    f.close()
    return topsites
예제 #14
0
def get_creds():
	fn = cookie('netwitness')
	if not path.exists(fn):
		f = fsemaphore(fn, 'wb')
		f.lockex()
		msg = 'Please enter your Netwitness credentials'
		fv = multpasswordbox(msg, 'Netwitness Credentials', ['Username:'******'Password:'******'username=%s#password=%s' % (nwu, nwp))
	else:
		f = fsemaphore(fn)
		f.locksh()
		creds = f.read().split('#')
		for i in creds:
			if 'username' in i:
				parse = i.split('=')
				nwu = parse[1]
			if 'password' in i:
				parse = i.split('=')
				nwp = parse[1]
	return nwu, nwp
예제 #15
0
def get_login():
    fn = cookie('pakey')
    if not path.exists(fn):
        f = fsemaphore(fn, 'wb')
        f.lockex()
        msg = "Please Enter the following Palo Alto Configuration"
        fv = easygui.multpasswordbox(msg, "PaloAlto Credentials", ['Username:'******'Password:'******'https://%s/api/?' % config['pamalt/pa_hostname']
        params_dic = {'type': 'keygen', 'user': pau, 'password': pap}

        enc_params = urllib.urlencode(params_dic)
        full_url = base_url + enc_params
        ret_data = http_get(full_url)
        root = ET.fromstring(ret_data)
        key = root[0][0].text
        f.write(key)
    else:
        f = fsemaphore(fn)
        f.locksh()
        key = f.read()
    return key
예제 #16
0
def updatelist(filename):

    f = fsemaphore(filename, 'wb')
    f.lockex()
    ouis = dict(
        map(
            lambda x: split(r'\s+\(base 16\)\s+', x),
            wordlist('http://standards.ieee.org/develop/regauth/oui/oui.txt',
                     r'([\d\w]{6}\s+\(base 16\)\s+\w.+)\n')))
    for o in ouis:
        f.write('%s\n' % ','.join([o, ouis[o]]))
    f.close()
    return ouis
예제 #17
0
def updatelist(filename):

    f = fsemaphore(filename, 'wb')
    f.lockex()
    ouis = dict(
        map(
            lambda x: split(r'\s+\(base 16\)\s+', x),
            wordlist('http://standards.ieee.org/develop/regauth/oui/oui.txt', r'([\d\w]{6}\s+\(base 16\)\s+\w.+)\n')
        )
    )
    for o in ouis:
        f.write('%s\n' % ','.join([o, ouis[o]]))
    f.close()
    return ouis
예제 #18
0
def get_login():
    fn = cookie('pakey')
    if not path.exists(fn):
        f = fsemaphore(fn, 'wb')
        f.lockex()
        msg = "Please Enter the following Palo Alto Configuration"
        fv = easygui.multpasswordbox(msg, "PaloAlto Credentials",
                                     ['Username:'******'Password:'******'https://%s/api/?' % config['pamalt/pa_hostname']
        params_dic = {'type': 'keygen', 'user': pau, 'password': pap}

        enc_params = urllib.urlencode(params_dic)
        full_url = base_url + enc_params
        ret_data = http_get(full_url)
        root = ET.fromstring(ret_data)
        key = root[0][0].text
        f.write(key)
    else:
        f = fsemaphore(fn)
        f.locksh()
        key = f.read()
    return key
예제 #19
0
def updatelist(filename):
    d = None
    with fsemaphore(filename, 'wb') as f:
        f.lockex()
        try:
            categories = wordlist(
                'http://sitereview.bluecoat.com/rest/categoryList?alpha=true',
                loads
            )
            d = dict([('%02x' % c['num'], c['name']) for c in categories])
            f.write(dumps(d))
        except Exception, e:
            f.close()
            os.unlink(tmpfile)
            raise e
예제 #20
0
def login():
    s = None
    fn = cookie('nessus')
    if not path.exists(fn):
        f = fsemaphore(fn, 'wb')
        f.lockex()
        fv = ['localhost', '8834']
        errmsg = ''
        while True:
            fv = multpasswordbox(errmsg, 'Nessus Login', ['Server:', 'Port:', 'Username:'******'Password:'******'host' : fv[0], 'port' : fv[1], 'token': s.token}))
예제 #21
0
def login():
    s = None
    fn = cookie('nessus')
    if not path.exists(fn):
        f = fsemaphore(fn, 'wb')
        f.lockex()
        fv = ['localhost', '8834']
        errmsg = ''
        while True:
            fv = multpasswordbox(
                errmsg, 'Nessus Login',
                ['Server:', 'Port:', 'Username:'******'Password:'******'host': fv[0], 'port': fv[1], 'token': s.token}))
예제 #22
0
def login(**kwargs):
    s = None
    host = kwargs.get('host', config['msfrpcd/server'])
    port = kwargs.get('port', config['msfrpcd/port'])
    uri = kwargs.get('uri', config['msfrpcd/uri'])
    fn = cookie('%s.%s.%s.msfrpcd' % (host, port, uri.replace('/', '.')))
    if not path.exists(fn):
        f = fsemaphore(fn, 'wb')
        f.lockex()
        fv = [ host, port, uri, 'msf' ]
        errmsg = ''
        while True:
            fv = multpasswordbox(errmsg, 'Metasploit Login', ['Server:', 'Port:', 'URI', 'Username:'******'Password:'], fv)
            if not fv:
                return
            try:
                s = MsfRpcClient(fv[4], server=fv[0], port=fv[1], uri=fv[2], username=fv[3])
            except MsfRpcError, e:
                errmsg = str(e)
                continue
            except socket.error, e:
                errmsg = str(e)
                continue
            break
예제 #23
0
    if not path.exists(fn):
        f = fsemaphore(fn, 'wb')
        f.lockex()
        fv = ['localhost', '8834']
        errmsg = ''
        while True:
            fv = multpasswordbox(errmsg, 'Nessus Login', ['Server:', 'Port:', 'Username:'******'Password:'******'host' : fv[0], 'port' : fv[1], 'token': s.token}))
    else:
        f = fsemaphore(fn)
        f.locksh()
        try:
            d = dict(parse_qsl(f.read()))
            s = NessusXmlRpcClient(**d)
        except NessusSessionException:
            unlink(fn)
            return login()
    return s


def policy(s):
    ps = s.policies.list
    c = choicebox('Select a Nessus scanning policy', 'Nessus Policies', ps)
    if c is None:
        return None
예제 #24
0
def readlist(filename):
    f = fsemaphore(filename)
    f.locksh()
    data = wordlist('file://%s' % filename)
    f.close()
    return dict(map(lambda x: (int(x[0]),x[1]), map(lambda x: x.split(','), data)))
예제 #25
0
            break
        f.write(
            urlencode({
                'host': fv[0],
                'port': fv[1],
                'uri': fv[2],
                'token': s.sessionid
            }))
        f.unlock()

        if 'db' not in s.db.status:
            s.db.connect(config['metasploit/dbusername'],
                         database=config['metasploit/dbname'],
                         driver=config['metasploit/dbdriver'],
                         host=config['metasploit/dbhost'],
                         port=config['metasploit/dbport'],
                         password=config['metasploit/dbpassword'])
    else:
        f = fsemaphore(fn)
        f.locksh()
        try:
            d = dict(parse_qsl(f.read()))
            s = MsfRpcClient('', **d)
        except MsfRpcError:
            unlink(fn)
            return login()
        except socket.error:
            unlink(fn)
            return login()
    return s
예제 #26
0
def readlist(filename):
    f = fsemaphore(filename)
    f.locksh()
    data = wordlist('file://%s' % filename)
    f.close()
    return data
예제 #27
0
                 f.close()
                 os.unlink(fn)
                 return
             host, port, username, password = fv
             try:
                 s = NessusXmlRpcClient(username, password, host, port)
             except NessusException, e:
                 errmsg = str(e)
                 continue
             except socket.error, e:
                 errmsg = str(e)
                 continue
             break
         f.write(urlencode(dict(host=host, port=port, token=s.token)))
 else:
     with fsemaphore(fn) as f:
         f.locksh()
         try:
             d = dict(parse_qsl(f.read()))
             s = NessusXmlRpcClient(**d)
             policies = s.policies.list
         except NessusException:
             os.unlink(fn)
             return login()
         except NessusSessionException:
             os.unlink(fn)
             return login()
         except socket.error:
             os.unlink(fn)
             return login()
 return s
예제 #28
0
def readlist(filename):
    with fsemaphore(filename) as f:
        f.locksh()
        data = wordlist('file://%s' % filename, loads)
    return data
예제 #29
0
파일: alexa.py 프로젝트: Pr0hest/sploitego
def readlist(filename):
    f = fsemaphore(filename)
    f.locksh()
    data = wordlist('file://%s' % filename)
    f.close()
    return data