The OpenNET Project
 
Search (keywords):  SOFT ARTICLES TIPS & TRICKS SECURITY
LINKS NEWS MAN DOCUMENTATION


[NEWS] Cisco Router Web Setup Ships with Insecure Default IOS Configuration


<< Previous INDEX Search src / Print Next >>
From: SecuriTeam <support@securiteam.com.>
To: [email protected]
Date: 16 Jul 2006 12:54:41 +0200
Subject: [NEWS] Cisco Router Web Setup Ships with Insecure Default IOS Configuration
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <20060717105440.E82485C4C@mail.tyumen.ru.>
X-Virus-Scanned: antivirus-gw at tyumen.ru

The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com
- - promotion

The SecuriTeam alerts list - Free, Accurate, Independent.

Get your security news from a reliable source.
http://www.securiteam.com/mailinglist.html 

- - - - - - - - -




  Cisco Router Web Setup Ships with Insecure Default IOS Configuration
------------------------------------------------------------------------


SUMMARY

Successful exploitation of this vulnerability may allow for the execution 
of commands on the device at any privilege level, up to and including 
privilege level 15. Accessing the device at privilege level 15 would 
enable total control of the device, including but not limited to device 
configuration changes and device reloading.

DETAILS

Vulnerable Systems:
 * Cisco 806
 * Cisco 826
 * Cisco 827
 * Cisco 827H
 * Cisco 827-4v
 * Cisco 828
 * Cisco 831
 * Cisco 836
 * Cisco 837
 * Cisco SOHO 71
 * Cisco SOHO 76
 * Cisco SOHO 77
 * Cisco SOHO 77H
 * Cisco SOHO 78
 * Cisco SOHO 91
 * Cisco SOHO 96
 * Cisco SOHO 97

The Cisco Router Web Setup tool (CRWS) provides a graphical user interface 
(GUI) for configuring Cisco SOHO and Cisco 800 series routers, and allows 
users to set up their routers quickly and easily. The GUI is accessed 
through the Cisco IOS HTTP server, which is enabled on the default IOS 
configuration shipped with the CRWS application.

The Cisco IOS HTTP server uses the enable password (assuming one has been 
configured) as its default authentication mechanism. Other authentication 
mechanisms can be configured, including the use of a local user database, 
an external RADIUS (Remote Authentication Dial In User Service) or an 
external TACACS+ (Terminal Access Controller Access Control System) 
server. The default IOS configuration shipped with the CRWS application 
does not include an enable password or an enable secret command, allowing 
access to the Cisco IOS HTTP server interface at any privilege level, up 
to and including privilege level 15, without providing authentication 
credentials. Privilege level 15 is the highest privilege level on Cisco 
IOS devices.

The default Cisco IOS configuration shipped with the Cisco Router Web 
Setup (CRWS) application allows the execution of commands at privilege 
level 15 through the Cisco IOS HTTP (Hypertext Transfer Protocol) server 
web interface without requiring authentication credentials.

Workaround:
There are multiple workarounds to mitigate this vulnerability. Existing 
CRWS customers, and customers upgrading to a new CRWS version from a 
previous one, should deploy one of the following workarounds if vulnerable 
to this issue. Upgrading to a new CRWS version is not enough to eliminate 
this vulnerability.

 * Workaround 1 Disabling the Cisco IOS HTTP Server Functionality


Customers not using the CRWS application to configure or manage their 
devices and not needing the functionality provided by the Cisco IOS HTTP 
server can disable it by adding the following commands to their device 
configuration:

          no ip http server
          no ip http secure-server


      The second command might return an error message if the Cisco IOS 
version installed and running on the device does not support the SSL 
functionality. This error message is harmless and can be safely ignored.

 * Workaround 2 Enabling Authentication of Requests to the Cisco IOS HTTP 
Server by Configuring an Enable Password


Customers using the CRWS application to configure or manage their devices, 
or requiring the functionality provided by the Cisco IOS HTTP server must 
configure an authentication mechanism for access to the Cisco IOS HTTP 
server interface. One of those options is to configure an enable secret or 
enable password password. The enable password is the default 
authentication mechanism used by the Cisco IOS HTTP server if no other 
method has been configured.

In order to configure an enable secret password, add the following command 
to the device configuration:

          enable secret <mypassword>


Replace <mypassword> with a strong password of your choosing. For guidance 
on strong passwords, please refer to your site security policy. The 
document entitled "Cisco IOS Password Encryption Facts", available at 
http://www.cisco.com/en/US/tech/tk59/technologies_tech_note09186a00801d7efa.shtml explains the differences between the enable secret and the enable password commands.

 * Workaround 3 Enabling Authentication of Requests to the Cisco IOS HTTP 
Server by using an Authentication Mechanism Other than the Default


      Configure an authentication mechanism for access to the Cisco IOS 
HTTP server other than the default. Such authentication mechanisms can be 
the local user database, or a previously defined AAA (Authentication, 
Authorization and Accounting) method. As the procedure to enable an 
authentication mechanism for the Cisco IOS HTTP server varies across Cisco 
IOS releases and other additional factors, no example will be provided. 
Customers looking for information about how to configure an authentication 
mechanism for the Cisco IOS HTTP server are encouraged to read the 
document entitled "AAA Control of the IOS HTTP Server", available at 
http://www.cisco.com/en/US/tech/tk59/technologies_tech_note09186a008069bdc5.shtml.

      Note: The only authentication method tested and supported for use 
with the CRWS application is the local user database. No other methods 
(including the use of an external RADIUS or TACACS+ server) are supported.


In addition to those workarounds, it is highly recommended that customers 
limit access to their Cisco IOS HTTP server to only trusted management 
workstations. Information on how to restrict access to the Cisco IOS HTTP 
server based on IP addresses can be found at  
<http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/ffun_c/ffcprt1/fcf005.htm#1000973> http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/ffun_c/ffcprt1/fcf005.htm#1000973

Vendor Status:
To resolve this vulnerability, Cisco has made changes to the default IOS 
configuration shipped with the CRWS application and to the CRWS 
application itself. Those changes are as follows:

  * The addition of a default username and password combination to be used 
during initial device configuration.


 Note:  CRWS will prompt the user to change those default credentials 
during its first invocation. It is strongly recommended for customers to 
remove those default credentials from the device configuration by using 
the Cisco IOS CLI (command line interface) if not planning to use the CRWS 
application for device configuration.
  * The addition of an authentication mechanism for the Cisco IOS HTTP 
server to authenticate users based on the local user database.

  * The addition of an access restriction to only allow connections to the 
Cisco IOS HTTP server from the internal network, using the addressing 
schema from the default IOS configuration shipped with CRWS.


  * The addition of a login banner, displayed on connections to the device 
through Telnet or the console port, reminding users to remove the default 
credentials.


  * The addition of an authentication mechanism to the console port to 
authenticate users based on the local user database.


  * A modification to the CRWS application to force users to change the 
default credentials the first time they access the CRWS GUI.


  * A modification to the CRWS application to allow users to enable or 
disable access to the IOS HTTP server interface from the public interface.


This vulnerability is documented by the following Cisco bug ID:

  * CSCsa78190 ( registered customers only)


Note:  Implementation of the available workarounds require manual 
configuration to mitigate the impact of this vulnerability for existing 
CRWS customers, even if upgrading to a fixed version of software.

Devices using CRWS for configuration and management are affected by this 
vulnerability if the following conditions are met:

 * The current device configuration is based on the default IOS 
configuration shipped with the CRWS application, and


 * the Cisco IOS HTTP server, which is enabled in the default IOS 
configuration shipped with CRWS, has not been disabled by the user, and


 * no additional authentication mechanism (for example, local user 
database, RADIUS, TACACS+) has been defined for access to the IOS HTTP 
server, or no enable password or enable secret is present in the 
configuration.


The following procedure can be used to determine if a given device is 
vulnerable:

 1. Is the Cisco IOS HTTP server enabled on the device?

   * YES Proceed to step 2.
   * NO The device is not vulnerable.


 2. Is there an authentication mechanism configured for access to the IOS 
HTTP server interface?

   * YES The device is not vulnerable.
   * NO Proceed to step 3.


 3. Is there an enable password or an enable secret configured on the 
device?

   * YES The device is not vulnerable.
   * NO The device is vulnerable. Please read the Software Versions and 
Fixes section and the Workarounds sections of this security advisory.


The following step-by-step procedure can be used in order to obtain the 
information needed to answer the questions in the previous procedure:

 1. In order to determine if the Cisco IOS HTTP server is enabled on the 
device, execute the following command from a privileged CLI prompt:

          show running-config | include ip http


The following example shows a device on which the Cisco IOS HTTP server is 
enabled:

          Router#show running-config | include ip http
          ip http server
          Router#


The following example shows a device on which the Cisco IOS HTTP server is 
disabled:

          Router#show running-config | include ip http
          no ip http server
          Router#


Note:  Newer versions of the Cisco IOS HTTP server provide SSL (Secure 
Sockets Layer) encryption. This vulnerability can also be exploited if the 
SSL-enabled Cisco IOS HTTP server is enabled on the configuration. The 
following example shows a device on which the standard Cisco IOS HTTP 
server is disabled, but the SSL-enabled Cisco IOS HTTP server is enabled:

          Router#show running-config | include ip http
          no ip http server
          ip http secure-server
          Router#


 2. In order to determine if an authentication mechanism has been applied 
to the Cisco IOS HTTP server, execute the following command from a 
privileged CLI prompt:

          show running-config | include ip http


The following example shows a device on which the Cisco IOS HTTP server is 
enabled and the local authentication mechanism has been configured:

          Router#show running-config | include ip http
          ip http server
          ip http authentication local
          no ip http secure-server
          Router#


The absence of an ip http authentication line on the device configuration 
implies that the Cisco IOS HTTP server will use the enable secret or 
enable password (if so configured) as the authentication mechanism. 
Additional information on AAA mechanisms available for the Cisco IOS HTTP 
server can be found in the document entitled "AAA Control of the IOS HTTP 
Server", available at  
<http://www.cisco.com/en/US/tech/tk59/technologies_tech_note09186a008069bdc5.shtml>; http://www.cisco.com/en/US/tech/tk59/technologies_tech_note09186a008069bdc5.shtml .
 3. In order to determine if an enable password or enable secret has been 
configured, execute the following command from a privileged CLI prompt:

          show running-config | include enable [secret|password]


The following example shows a device on which an enable secret password 
has been configured:

          Router#show running-config | include enable [secret|password]
          enable secret 5 $1$1yfp$qM7qAChXVXYp8ee2qm2Kf/
          Router#


The following example shows a device on which no enable password or enable 
secret has been configured:

          Router#show running-config | include enable [secret|password]
          Router#


ADDITIONAL INFORMATION

The information has been provided by  <mailto:psirt@cisco.com.> Cisco 
Security.
The original article can be found at:  
<http://www.cisco.com/warp/public/707/cisco-sa-20060712-crws.shtml>; 
http://www.cisco.com/warp/public/707/cisco-sa-20060712-crws.shtml




This bulletin is sent to members of the SecuriTeam mailing list. To unsubscribe from the list, send mail with an empty subject line and body to: [email protected] In order to subscribe to the mailing list, simply forward this email to: [email protected]

DISCLAIMER: The information in this bulletin is provided "AS IS" without warranty of any kind. In no event shall we be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages.

<< Previous INDEX Search src / Print Next >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру