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:
sussurro@happypacket.net
2011-10-04 16:57:11 +00:00
parent 91f7583015
commit 988e7b010e
3 changed files with 7 additions and 6 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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 = {}