change override_execute so that it will pass the hooked browser session so we can both override functionality and add commands
git-svn-id: https://beef.googlecode.com/svn/trunk@1350 b87d56ec-f9c0-11de-8c8a-61c5e9addfc9
This commit is contained in:
@@ -55,9 +55,10 @@ module API
|
||||
|
||||
# Fired just before a module is executed
|
||||
# @param [String] mod module key
|
||||
# @param [String] hbsession hooked browser session id
|
||||
# @param [Hash] opts a Hash of options
|
||||
# @note Hooking this API method stops the default flow of the Module.execute() method.
|
||||
def override_execute(mod, opts); end
|
||||
def override_execute(mod, hbsession, opts); end
|
||||
|
||||
# Fired when retreiving dynamic payload
|
||||
# @return [Hash] a hash of options
|
||||
|
||||
@@ -417,8 +417,8 @@ module Module
|
||||
print_error "Module not found '#{mod}'. Failed to execute module."
|
||||
return false
|
||||
end
|
||||
if BeEF::API::Registra.instance.matched?(BeEF::API::Module, 'override_execute', [mod, nil])
|
||||
BeEF::API::Registra.instance.fire(BeEF::API::Module, 'override_execute', mod, opts)
|
||||
if BeEF::API::Registra.instance.matched?(BeEF::API::Module, 'override_execute', [mod, nil,nil])
|
||||
BeEF::API::Registra.instance.fire(BeEF::API::Module, 'override_execute', mod, hbsession,opts)
|
||||
# @note We return true by default as we cannot determine the correct status if multiple API hooks have been called
|
||||
return true
|
||||
end
|
||||
|
||||
@@ -40,7 +40,7 @@ module API
|
||||
msf_module_config.each{|k,v|
|
||||
BeEF::API::Registra.instance.register(BeEF::Extension::Metasploit::API::MetasploitHooks, BeEF::API::Module, 'get_options', [k])
|
||||
BeEF::API::Registra.instance.register(BeEF::Extension::Metasploit::API::MetasploitHooks, BeEF::API::Module, 'get_payload_options', [k,nil])
|
||||
BeEF::API::Registra.instance.register(BeEF::Extension::Metasploit::API::MetasploitHooks, BeEF::API::Module, 'override_execute', [k, nil])
|
||||
BeEF::API::Registra.instance.register(BeEF::Extension::Metasploit::API::MetasploitHooks, BeEF::API::Module, 'override_execute', [k, nil, nil])
|
||||
print_over "Loaded #{count} Metasploit exploits."
|
||||
count += 1
|
||||
}
|
||||
@@ -71,7 +71,7 @@ module API
|
||||
}
|
||||
BeEF::API::Registra.instance.register(BeEF::Extension::Metasploit::API::MetasploitHooks, BeEF::API::Module, 'get_options', [key])
|
||||
BeEF::API::Registra.instance.register(BeEF::Extension::Metasploit::API::MetasploitHooks, BeEF::API::Module, 'get_payload_options', [key,nil])
|
||||
BeEF::API::Registra.instance.register(BeEF::Extension::Metasploit::API::MetasploitHooks, BeEF::API::Module, 'override_execute', [key, nil])
|
||||
BeEF::API::Registra.instance.register(BeEF::Extension::Metasploit::API::MetasploitHooks, BeEF::API::Module, 'override_execute', [key, nil, nil])
|
||||
print_over "Loaded #{count} Metasploit exploits."
|
||||
count += 1
|
||||
end
|
||||
@@ -110,7 +110,7 @@ module API
|
||||
end
|
||||
|
||||
# Execute function for all metasploit exploits
|
||||
def self.override_execute(mod, opts)
|
||||
def self.override_execute(mod, hbsession, opts)
|
||||
msf = BeEF::Extension::Metasploit::RpcClient.instance
|
||||
msf_key = BeEF::Core::Configuration.instance.get("beef.module.#{mod}.msf_key")
|
||||
msf_opts = {}
|
||||
|
||||
Reference in New Issue
Block a user