Do not wait for the DCERPC call to timeout

git-svn-id: file:///home/svn/framework3/trunk@11545 4d416f70-5f16-0410-b530-b9f4589650da
This commit is contained in:
Joshua Drake
2011-01-11 17:56:27 +00:00
parent 18ee35149a
commit ffbea6199f
3 changed files with 5 additions and 5 deletions
+2 -2
View File
@@ -128,12 +128,12 @@ module Exploit::Remote::DCERPC
end
end
def dcerpc_call(function, stub = '', timeout=nil)
def dcerpc_call(function, stub = '', timeout=nil, do_recv=true)
otimeout = dcerpc.options['read_timeout']
begin
dcerpc.options['read_timeout'] = timeout if timeout
dcerpc.call(function, stub)
dcerpc.call(function, stub, do_recv)
rescue ::Rex::Proto::SMB::Exceptions::NoReply, Rex::Proto::DCERPC::Exceptions::NoResponse
print_status("The DCERPC service did not reply to our request")
return
@@ -214,7 +214,7 @@ class Metasploit3 < Msf::Exploit::Remote
print_status('Sending exploit ...')
begin
dcerpc_call(0, stubdata)
dcerpc_call(0, stubdata, nil, false)
rescue Rex::Proto::DCERPC::Exceptions::NoResponse
end
@@ -311,8 +311,8 @@ class Metasploit3 < Msf::Exploit::Remote
print_status("Calling the vulnerable function...")
begin
dcerpc.call(0x1f, stub)
dcerpc.call(0x1f, stub)
dcerpc.call(0x1f, stub, false)
dcerpc.call(0x1f, stub, false)
rescue Rex::Proto::DCERPC::Exceptions::NoResponse
rescue => e
if e.to_s !~ /STATUS_PIPE_DISCONNECTED/