From 542eb6e3017bb7823db876122aa976f80abbc43b Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Tue, 18 Nov 2014 11:20:41 -0600 Subject: [PATCH] Handle exception in brute force exploits --- modules/auxiliary/scanner/misc/sunrpc_portmapper.rb | 2 +- modules/exploits/aix/rpc_cmsd_opcode21.rb | 6 ++++-- .../exploits/solaris/sunrpc/sadmind_adm_build_path.rb | 9 ++++++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/modules/auxiliary/scanner/misc/sunrpc_portmapper.rb b/modules/auxiliary/scanner/misc/sunrpc_portmapper.rb index 1be0154715..8c7fa985c9 100644 --- a/modules/auxiliary/scanner/misc/sunrpc_portmapper.rb +++ b/modules/auxiliary/scanner/misc/sunrpc_portmapper.rb @@ -35,7 +35,7 @@ class Metasploit3 < Msf::Auxiliary progver = 2 procedure = 4 - return unless sunrpc_create('udp', program, progver) + sunrpc_create('udp', program, progver) sunrpc_authnull resp = sunrpc_call(procedure, "") diff --git a/modules/exploits/aix/rpc_cmsd_opcode21.rb b/modules/exploits/aix/rpc_cmsd_opcode21.rb index 3dac383686..ad11665a90 100644 --- a/modules/exploits/aix/rpc_cmsd_opcode21.rb +++ b/modules/exploits/aix/rpc_cmsd_opcode21.rb @@ -103,9 +103,11 @@ class Metasploit3 < Msf::Exploit::Remote sunrpc_destroy rescue Rex::Proto::SunRPC::RPCTimeout - # print_error('RPCTimeout') + vprint_error('RPCTimeout') + rescue Rex::Proto::SunRPC::RPCError => e + vprint_error(e.to_s) rescue EOFError - # print_error('EOFError') + vprint_error('EOFError') end end diff --git a/modules/exploits/solaris/sunrpc/sadmind_adm_build_path.rb b/modules/exploits/solaris/sunrpc/sadmind_adm_build_path.rb index 16bdfc348a..0a6caf1ee7 100644 --- a/modules/exploits/solaris/sunrpc/sadmind_adm_build_path.rb +++ b/modules/exploits/solaris/sunrpc/sadmind_adm_build_path.rb @@ -98,7 +98,12 @@ class Metasploit3 < Msf::Exploit::Remote end def brute_exploit(brute_target) - sunrpc_create('udp', 100232, 10) + begin + sunrpc_create('udp', 100232, 10) + rescue Rex::Proto::SunRPC::RPCTimeout, Rex::Proto::SunRPC::RPCError => e + vprint_error(e.to_s) + return + end unless @nops print_status('Creating nop block...') @@ -145,6 +150,8 @@ class Metasploit3 < Msf::Exploit::Remote sunrpc_call(1, request, 2) rescue Rex::Proto::SunRPC::RPCTimeout print_status('Server did not respond, this is expected') + rescue Rex::Proto::SunRPC::RPCError => e + print_error(e.to_s) end sunrpc_destroy