Nipper


Cisco Catalyst Security Report

of the

switch02 Cisco Catalyst


Contents

1. About This Report
    1.1. Organisation
    1.2. Conventions
2. Security Audit
    2.1. Introduction
    2.2. Dictionary-based Passwords / Keys
    2.3. Weak Passwords / Keys
    2.4. Configuration Auto-Loading
    2.5. Directed Broadcasts
    2.6. Inbound TCP Connection Keep Alives
    2.7. Connection Timeout
    2.8. Auxiliary Port
    2.9. Finger
    2.10. HyperText Transport Protocol Service
    2.11. Simple Network Management Protocol
    2.12. Telnet
    2.13. ICMP Redirects
    2.14. Access Control Lists
    2.15. Switch Port Trunking
    2.16. Switch Port Security
    2.17. Logging
    2.18. Proxy ARP
    2.19. SSH Protocol Version
    2.20. Cisco Discovery Protocol
    2.21. Minimum Password Length
    2.22. BOOTP
    2.23. TCP and UDP Small Servers
    2.24. IP Unreachables
    2.25. ICMP Mask Reply
    2.26. Enable Secret
    2.27. Service Password Encryption
    2.28. Login Banner
    2.29. Domain Lookups
    2.30. Packet Assembler / Disassembler
    2.31. Maintenance Operations Protocol
    2.32. Conclusions
3. Device Configuration
    3.1. Introduction
    3.2. General
    3.3. Services
    3.4. Domain Name Settings
    3.5. Time Zone Settings
    3.6. User Accounts and Privilages
    3.7. Simple Network Management Protocol
    3.8. Lines
    3.9. Interfaces
    3.10. VTP Configuration
    3.11. Switchport Configuration
    3.12. Access Control List
4. Appendix
    4.1. Abbreviations
    4.2. Common Ports
    4.3. Logging Severity Levels
    4.4. Time Zones
    4.5. Nipper Details


1. About This Report

1.1. Organisation

This Cisco Catalyst switch02 report was produced by Nipper on Saturday 22 March 2008. The report contains the following sections:
 

1.2. Conventions

This report makes use of the text conventions outlined in Table 1.
 
Table 1: Report text conventions
Convention Description
command
This text style represents the Cisco Catalyst command text that has to be entered literally.
string
This text style represents the Cisco Catalyst command text that the you have to enter.
[ ]
Used to enclose a Cisco Catalyst command option.
{ }
Used to enclose a Cisco Catalyst command requirement.
|
Divides command option or requirement choices.
 

2. Security Audit

2.1. Introduction

Nipper performed a security audit of the Cisco Catalyst switch02 on Saturday 22 March 2008. This section details the findings of the security audit together with the impact and recommendations.
 

2.2. Dictionary-based Passwords / Keys

Observation: Attackers will often have dictionaries of words that contain names, places, default passwords and other common passwords. If a password or key is likely to be contained within an attacker's dictionary, they could gain access to the system.
 
The passwords and keys of the device switch02 were tested against a small dictionary and nine passwords / keys were identified. These are listed in Table 2.
 
Table 2: Dictionary-based passwords / keys
Type Service Username Password
PasswordEnableLevel 15cisco
PasswordUserstestuserpassword
PasswordUserstemppassword
CommunitySNMPread-onlypublic
CommunitySNMPread/writeprivate
CommunitySNMPHost: 192.168.20.30private
CommunitySNMPHost: 192.168.20.40private
PasswordLineConsole line 0password
PasswordLineVTY lines 0 - 4password
 
Impact: An attacker who was able to identify a password or key would be able to gain a level of access to the device, based on what service the password / key was used for.
 
Ease: Tools are available on the Internet that can perform dictionary-based password guessing against a number of network services.
 
Recommendation: Nipper strongly recommends that the passwords identified be immediately changed to something that is more difficult to guess. Nipper recommends that passwords be made up of at least eight characters in length and contain either uppercase or lowercase characters and numbers.
 

2.3. Weak Passwords / Keys

Observation: Strong passwords tend to contain a number of different types of character, such as uppercase and lowercase letters, numbers and punctuation characters. Weaker passwords tend not to contain a mixture of character types. Additionally, weaker passwords tend to be short in length.
 
Nipper identified nine passwords / keys that did not meet the minimum password complexity requirements. These are listed in Table 3.
 
Table 3: Weak passwords / keys
Type Service Username Password
PasswordEnableLevel 15cisco
PasswordUserstestuserpassword
PasswordUserstemppassword
CommunitySNMPread-onlypublic
CommunitySNMPread/writeprivate
CommunitySNMPHost: 192.168.20.30private
CommunitySNMPHost: 192.168.20.40private
PasswordLineConsole line 0password
PasswordLineVTY lines 0 - 4password
 
Impact: If an attacker were able to gain a password or key, either through dictionary-based guessing techniques or by a brute-force method, the attacker could gain a level of access to switch02.
 
Ease: A number of dictionary-based password guessing and password brute-force tools are available on the Internet.
 
Recommendation: Nipper strongly recommends that the weak passwords be immediately changed to ones that are stronger. Nipper recommends that passwords be made up of at least eight characters in length and contain either uppercase or lowercase characters and numbers.
 

2.4. Configuration Auto-Loading

Observation: Cisco devices are capable of loading their configuration from other network devices, rather than using a local configuration file.
 
Although the configuration auto-loading feature is typically disabled by default on Cisco devices, Nipper determined that the switch02 had configuration auto-loading enabled.
 
Impact: The Cisco device configuration files are transmitted unencrypted over the network. An attacker who is able to monitor the network would be able to capture a copy of the device configuration. The attacker would also be able to capture any clear-text passwords or password hashes contained within the configuration file.
 
Ease: Tools are widely available on the Internet that would allow an attacker to capture network traffic and reconstruct network streams.
 
Recommendation: Nipper recommends that, if not required, configuration auto-loading be disabled. The following Cisco Internet Operating System (IOS) commands can be used to disable configuration auto-loading:
 
no boot network
 
no service config

 

2.5. Directed Broadcasts

Observation: Internet Control Message Protocol (ICMP) echo requests can be addressed to an entire network or subnet as well as to individual hosts. Disabling directed broadcasts on each individual network interface will help prevent network ping requests. Directed broadcasts are usually enabled by default on Cisco devices running IOS version 11.3 and earlier.
 
Nipper determined that the device switch02 had support for directed broadcasts enabled on the network interfaces listed in Table 4.
 
Table 4: Interfaces with directed broadcasts enabled
Interface Description
GigabitEthernet1/1First interface on switch
GigabitEthernet1/2Second interface on switch
 
Impact: A Denial of Service (DoS) attack exists that makes use of network echo requests, known as a smurf attack. An attacker would send an ICMP echo request with the victim hosts IP address spoofed as the source. The hosts on the network would then reply to the echo request, flooding the victim host.
 
Ease: Tools are available on the Internet that can perform the smurf attack outlined above.
 
Recommendation: Nipper recommends that directed broadcasts be disabled on all network interfaces. Directed broadcasts can be disabled on each individual network interface using the following command:
 
no ip directed broadcast

 

2.6. Inbound TCP Connection Keep Alives

Observation: Connections to a Cisco Catalyst device could become orphaned if a connection becomes disrupted. An attacker could attempt a DoS attack against a Cisco Catalyst by exhausting the number of possible connections. Transmission Control Protocol (TCP) keep alive messages can be configured to confirm that a remote connection is valid and then terminate any orphaned connections.
 
Nipper determined that TCP keep alive messages are not sent for connections from remote hosts.
 
Impact: An attacker could attempt a DoS by exhausting the number of possible connections.
 
Ease: Tools are available on the Internet that can open large numbers of TCP connections without correctly terminating them.
 
Recommendation: Nipper recommends that TCP keep alive messages be sent to detect and drop orphaned connections from remote systems. TCP keep alive messages can be enabled for connections from remote systems using the following command:
 
service tcp-keepalives-in

 

2.7. Connection Timeout

Observation: Connection timeouts can be configured for a number of the device services. If a timeout were configured on an administrative service, an administrator that did not correctly terminate the connection would have it automatically closed after the timeout expires. However, if a timeout is not configured, or is configured to be a long timeout, an unauthorised user may be able to gain access using the administrator's previously logged-in connection.
 
Nipper identified three connection settings that were not configured to timeout within ten minutes, these are listed in Table 5.
 
Table 5: Connections with inadequate timeout periods
Connection Timeout
Console line 0Session Timeout: 25 minutes
Auxiliary line 0Session Timeout: 25 minutes
VTY lines 0 to 4No Timeout
 
Impact: An attacker who was able to gain access to a connection that had not expired, would be able to continue using that connection. A connection could be a console port on the device that was not correctly terminated or a remote administrative connection.
 
Ease: The attacker would have to gain physical access to the device to use the console port, or gain remote access to an administration machine that is attached to the port. To gain access to remote connections, an attacker would have to be able to intercept network traffic between the client and switch02. The attacker would then have to take over the connection, which could be very difficult with some services. Tools are available on the Internet that would facilitate the monitoring of network connections.
 
Recommendation: Nipper recommends that a timeout period of ten minutes be configured for connections to the device switch02.
 

2.8. Auxiliary Port

Observation: The auxiliary port's primary purpose is to provide a remote administration capability. It can allow a remote administrator to use a modem to dial into the Cisco device.
 
Nipper determined that the auxiliary port on the Cisco device switch02 allowed exec connections and did not appear to have the callback feature configured.
 
Impact: An attacker may discover the modem number for the device during a war-dial. If an attacker were able to connect to the device remotely, then they may be able to brute-force the login to gain access to the device.
 
Ease: The attacker would have to first identify the telephone number of the device, probably through a war-dial. A modem attached to a telephone line would have to be attached directly to the Cisco device's auxiliary port. Then the attacker would be able to attach to the device in order to perform a brute-force of the login.
 
Recommendation: Nipper recommends that, if not required, the auxiliary port exec be disabled. Exec can be disabled on the aux port with the following command:
 
no exec
 
If the auxiliary port is required for remote administration, the callback feature can be configured to dial a specific preconfigured telephone number.
 

2.9. Finger

Observation: The finger service was traditionally installed by default on UNIX-based operating systems, though more recently it is disabled by default. The finger service is started by default on Cisco devices and was not explicitly disabled on switch02.
 
Impact: A malicious user could use the finger service to gain information about users logged in to the device.
 
Ease: Tools for querying the finger service are widely available on the Internet and some operating systems include the tools by default.
 
Recommendation: Nipper recommends that, if not required, the finger service be disabled. Users who do not have authenticated access to the device do not normally need to know who is logged in to the device. Users who have authenticated access to the device are able to log in and show the current users using the following Cisco IOS command:
 
show users
 
The following Cisco IOS commands can be used to disable the finger service:
 
no ip finger
 
no service finger

 

2.10. HyperText Transport Protocol Service

Observation: Recent Cisco IOS-based devices support web-based administration using the HTTP protocol. Cisco web-based administration facilities can sometimes be basic but they do provide a simple method of administering remote devices. However, HTTP is a clear-text protocol and is vulnerable to various packet-capture techniques.
 
Even though the HTTP service had not been configured, it can be enabled by default on some Cisco devices.
 
Impact: An attacker who was able to monitor network traffic could capture authentication credentials.
 
Ease: Network packet and password sniffing tools are widely available on the Internet. Once authentication credentials have been captured it is trivial to use the credentials to log in using the captured credentials.
 
Recommendation: Nipper recommends that, if not required, the HTTP service be disabled. If a remote method of access to the device is required, consider using HTTPS or Secure Shell (SSH). The encrypted HTTPS and SSH services may require a firmware or hardware upgrade. The HTTP service can be disabled with the following IOS command:
 
no ip http server
 
If it is not possible to upgrade the device to use the encrypted HTTPS or SSH services, additional security can be configured. An access list can be configured to restrict access to the device. An access list can be specified with the following command:
 
ip http access-class {access list number}

 
The authentication method can be changed using the following command (where the authentication method is either local, enable, tacacs or aaa):
 
ip http authentication [authentication method]

 

2.11. Simple Network Management Protocol

Observation: Simple Network Management Protocol (SNMP) is widely used to assist network administrators in monitoring and managing a variety of network devices. There are three main versions of SNMP in use. Versions 1 and 2 of SNMP are secured with a community string, both authenticate and transmit network packets with no encryption. SNMP version 3 provides three authentication methods. SNMP version 3 No-Auth access requires a username to authenticate and provides no encryption. SNMP version 3 Auth access requires a username and the auth keyword, authentication is encrypted but SNMP network packets are transmitted with no encryption. SNMP version 3 Auth and Priv access requires a username, auth and priv keywords. SNMP version 3 Auth and Priv access provides complete encryption of authentication and SNMP network packets.
 
Nipper determined that SNMP protocol version 1 was configured on switch02.
 
Impact: Due to the unencrypted nature of SNMP protocol versions 1 and 2c, an attacker who was able to monitor network traffic could capture device configuration settings, including authentication details.
 
Ease: Network packet monitoring and capture tools are widely available on the Internet and SNMP tools are included as standard with some operating systems.
 
Recommendation: Nipper recommends that, if possible, SNMP version 1 be disabled. Furthermore, Nipper recommends that, if SNMP is required, protocol version 3 be configured with Auth and Priv authentication. SNMP protocol version 1 can be disabled with the following command for each community string:
 
no snmp-server community {Community String} {[RO] | [RW]}
 
SNMP version 3 Auth and Priv access can be configured with the following commands:
 
snmp-server group {Group Name} v3 priv
 
snmp-server user {Username} {Group Name} v3 auth md5 {Auth Keyword} priv {[3des] | [aes 128] | [aes 192]} {Priv Keyword}

 

2.12. Telnet

Observation: Telnet is widely used to provide remote command-based access to a variety of devices and is commonly used on network devices for remote administration. However, Telnet is a clear-text protocol and is vulnerable to various packet capture techniques.
 
Nipper determined that Telnet was enabled on switch02.
 
Impact: An attacker who was able to monitor network traffic could capture sensitive information or authentication credentials.
 
Ease: Network packet and password sniffing tools are widely available on the Internet and some of the tools are specifically designed to capture clear-text protocol authentication credentials. However, in a switched environment an attacker may not be able to capture network traffic destined for other devices without employing an attack such as Address Resolution Protocol (ARP) spoofing.
 
Recommendation: Nipper recommends that, if possible, Telnet be disabled. If remote administrative access to the device is required, Nipper recommends that SSH be configured. The Telnet service can be disabled on individual lines with the following command:
 
transport input none
 
The following Cisco IOS command can be used to disable Telnet on individual lines, but enable SSH:
 
transport input ssh

 

2.13. ICMP Redirects

Observation: ICMP redirect messages allow systems to change the route that network traffic takes. On networks with functional network routing, disabling ICMP redirects will have little to no effect. ICMP redirects are usually enabled by default on Cisco devices.
 
Nipper determined that the device switch02 had support for ICMP redirects enabled on the network interfaces listed in Table 6.
 
Table 6: Interfaces with ICMP redirects enabled
Interface Description
GigabitEthernet1/1First interface on switch
GigabitEthernet1/2Second interface on switch
 
Impact: An attacker could use ICMP redirect messages to route network traffic through their own router, possibly allowing them to monitor network traffic.
 
Ease: Tools are widely available that can send ICMP redirect messages.
 
Recommendation: Nipper recommends that, if not required, ICMP redirects be disabled on all network interfaces. ICMP redirects can be disabled on each individual network interface using the following command:
 
no ip redirects

 

2.14. Access Control Lists

Observation: Access Control List (ACL) are sequential lists of allow and deny Access Control Entries (ACE) that specify whether network traffic should be allowed or dropped. ACLs are used to restrict access to services and network devices, preventing access to services and devices that should not be accessible.
 
Nipper identified 24 security-related issues with the configured ACL, these are listed in Table 7.
 
Table 7: Insecure Access Control Entries
ACL Line Description
named-acl-11Does not log denied access.
named-acl-12Does not log denied access.
named-acl-13Allows access from any source to any address.
Allows access from any address to any destination.
Allows access from any address to any destination service.
named-acl-1N/AACL does not end with a deny all and log.
named-acl-21Allows access from 192.168.76.4 to any destination.
Allows access from 192.168.76.4 to any destination service.
named-acl-22Allows access from 172.18.19.1 to any destination.
Allows access from 172.18.19.1 to any destination service.
named-acl-2N/AACL does not end with a deny all and log.
1101Allows access from any source to / .
Allows access from any address to a network destination.
Allows access from any address to any destination service.
110N/AACL does not end with a deny all and log.
1201Allows access from a network source to any address.
Allows access from 50.60.0.0 / 0.0.255.255 to any destination.
Allows access from 50.60.0.0 / 0.0.255.255 to any destination service.
1202Allows access from any source to any address.
Allows access from any address to any destination.
Allows access from any address to any destination service.
1203Allows access from any source to 192.168.30.40.
1204Allows access from any source to 192.168.30.56.
120N/AACL does not end with a deny all and log.
 
Impact: If ACEs are not sufficiently restrictive, an attacker may be able to access services or network devices that should not be accessible. Furthermore, an attacker who had compromised a device could install a backdoor which could listen on a network port that was not filtered.
 
Ease: N/A
 
Recommendation: Nipper recommends that the ACLs be reviewed and, where possible, modified to ensure that: However, in certain circumstances, such as a public web server, a more relaxed configuration may be required to allow any host to access specific hosts and services.
 

2.15. Switch Port Trunking

Observation: Cisco Catalyst devices are able to transfer Virtual Local Area Network (VLAN) packets to different network devices, extending a VLAN across different physical devices. In order to extend a VLAN to a different physical device, a trunk has to be created between the devices. Cisco Catalyst devices default to allowing a trunk to be negotiated on a particular switch port if the connected device will also allow the trunk and supports a common trunking protocol.
 
Nipper determined that two switch ports allowed a trunk to be negotiated, these are listed in Table 8.
 
Table 8: Switch ports that allow trunking
Interface Description
GigabitEthernet1/1First interface on switch
GigabitEthernet1/2Second interface on switch
 
Impact: An attacker who was able to create a trunk would gain direct access to all the VLANs extended over the trunk. This would allow an attacker to bypass any network filtering between the VLANs.
 
Ease: The attacker would require knowledge of network trunking. However, tools are available on the Internet that can exploit trunking vulnerabilities.
 
Recommendation: Nipper recommends that, where possible, all switch ports be configured to provide no trunking. If trunking is required on a specific switch port, Nipper recommends that the switch port be configured to trunk only the required VLANs. Switch ports can be configured to provide no trunking on each interface with the following commands:
 
switchport mode access
 
switchport nonegotiate

 

2.16. Switch Port Security

Observation: Switch port security enables a Cisco Catalyst to help prevent unauthorised access to the network by limiting the Media Access Control (MAC) addresses allowed on specific ports. MAC addresses can either be specified for a particular switch port or can be learned by the Cisco Catalyst. When port security is configured a variety of actions can be taken when a violation occurs, such as automatically disabling the port.
 
Nipper identified two switch ports that had no port security configured, these are listed in Table 9.
 
Table 9: Switch ports with no port security
Interface Description
GigabitEthernet1/1First interface on switch
GigabitEthernet1/2Second interface on switch
 
Impact: A switch port with no configured port security could allow an attacker to attach an unauthorised device and scan other network attached devices. Depending on the security of the network attached devices, this issue could allow an attacker to perform information gathering, or potentially, gain access to vulnerable devices.
 
Ease: An attacker would have to gain access to a switch port with no security configured. If the switch port is not directly patched to a wall socket, the attacker would have to gain physical access to the Cisco Catalyst.
 
Recommendation: Nipper recommends that, where possible, port security be enabled on all switch ports. Furthermore, Nipper recommends that all switch ports that are not used be shutdown. Switch port security with MAC address learning and port shutdown on a violation can be configured on each interface with the following commands:
 
switchport port-security
 
switchport port-security violation shutdown
 
switchport port-security mac-address sticky
 
Unused interfaces can be disabled with the following interface command:
 
shutdown

 

2.17. Logging

Observation: Logging is an essential component of a secure network configuration. Logging not only assists network administrators to identify issues when troubleshooting, but enables network administrators to react to intrusion attempts or Denial-of-Service attacks. It is therefore critical that logs be monitored, allowing administrators to take immediate action when an attack has been identified. Furthermore, system logs are a key component of a forensic investigation into past intrusions or service disruptions.
 
Nipper determined that logging had not been configured on switch02.
 
Impact: An attacker could attempt to map and bypass any configured ACL or to gain access to the Cisco Catalyst without network administrators being alerted to the attempts. Furthermore, after an unauthorised intrusion into the network had been detected, it would be more difficult for an investigation to identify the source of the attack or the entry point without access to logs.
 
Ease: N/A
 
Recommendation: Nipper recommends that Syslog and Buffered logging be configured on switch02. Logging can be enabled with the following command:
 
logging on

 
To configure Syslog logging, four things need to be set; a source interface for the Syslog messages to be sent from, one or more Syslog hosts to send messages to, the Syslog logging message severity level and the Syslog facility. The following commands can be used to configure Syslog logging:
 
logging source-interface {Interface}
 
logging host {Syslog IP address or hostname}
 
logging trap {Logging message severity level}
 
logging facility {Syslog facility}

 
Buffered logging can be configured with the following command:
 
logging buffered {Buffer Size} {Logging message severity level}

 

2.18. Proxy ARP

Observation: ARP is a protocol that network hosts use to translate network addresses into media addresses. Under normal circumstances, ARP packets are confined to the sender's network segment. However, a Cisco router with Proxy ARP enabled on network interfaces can act as a proxy for ARP, responding to queries and acting as an intermediary.
 
Nipper identified two interfaces that had Proxy ARP enabled. These are listed in Table 10.
 
Table 10: Interfaces with Proxy ARP enabled
Interface Description
GigabitEthernet1/1First interface on switch
GigabitEthernet1/2Second interface on switch
 
Impact: A router that acts as a proxy for ARP requests will extend layer two access across multiple network segments, breaking perimeter security.
 
Ease: A Cisco device with Proxy ARP enabled will proxy ARP requests for all hosts on those interfaces.
 
Recommendation: Nipper recommends that, if not required, Proxy ARP be disabled on all interfaces. Proxy ARP can be disabled on each interface with the following Cisco IOS command:
 
no ip proxy-arp

 

2.19. SSH Protocol Version

Observation: The SSH service is commonly used for encrypted command-based remote device management. There are multiple SSH protocol versions and SSH servers will often support multiple versions to maintain backwards compatibility. Although flaws have been identified in implementations of version 2 of the SSH protocol, fundamental flaws exist in SSH protocol version 1.
 
Nipper determined that support for version 1 of the SSH protocol was supported on switch02.
 
Impact: An attacker who was able to intercept SSH protocol version 1 traffic would be able to perform a man-in-the-middle style attack. The attacker could then capture network traffic and possibly authentication credentials.
 
Ease: Although vulnerabilities are widely known, exploiting the vulnerabilities in the SSH protocol can be difficult.
 
Recommendation: Nipper recommends that the SSH service be configured to support only version 2 of the SSH protocol. Version 2 of the SSH protocol can be configured with the following command:
 
ip ssh version 2

 

2.20. Cisco Discovery Protocol

Observation: Cisco Discovery Protocol (CDP) is a proprietary protocol that is primarily used by Cisco, but has been used by others. CDP allows some network management applications and CDP aware devices to identify each other on a Local Area Network (LAN) segment. Cisco devices, including switches, bridges and routers are configured to broadcast CDP packets by default. The devices can be configured to disable the CDP service or disable CDP on individual network interfaces.
 
Nipper determined that the CDP service had not been disabled, and additionally, had not been disabled on all the active network interfaces.
 
Impact: CDP packets contain information about the sender, such as hardware model information, operating system version and IP address details. This information would allow an attacker to gain information about the configuration of the network infrastructure.
 
Ease: CDP packets are broadcast to an entire network segment. An attacker could use one of the many publicly available tools to capture network traffic and view the leaked information.
 
Recommendation: Nipper recommends that, if not required, the CDP service be disabled on the Cisco device switch02. If CDP is required, Nipper recommends that CDP be disabled on all interfaces except those that are explicitly required.
 
The CDP service can be disabled by issuing the following Cisco IOS command:
 
no cdp run
 
CDP can be disabled on individual interfaces using the following command:
 
no cdp enable
 
In some configurations with IP phones, deployed using either Auto Discovery or Dynamic Host Configuration Protocol (DHCP), the CDP service may need to be enabled. In this situation CDP should be disabled on all network interfaces for which it is not required.
 

2.21. Minimum Password Length

Observation: Cisco introduced an option from IOS version 12.3(1) which forces user, enable, secret and line passwords to meet a minimum length. This setting was introduced to help prevent the use of short passwords such as "cisco".
 
Nipper determined that a minimum password length of six characters was configured.
 
Impact: With a small minimum password length configured, it would be possible for a short password to be used. If an attacker were able to gain a password through dictionary-based guessing techniques or by a brute-force method, the attacker could gain a level of access to switch02.
 
Ease: A number of dictionary-based password guessing and password brute-force tools are available on the Internet.
 
Recommendation: Nipper recommends that a minimum password length of at least eight characters be configured. The minimum password length can be configured with the following command:
 
security passwords min-length {length}

 

2.22. BOOTP

Observation: BOOTstrap Protocol (BOOTP) is a datagram protocol that allows compatible hosts to load their operating system over the network from a BOOTP server. Cisco routers are capable of acting as BOOTP servers for other Cisco devices and the service is enabled by default. However, BOOTP is rarely used and may represent a security risk.
 
Nipper determined that BOOTP was not disabled. However, it is worth noting that not all Cisco devices support BOOTP.
 
Impact: An attacker could use the BOOTP service to download a copy of the router's IOS software.
 
Ease: Tools are available on the Internet to access BOOTP servers.
 
Recommendation: Nipper recommends that, if not required, the BOOTP service be disabled. The following command can be used to disable BOOTP:
 
no ip bootp server

 

2.23. TCP and UDP Small Servers

Observation: Cisco devices provide a set of simple servers which are collectively known as TCP small servers and User Datagram Protocol (UDP) small servers. The services provide little functionality and include chargen, echo and daytime. Cisco IOS version 11.2 and older enable these services by default; newer IOS versions explicitly require them to be started.
 
Nipper determined that both the TCP and UDP small servers were not disabled.
 
Impact: Each running service increases the chances of an attacker being able to identify the device and successfully compromise it. It is good security practice to disable all unused services.
 
Ease: Tools are widely available to query these services and some operating systems install these tools by default.
 
Recommendation: Nipper recommends that, if not required, TCP and UDP small servers be explicitly disabled. TCP and UDP small services are rarely used and are disabled by default in newer versions of Cisco IOS.
 
TCP small servers can be disabled with the following IOS command:
 
no service tcp-small-servers

 
UDP small servers can be disabled with the following IOS command:
 
no service udp-small-servers

 

2.24. IP Unreachables

Observation: ICMP IP unreachable messages can be generated by a Cisco device when a host attempts to connect to a non-existent host, network, or use an unsupported protocol. ICMP IP unreachable messages will let the connecting host know that the host, network or protocol is not supported or cannot be contacted. Therefore, the host does not have to wait for a connection time-out. ICMP IP unreachable messages are normally enabled by default on Cisco devices and must be explicitly disabled.
 
Nipper determined that the Cisco device switch02 had ICMP IP unreachable messages enabled on the interfaces listed in Table 11.
 
Table 11: Interfaces with IP unreachables enabled
Interface Description
GigabitEthernet1/1First interface on switch
GigabitEthernet1/2Second interface on switch
 
Impact: An attacker who was performing network scans to determine what services were available would be able to scan a device more quickly.
 
Ease: Tools are available on the Internet that can perform a wide variety of scan types.
 
Recommendation: Nipper recommends that, if not required, IP unreachables be disabled on all network interfaces. However, whilst disabling IP unreachables will not stop scans, it does make it more difficult for an attacker. The IP unreachables option is disabled or enabled individually for each network interface. It can be disabled with the following command:
 
no ip unreachables

 

2.25. ICMP Mask Reply

Observation: ICMP mask reply messages inform network hosts of the TCP/IP network mask for a network segment. This protocol can now be regarded as legacy as it has been superseded by protocols such as DHCP, or hosts will already be configured with this information.
 
Nipper determined that the Cisco device switch02 had the ICMP mask reply option enabled on the interfaces listed in Table 12.
 
Table 12: Interfaces with ICMP mask reply enabled
Interface Description
GigabitEthernet1/1First interface on switch
GigabitEthernet1/2Second interface on switch
 
Impact: An attacker could use the ICMP mask reply feature to gain additional information about the network configuration.
 
Ease: Tools are available on the Internet that can perform ICMP mask requests.
 
Recommendation: Nipper recommends that, if not required, ICMP mask reply be disabled on all network interfaces. ICMP mask reply can be disabled on each individual network interface using the following command:
 
no ip mask-reply

 

2.26. Enable Secret

Observation: Cisco IOS-based device enable passwords can be stored using an iterated MD5 hash, which is far stronger than the easily reversible Cisco type-7 encryption.
 
Nipper identified one enable password that was not stored using the MD5 hash.
 
Impact: An attacker could use an enable password from a Cisco device to access the device and possibly modify its configuration.
 
Ease: An attacker who had access to the Cisco configuration file would easily be able to retrieve passwords that are stored in clear-text or using the Cisco type-7 encryption. However, an attacker who had access to a Cisco configuration file could brute-force any stronger MD5 passwords.
 
Recommendation: Nipper recommends that all enable passwords be stored using the MD5 hash. Enable passwords can be stored using the MD5 hash with the following Cisco IOS command:
 
enable secret

 

2.27. Service Password Encryption

Observation: Cisco service passwords are stored by default in their clear-text form rather than being encrypted. However, it is possible to have these passwords stored using the reversible Cisco type-7 encryption.
 
Nipper determined that the Cisco device switch02 was not running the password encryption service that helps provide a basic level of encryption to passwords that otherwise would be stored in clear-text.
 
Impact: If a malicious user were to see a Cisco configuration that contained clear-text passwords, they could use the passwords to access the device. However, an attacker who had access to a Cisco configuration file would easily be able to reverse the passwords.
 
Ease: Even though it is trivial to reverse Cisco type-7 passwords, they do provide a greater level of security than clear-text passwords. Tools are widely available on the Internet that reverse Cisco type-7 passwords.
 
Recommendation: Nipper recommends that the Cisco password encryption service be enabled. The Cisco password encryption service can be started with the following Cisco IOS command:
 
service password-encryption

 

2.28. Login Banner

Observation: A banner message can be shown to users who connect to one of the remote management services, such as Telnet. Typically banner messages will include information on the law with regard to unauthorised access to the device, warning users who do not have the authority to access the device about the consequences.
 
Nipper determined that no login banner was configured.
 
Impact: Attackers who have gained access to a device could avoid legal action if no banner is configured to warn against unauthorised access.
 
Ease: N/A
 
Recommendation: Nipper recommends that a banner be configured that warns against unauthorised access. Banners are configured on Cisco devices using a delimiter character. A delimiter character is specified in the banner command and is used again to mark the end of the banner. The Cisco command to add a login banner, that is presented to users prior to authentication, is:
 
banner login {delimiter} The banner text {delimiter}

 

2.29. Domain Lookups

Observation: Cisco IOS-based devices support name lookups using the Domain Name System (DNS). However, if a DNS server has not been configured, then the DNS request is broadcast.
 
Nipper determined that name lookups had not been disabled and no DNS servers had been configured.
 
Impact: An attacker who was able to capture network traffic could monitor DNS queries from the Cisco Catalyst. Furthermore, Cisco devices can connect to Telnet servers by supplying only the hostname or IP address of the server. A mistyped Cisco command could be interpreted as an attempt to connect to a Telnet server and broadcast on the network.
 
Ease: It would be trivial for an attacker to capture network traffic broadcast from a Cisco Catalyst. Furthermore, network traffic capture tools are widely available on the Internet.
 
Recommendation: Nipper recommends that domain lookups be disabled. Domain lookups can be disabled with the following command:
 
no ip domain-lookup
 
If domain lookups are required, Nipper recommends that DNS be configured. DNS can be configured with the following command:
 
ip name-server {IP address}

 

2.30. Packet Assembler / Disassembler

Observation: The Packet Assembler / Disassembler (PAD) service enables X.25 connections between network systems. The PAD service is enabled by default on most Cisco IOS devices but it is only required if support for X.25 links is necessary.
 
Nipper determined that the PAD service had not been disabled.
 
Impact: Running unused services increases the chances of an attacker finding a security hole or fingerprinting a device.
 
Ease: N/A
 
Recommendation: Nipper recommends that, if not required, the PAD service be disabled. Use the following command to disable the PAD service:
 
no service pad

 

2.31. Maintenance Operations Protocol

Observation: Maintenance Operations Protocol (MOP) is used with the DECnet protocol suite. MOP is enabled by default on ethernet interfaces in some versions of IOS.
 
Nipper determined that MOP had not been disabled on all ethernet interfaces.
 
Impact: Running unused services increases the chances of an attacker finding a security hole or fingerprinting a device.
 
Ease: N/A
 
Recommendation: Nipper recommends that, if not required, MOP be disabled on all ethernet interfaces. MOP can be disabled on each interface with the following command:
 
no mop enabled

 

2.32. Conclusions

Nipper performed a security audit of the Cisco Catalyst device switch02 on Saturday 22 March 2008 and identified 30 security-related issues. Nipper determined that:
 

3. Device Configuration

3.1. Introduction

This section details the configuration settings of the Cisco Catalyst device switch02.
 

3.2. General

Table 13: General device settings
Description Setting
Hostnameswitch02
IOS Version12.3
Service Password EncryptionDisabled
Minimum Password Length6 characters
BOOTPEnabled
Service ConfigDisabled
TCP Keep Alives (In)Disabled
TCP Keep Alives (Out)Enabled
Gratuitous ARPsDisabled
 

3.3. Services

Table 14: Device services
Service Status
TelnetEnabled
SSHEnabled
HTTPUnconfigured
FingerEnabled
TCP Small ServicesEnabled
UDP Small ServicesEnabled
SNMPEnabled
CDPEnabled
PADEnabled
 

3.4. Domain Name Settings

Table 15: Domain name settings
Description Setting
Domain Namenipper.org
Domain LookupEnabled
 

3.5. Time Zone Settings

Table 16: Time zone settings
Description Setting
Time ZoneGMT
UTC OffsetNone
Summer Time ZoneGMT
Authorative Time SourceNo
 

3.6. User Accounts and Privilages

Table 17: Enable Passwords
Level Password Encryption
15cisco None
 
Table 18: User Accounts
Username Privilage Password Encryption
testuser15password Type-7
temp15password Type-7
 

3.7. Simple Network Management Protocol

SNMP is widely used to assist network administrators in monitoring and managing a variety of network devices. There are three main versions of SNMP in use. Versions 1 and 2 of SNMP are secured with a community string, both authenticate and transmit network packets with no encryption. SNMP version 3 provides three authentication methods. SNMP version 3 No-Auth access requires a username to authenticate and provides no encryption. SNMP version 3 Auth access requires a username and the auth keyword, authentication is encrypted but SNMP network packets are transmitted with no encryption. SNMP version 3 Auth and Priv access requires a username, auth and priv keywords. SNMP version 3 Auth and Priv access provides complete encryption of authentication and SNMP network packets.
 
Table 19: General SNMP service configuration
Description Setting
Service enabledYes
LocationSomewhere
Trap Timeout30 seconds
TFTP Server ListDisabled
 
Table 20: SNMP community strings
Community Access View Access-List Enabled
public Read-Only20Yes
private Read/Write20Yes
 
Table 21: SNMP hosts
SNMP Host SNMP Version Community String
192.168.20.301private
192.168.20.401private
 

3.8. Lines

The Cisco line configuration settings are used to configure administrative access to the device. The console line type is used for accessing the Cisco device directly through a cable attached to the device's console port. The auxiliary lines are used for remote access to the device, typically through attached modems. The Virtual Teletype (VTY) lines are used for access to the device through a remote access service such as SSH or Telnet.
 
Table 22: Line configuration
Line Type Start Line End Line Logins Exec Authorization Accounting Telnet SSH Timeout Exec Timeout Session Timeout Absolute Timeout Password Password Encryption
Console0 AllowedOnOffOffOnOn0s0s1500s0spasswordType-7
Auxiliary0 AllowedOnOffOffOffOff0s0s1500s0s
VTY04AllowedOnOffOffOnOn0s0s0s0spasswordType-7
 

3.9. Interfaces

Table 23: Interfaces
Interface Active IP Address Proxy ARP IP Unreachable IP Redirect IP Mask Reply IP Direct Broadcast NTP CDP MOP
GigabitEthernet1/1Yes10.0.0.1OnOnOnOnOnOnOnOn
GigabitEthernet1/2Yes10.0.0.2OnOnOnOnOnOnOnOn
 

3.10. VTP Configuration

Table 24: VTP configuration
Description Setting
VTP ModeServer
 

3.11. Switchport Configuration

Table 25: Switchport configuration
Interface Active Description VLAN Mode Port Security Security Violation
GigabitEthernet1/1YesFirst interface on switch1TrunkOffShutdown
GigabitEthernet1/2YesSecond interface on switch1TrunkOffShutdown
 

3.12. Access Control List

A Cisco ACL is a sequential list of apply or deny ACEs that a Cisco device will apply to network traffic. The Cisco device will check network traffic against the ACL and the first ACE match will determine whether the packet is accepted or rejected. If the Cisco device does not have an ACE that applies then the packet is denied. When a packet is rejected after access list processing, an ICMP host unreachable message is sent, unless it had been disabled.
 
There are two different types of ACLs on IOS-based Cisco devices, standard and extended. Standard ACLs have an access list number between 1 and 99, extended ACLs are numbered 100 or above. Standard ACLs only define the source address and process the packet solely based on that. Extended ACLs contain additional checks, such as destination address and network port numbers.
 
Table 26: Extended ACL named-acl-1
Line Filter Protocol Source Source Service Destination Destination Service Log Options
1Denyip172.168.2.3AnyAnyAnyNo
2Denyip10.8.10.11AnyAnyAnyNo
3PermitipAnyAnyAnyAnyNo
 
Table 27: Extended ACL named-acl-2
Line Filter Protocol Source Source Service Destination Destination Service Log Options
1Permitip192.168.76.4AnyAnyAnyNo
2Permitip172.18.19.1AnyAnyAnyNo
 
Table 28: Extended ACL 110
Line Filter Protocol Source Source Service Destination Destination Service Log Options
1PermittcpAnyAny / AnyNo
 
Table 29: Extended ACL 120
Line Filter Protocol Source Source Service Destination Destination Service Log Options
1Permitip50.60.0.0 / 0.0.255.255AnyAnyAnyNo
2PermittcpAnyftpAnyAnyYes
3PermittcpAnyAny192.168.30.40snmpNo
4PermittcpAnyAny192.168.30.569876No
 
Table 30: Standard ACL 40
Line Filter Source Log
1Permit192.168.2.1No
2Permit172.10.1.35No
3Permit10.0.0.1No
4Permit192.168.0.1No
5DenyAnyYes
 

4. Appendix

4.1. Abbreviations

ACEAccess Control Entry
ACLAccess Control List
ARPAddress Resolution Protocol
BOOTPBOOTstrap Protocol
CDPCisco Discovery Protocol
DHCPDynamic Host Configuration Protocol
DNSDomain Name System
DoSDenial of Service
FTPFile Transfer Protocol
HTTPHyperText Transfer Protocol
HTTPSHyperText Transfer Protocol over SSL
ICMPInternet Control Message Protocol
IOSInternet Operating System
IPInternet Protocol
LANLocal Area Network
MD5Message Digest 5
MACMedia Access Control
MOPMaintenance Operations Protocol
NTPNetwork Time Protocol
PADPacket Assembler / Disassembler
SNMPSimple Network Management Protocol
SSHSecure Shell
SSLSecure Sockets Layer
TCPTransmission Control Protocol
TFTPTrivial File Transfer Protocol
UDPUser Datagram Protocol
UTCCoordinated Universal Time
VLANVirtual Local Area Network
VTPVLAN Trunking Protocol
VTYVirtual Teletype
 

4.2. Common Ports

Table 31: Common ports
Service Port
FTP21
SSH22
DHCP67
TFTP69
HTTP80
NTP123
SNMP161
HTTPS443
 

4.3. Logging Severity Levels

Table 32: Logging message severity levels
Level Level Name Description
0EmergenciesSystem is unstable
1AlertsImmediate action is required
2CriticalCritical conditions
3ErrorsError conditions
4WarningsWarning conditions
5NotificationsSignificant conditions
6InformationalInformational messages
7DebuggingDebugging messages
 

4.4. Time Zones

Table 33: Common time zone acronyms
Region Acronym Time Zone UTC Offset
AustraliaCSTCentral Standard Time+9.5 hours
AustraliaESTEastern Standard/Summer Time+10 hours
AustraliaWSTWestern Standard Time+8 hours
EuropeBSTBritish Summer Time+1 hour
EuropeCESTCentral Europe Summer Time+2 hours
EuropeCETCentral Europe Time+1 hour
EuropeEESTEastern Europe Summer Time+3 hours
EuropeESTEastern Europe Time+2 hours
EuropeGMTGreenwich Mean Time
EuropeISTIrish Summer Time+1 hour
EuropeMSKMoscow Time+3 hours
EuropeWESTWestern Europe Summer Time+1 hour
EuropeWETWestern Europe Time+1 hour
USA and CanadaADTAtlantic Daylight Time-3 hours
USA and CanadaAKDTAlaska Standard Daylight Saving Time-8 hours
USA and CanadaAKSTAlaska Standard Time-9 hours
USA and CanadaASTAtlantic Standard Time-4 hours
USA and CanadaCDTCentral Daylight Saving Time-5 hours
USA and CanadaCSTCentral Standard Time-6 hours
USA and CanadaEDTEastern Daylight Time-4 hours
USA and CanadaESTEastern Standard Time-5 hours
USA and CanadaHSTHawaiian Standard Time-10 hours
USA and CanadaMDTMountain Daylight Time-6 hours
USA and CanadaMSTMountain Standard Time-7 hours
USA and CanadaPDTPacific Daylight Time-7 hours
USA and CanadaPSTPacific Standard Time-3 hours
 

4.5. Nipper Details

This report was generated using Nipper version 0.11.5. Nipper is an Open Source tool designed to assist security professionals and network system administrators securely configure network infrastructure devices. The latest version of Nipper can be found at the following URL:
 
http://nipper.sourceforge.net.