Ejemplo n.º 1
0
    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()
Ejemplo n.º 2
0
    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()