def runModule(category_choosed, dpapi_used=True, registry_used=True, system_module=False): categories = [category_choosed ] if category_choosed != 'all' else get_categories() for category in categories: for r in launch_module(modules[category], dpapi_used, registry_used, system_module): yield r
def runModule(category_choosed, need_high_privileges=False, need_system_privileges=False, not_need_to_be_in_env=False, cannot_be_impersonate_using_tokens=False): categories = [category_choosed ] if category_choosed != 'all' else get_categories() for category in categories: for r in launch_module(modules[category]): yield r
def runModule(category_choosed, dpapi_used=True, registry_used=True, system_module=False): constant.module_to_exec_at_end = [] categories = [category_choosed] if category_choosed != 'all' else get_categories() for category in categories: for r in launch_module(modules[category], dpapi_used, registry_used, system_module): yield r if constant.module_to_exec_at_end: # These modules will need the windows user password to be able to decrypt dpapi blobs constant.dpapi = Decrypt_DPAPI(password=constant.user_password) # Add username to check username equals passwords constant.passwordFound.append(constant.username) constant.dpapi.check_credentials(constant.passwordFound) for module in constant.module_to_exec_at_end: for m in run_module(title=module['title'], module=module['module']): yield m
# Configuration from lazagne.config.header import Header from lazagne.config.write_output import write_header, write_footer, print_footer, print_debug, parseJsonResultToBuffer, print_output from lazagne.config.constant import * from lazagne.config.manageModules import get_categories, get_modules from lazagne.config.changePrivileges import ListSids, rev2self, impersonate_sid_long_handle sys.setrecursionlimit( 10000 ) # workaround to this error: RuntimeError: maximum recursion depth exceeded while calling a Python object # Tab containing all passwords stdoutRes = [] category = get_categories() moduleNames = get_modules() # Define a dictionary for all modules modules = {} for categoryName in category: modules[categoryName] = {} # Add all modules to the dictionary for module in moduleNames: modules[module.category][module.options['dest']] = module modules['mails']['thunderbird'] = Mozilla( True) # For thunderbird (firefox and thunderbird use the same class) def output():
import os # Useful for the pupy project sys.setrecursionlimit( 10000 ) # workaround to this error: RuntimeError: maximum recursion depth exceeded while calling a Python object # Object used to manage the output / write functions (cf write_output file) constant.st = StandartOutput() # Tab containing all passwords stdoutRes = [] modules = {} # Define a dictionary for all modules for category in get_categories(): modules[category] = {} # Add all modules to the dictionary for module in get_modules(): modules[module.category][module.options['dest']] = module modules['mails']['thunderbird'] = Mozilla( True) # For thunderbird (firefox and thunderbird use the same class) def output(): if args['output']: if os.path.isdir(args['output']): constant.folder_name = args['output'] else: print '[!] Specify a directory, not a file !'
from lazagne.config.manageModules import get_categories, get_modules from lazagne.config.header import Header from lazagne.config.constant import * import argparse import time, sys, os import logging import shutil import json import getpass import traceback import ctypes # Tab containing all passwords stdoutRes = [] category = get_categories() moduleNames = get_modules() # Define a dictionary for all modules modules = {} for categoryName in category: modules[categoryName] = {} # Add all modules to the dictionary for module in moduleNames: modules[module.category][module.options['dest']] = module modules['mails']['thunderbird'] = Mozilla(True) # For thunderbird (firefox and thunderbird use the same class) def output(): if args['write_normal']: constant.output = 'txt'