def credentials(self): credentials = [] passwords = SizeList() users = SizeList() mails = SizeList() program = self.getDbGenericDic('ProgramAnalyze', self.partition_) for user in program: user = program[user] for creds in [('GetIE7Passwords', 'Internet Explorer'), ('GetFirefoxPasswords', 'Firefox'), ('GetChromePasswords', 'Chrome'), ('GetSafariPasswords', 'Safari'), ('GetTrillianAccounts', 'Trillian'), ('GetGTalkAccounts', 'GTalk')]: software = creds[1] creds = user.get(creds[0], {}) for cred in creds: cred = creds[cred] if type(cred) is not dict: continue dic = { 'password': cred['password'], 'login': cred['login'], 'domain': cred.get('domain', ''), 'software': software } if not dic in credentials: credentials.append(dic) passwords.add(cred['password']) login = cred['login'] users.add(login) if isMail(login): mails.add(login) for forms in ['GetFirefoxHistory', 'GetChromeHistory']: forms = user.get(forms, {'forms': {}}) forms = forms['forms'] for form in forms: form = forms[form] value = form['value'] if form['fieldname'].lower() in [ 'username', 'user', 'login' ]: users.add(value) if isMail(value): mails.add(value) self.credentials_ = credentials self.passwords_ = passwords.getList() self.users_ = users.getList() self.mails_ = mails.getList()
def run(self): dic = self.getDbGenericDic('ProgramAnalyze', self.partition_) if dic == None: self.domains_ = [] return domains = SizeList() for user in dic: user = dic[user] if not type(user) == dict: continue for name in [ 'GetIEHistory', 'GetChromeHistory', 'GetFirefoxHistory', 'GetSafariHistory' ]: places = user.get(name) if places == None: continue places = places.get('places') if places == None: continue for place in places: place = places[place] if place['domain'] != None: domains.add(place['domain']) self.domains_ = domains.getTuples()