Tuesday, November 11, 2008

Auditoria de dispositivos de Red con Nipper

Antes de comenzar a ver esta interesante herramienta de seguridad quiero contarles la historia de Nipper.

Cuando descubri el programa y vi su logo del perrito me pregunte que significaba Nipper.

Haciendo un poco de googling, encontre esta interesante historia.

Nipper fue un perro que nacio en Bristol ( Gloucester), Inglaterra en 1884 , llamado asi por su tendencia a romper las botamangas de las visitas. Cuando fallecio su primer dueño Mark Barraud en 1887, Nipper fue llevado a Liverpool , por el hermano menor de Mark llamado Francis, un pintor.

En Liverpool , Nipper descubrio el fonografo, Francis Barraud, estaba sorprendido por como Nipper miraba intrigado sobre el origen de la voz que salia del fonografo. Esta imagen debe haber quedado grabada en la mente de Mark, ya que tres años despues de la muerte de Nipper, el lo reflejo en un pintura.

En 1898 Barraud completo la pintura y registro esta el 11 de febrero de 1899 como "Perro mirando y escuchando un fonografo" ( no se esforzo mucho en ponerle el nombre parece )

Mas tarde, tal vez comprendiendo que no era muy original el titulo, lo cambio por "La voz de su maestro" ( His Master´s voice )

Barraud trato sin exito de exibir su pintura en varios lugares, llego a ofrecerla a la empresa Edison Bell Company lider en la fabricacion de fonografos, pero la respuesta fue "Los perros no escuchan fonografos".

En el verano de 1899 visito la nueva Gramophone Company y aceptando la sugerencia de agregar un fonografo de la compañia a la pintura, Barraud hizo famoso a Nipper.



Cobro 100 libras por la pintura y sus derechos. Asi nacio el logo de RCA Victor con Nipper y el fonografo, imagen que continua al tope de "Famous Brands of the 20th Century".

Ahora hablemos de Nipper el otro perro.

Que es Nipper ?

Nipper es un programa que puede realizar una auditoria de seguridad de la configuracion de los varios dispositivos. Esta auditoria puede incluir, verificacion de filtros de red, seguridad de las passwords, protocolos de ruteo, version de software, servicios de management, etc. Algunas de estas verificaciones son customizables por lo que se puede modificar para cumplir con iertos requerimientos.

Que dispositivos soporta ?

Actualmente soporta la configuracion de los siguientes equipos :

  • 3Com 5500 Switches
  • 3Com SuperStack 3 Firewall
  • Bay Networks Accelar
  • CheckPoint Firewall Modules
  • CheckPoint Management Modules
  • Cisco ASA Security Appliances
  • Cisco Catalyst Switches (IOS)
  • Cisco CatOS Catalyst Devices
  • Cisco Content Services Switches
  • Cisco Firewall Service Modules
  • Nipper Auditing Network Devices
  • with Nipper 8th November 2008
  • ADVANCED
  • Cisco NMP Catalyst Devices
  • Cisco PIX Security Appliances
  • Cisco Routers (IOS)
  • HP ProCurve Switches
  • Juniper NetScreen Firewalls
  • Nokia IP Firewalls
  • Nortel Ethernet Routing Switches
  • Nortel Passport
  • SonicWALL Firewalls
Que reportes entrega ?

Nipper puede generar un documento customizable. El reporte puede contener, una auditoria de seguridad, detalles de la configuracion y comentarios adicionales. El documento se puede csutomizar incluso cambiando los graficos.




Veamos como funciona y algunos ejemplos:

El codigo fuente y los binarios se encuentran en :

http://nipper.titania.co.uk/downloads.php

Instalacion : Nipper se ejecuta sobre la siguientes plataformas :

  • Microsoft Windows
    • 32-bit Binary Package
    • Platform Independent Source Code
  • Linux And UNIX Systems
    • Platform Independent Source Code
  • Apple Mac OS-X
    • Platform Independent Source Code
Para esta demo vamos a trabajar sobre Windows.

Se deben bajar tanto la libreria Libnipper como el programa Nipper-cli.zip y unzipear en el mismo directorio.

Si ejecutamos el comando :

nipper --help

Nos mostrara los parametros necesarios para su ejecucion.


Basicamente son tres parametros :

Tipo de dispositivo

CMD Option Device Type
====================================================
--auto Auto-Detect Device (Default)
--3com-firewall 3Com SuperStack 3 Firewall
--accelar Bay Networks Accelar
--cp-firewall CheckPoint Firewall Module
--cp-management CheckPoint Management Module
--ios-router Cisco IOS-based Router
--ios-catalyst Cisco IOS-based Catalyst Switch
--pix Cisco PIX-based Firewall
--asa Cisco ASA-based Firewall
--fwsm Cisco FWSM-based Router
--catos Cisco CatOS-based Catalyst
--nmp Cisco NMP-based Catalyst
--css Cisco Content Services Switch
--procurve HP ProCurve Switches
--screenos Juniper NetScreen Firewall
--nokiaip Nokia IP Firewall
--passport Nortel Passport Device
--nortel-switch Nortel Ethernet Routing Switch 8300
--sonicos SonicWall SonicOS Firewall

Archivo de Input

--input=

Archivo de Salida

--output=


Vamos a realizar una auditoria de un switch Cisco Catalyst.


CLI Capture




  1. Connectarse al Cisco Catalyst por SSH o directamente en la consola.
  2. Login.
  3. Tipear el siguiente comando
    enable
  4. Entrar el enable password.
  5. Ejecutar el siguiente comando y capturar la salidad:
    show run
  6. Guardar la captura y salvar el archivo capturado a un archivo, sacar todas las lineas del tipo (i.e. "<--- More --->").

Los parametros necesarias para que Nipper valide la configuracion son :

--ios-catalys

Si el switch tiene el feature de ruteo, entonces deberemos

--ios-router

En este caso es un switch layer 2 , por lo tanto ejecutaremos el siguiente comando :

c:\nipper\nipper --ios-catalyst --input=switchtest.txt --output=report.html

Auditoria de Password

Como parte de la auditoria de seguridad , Nipper auditara las passwords, claves de autinticacion y string de snmap. Esta auditoria estara basada en la politica que definamos ( largo, tipo de caracteres...) o utilizando la politica por default de Nipper.

Auditoria de ACL

Nipper tambien puede auditar Access lists ( ACL ) y Access Entries Lists ( ACE). Esto basado en una politica de filtrado que puede ser definida o usando su propia politica.

Ingresando esta configuracion : http://nipper.titania.co.uk/data/ios-catalyst.config

Obtenemos este reporte : http://nipper.titania.co.uk/data/ios-catalyst.html


Algunos ejemplos de las entradas del Reporte :

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.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:

  • dictionary-based passwords / keys were in use;
  • weak passwords / keys were identified;
  • configuration auto-loading was configured;
  • directed broadcasts were enabled;
  • TCP keep alive messages are not configured for inbound connections;
  • all connections were not configured with secure connection timeout periods;
  • the AUX port was configured to allow EXEC connections without the callback functionality;
  • the finger service was enabled;
  • clear-text remote web-based administration was enabled using HTTP;
  • clear-text remote administration was enabled using SNMP;
  • clear-text remote administration was enabled using Telnet;
  • ICMP redirects were not disabled for all network interfaces;
  • insecure ACL were configured;
  • trunk negotiation was not disabled on all switch ports;
  • port security was not enabled on all switch ports;
  • insufficient logging was configured;
  • ARP request proxying was not disabled on all network interfaces;
  • SSH protocol version 1 was configured;
  • CDP was not disabled;
  • an inadequate minimum password length was configured;
  • BootP was enabled;
  • all small servers have not been disabled;
  • IP unreachables have not been disabled on all interfaces;
  • ICMP Mask Reply is not disabled on all interfaces;
  • the enable password is not stored using the MD5 hash;
  • the service passwords are stored in clear-text;
  • no login banner has been configured;
  • domain lookups were enabled;
  • the PAD service was enabled;
  • MOP had not been disabled on all interfaces.

Tambien tenemos una herramienta que se llama NiperMe y que es un frontend de Nipper.


Para finalizar, las posibilidades de Nipper son muy interesantes ya que podemos definir una configuracion para nuestros equipos que verifique si estan en compliance con una norma en particular ( por ejemplo PCI )

--La informacion de la historia de Nipper ( fuente Wikipedia )