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.
| 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) |