예제 #1
0
def execute_module(con, args, target, loggers, config_obj):
    if args.exec_method.lower() == "winrm" and args.module != "test_execution":
        loggers['console'].warning([
            con.host, con.ip,
            args.module.upper(),
            "WINRM Cannot be used for module execution outside of 'test_execution'"
        ])
        return
    try:
        module_class = get_module_class(args.module)
        class_obj = module_class()
        # Admin check for module
        if class_obj.requires_admin and not con.admin:
            loggers['console'].warning([
                con.host, con.ip,
                args.module.upper(),
                "{} requires administrator access".format(args.module)
            ])
            return

        populate_mod_args(class_obj, args.module_args, loggers['console'])
        loggers[args.mode].info("Module Execution\t{}\t{}\\{}\t{}".format(
            target, args.domain, args.user, args.module))
        class_obj.run(target, args, con, loggers, config_obj)
    except Exception as e:
        loggers['console'].fail([
            con.host, con.ip,
            args.module.upper(), "Error: {}".format(str(e))
        ])
예제 #2
0
def execute_module(con, args, target, loggers, config_obj):
    try:
        module_class = get_module_class(args.module)
        class_obj = module_class()
        populate_mod_args(class_obj, args.module_args, args.debug, loggers['console'])
        loggers[args.mode].info("Module Execution\t{}\t{}\\{}\t{}".format(target, args.domain, args.user, args.module))
        class_obj.run(target, args, con, loggers, config_obj)
    except Exception as e:
        loggers['console'].fail([con.host, con.ip, args.module.upper(), "Error: {}".format(str(e))])