Add timeout to MSF RPC initial connection

This commit is contained in:
Brendan Coles
2016-07-04 10:53:37 +00:00
parent 9e3385cf4c
commit d3a30a9b18

View File

@@ -16,7 +16,19 @@ module BeEF
# Load modules from metasploit just after all other module config is loaded
def self.post_soft_load
msf = BeEF::Extension::Metasploit::RpcClient.instance
if msf.login
timeout = 10
connected = false
Timeout.timeout(timeout) do
begin
print_status "Connecting to Metasploit on #{BeEF::Core::Configuration.instance.get('beef.extension.metasploit.host')}:#{BeEF::Core::Configuration.instance.get('beef.extension.metasploit.port')}"
connected = msf.login
rescue Timeout::Error
return
end
end
if connected
msf_module_config = {}
path = BeEF::Core::Configuration.instance.get('beef.extension.metasploit.path')
if !BeEF::Core::Console::CommandLine.parse[:resetdb] && File.exists?("#{path}msf-exploits.cache")