Inicio / Blog / ¿Es útil la evaluación automatizada de vulnerabilidades?

¿Es útil la evaluación automatizada de vulnerabilidades?

Publicado el 18/09/2014, por Javier Medina
evaluación de vulnerabilidades

La evaluación automatizada de vulnerabilidades es, aunque pueda sonar un tanto extraño, un mal necesario en cualquier proceso de gestión de la seguridad IT, bien sea como parte de la gestión de vulnerabilidades, bien sea como apoyo a otros procesos ITSM.

Y digo un mal porque al preguntar por este tipo de herramientas de evaluación automatizada, los que nos dedicamos a estos menesteres solemos incidir en sus defectos. Que por otra parte no se puede negar que existen: que si las tasas de detección no son todo lo óptimas que debieran, que si el control de falsos positivos es mejorable, que sí ...

Por poner un ejemplo real, una comparativa pública muestra cómo, para un sistema con quince vulnerabilidades, las herramientas automatizadas generan decenas de alertas y detectan realmente siete de las vulnerabilidades existentes.

Sin embargo, sin duda alguna, estas herramientas también son algo necesario porque existe un detalle fundamental en la evaluación automatizada, algo que es muy difícil de conseguir en la revisión manual: la revisión sistemática.

Las personas estamos bastante lejos de ser máquinas y nos cuesta enfrentarnos durante horas a todas las posibles vulnerabilidades de un sistema de información de forma metódica, exhaustiva y ordenada. Sin embargo, a un software automatizado no le supone el menor esfuerzo.

Por ello, este tipo de herramientas ayudan a las empresas, entre otros, a evaluar su nivel de riesgo ante un incidente de seguridad ocasionado por vulnerabilidad en sus sistemas, a alimentar los cuadros de mando de medición del riesgo o para la corrección de las vulnerabilidades, etc.  En definitiva, ayudan a que los responsables de IT puedan tomar decisiones sobre la gestión del riesgo y de la seguridad de la información.

El artículo es, siendo consecuentes con lo anterior, una pequeña pincelada introductoria a una de esas herramientas. Herramientas, que en un escenario ideal, serán un primer paso; a completar con pruebas manuales para ajustar los resultados al escenario, prevenir deficiencias de las herramientas automatizadas y, en definitiva, proporcionar una información de mayor calidad. Sin olvidar que en un escenario adverso, si tenemos que elegir entre sólo realizar pruebas automatizadas o no hacer nada... por inexacto que pueda ser el resultado, será mejor una evaluación automatizada que nada.

La herramienta: Nexpose Community

Nexpose Community es una herramienta de evaluación de vulnerabilidades. A pesar de su apellido Community se trata de un software propietario de uso gratuito. Ha sido desarrollado por Rapid7, la compañía que hay tras Metasploit, y está englobado en un segmento de herramientas donde aparecen otros nombres como Nessus o Retina en el plano comercial y OpenVAS dentro del mundo del software libre.

Las principales limitaciones de la versión Community de Nexpose es la gestión simultánea de únicamente 32 direcciones IP y tener una evaluación web limitada. Además de la versión Community existen diferentes versiones comerciales: Express, Consultant y Enterprise. Cada versión incrementa la funcionalidad de la anterior, siendo los principales factores de diferencia el número de IPs que pueden evaluarse en cada una de ellas, la capacidad de verificar mediante Metaesploit las vulnerabilidades encontradas o la generación de informes de revisión acorde a los estándares del mercado (Ej. PCI DSS).

Nexpose tiene un funcionamiento en modo cliente-servidor, con una interfaz web accesible mediante un servicio HTTPS. Sus requerimientos de sistema, tanto en Linux como en Windows, son bastante exigentes y es recomendable disponer de 8GB de memoria RAM y un sistema con varios núcleos para un funcionamiento fluido.

How-To: Demostración rápida de uso de Nexpose Community

Paso 1. Descarga e instalación

El primer paso será descargar la versión Community desde la web de Rapid7 en la siguiente dirección http://www.rapid7.com/products/nexpose/compare-downloads.jsp

Durante el proceso de descarga deberemos rellenar un formulario de registro, tras lo cual recibiremos un correo electrónico con una clave de activación similar al siguiente:

Licencia

- Licencia -

Una vez tengamos la clave y el binario descargado podremos proceder a su instalación. Tras finalizar la instalación en la url https://localhost:3780/ se encontrará la consola web de Nexpose a la que podremos acceder con las credenciales que hayamos definido previamente

Pantalla de inicio

- Pantalla de inicio -

Paso 2. Añadiendo nuestro primer sistema

Tras acceder por primera  vez veremos el dashboard. Esta pantalla nos muestra el estado general de las revisiones realizadas, el número de hosts que incluye cada revisión, las vulnerabilidades, etc. Sin embargo, por tratarse de un sistema recién instalado no existirá ningún tipo de información visible.

Desde aquí mismo, tal como se muestra en las cuatro capturas de pantalla sucesivas, podremos configurar nuestro primer sistema a escanear. El primer paso será presionar sobre new static site, a partir de donde podremos definir el nombre del sistema(s) a escanear, las direccione(s) IP que lo forman y el tipo de escaneo que vamos a llevar a cabo. En este caso concreto hemos llamado al sistema LAB, está formado por una única dirección IP 192.168.2.25 y se va a llevar a cabo una revisión total Exhaustive sin credenciales de acceso al sistema, tal cual se muestra en las siguientes imágenes:

Crear "new static site"

- Crear "new static site" -

Configuración general del nuevo sitio a escanear

- Configuración general del nuevo sitio a escanear -

Direcciones IP/Hostnames de los recursos a escanear

- Direcciones IP/Hostnames de los recursos a escanear -

Tipo de escaneo a realizar

- Tipo de escaneo a realizar -

Paso 3. Escaneando nuestro primer sistema

Una vez hemos creado nuestro sistema LAB, iniciar nuestro primer escaneo es tan sencillo como presionar en la opción SCAN, tal cual se resalta en la siguiente imagen y aceptar el inicio de un proceso de escaneo.

Iniciar el escanéo del sistema LAB

- Iniciar el escanéo del sistema LAB -

Confirmar el proceso de escanéo

- Confirmar el proceso de escaneo -

Paso 4. Evaluar el resultado

Una vez que el proceso de escaneo haya finalizado podremos acceder al resultado accediendo a la opción "Vulnerabilities" (https://localhost:3780/vulnerability/listing.jsp) Esta opción permite directamente desde el interfaz web acceder a las vulnerabilidades identificadas, como se puede ver a continuación.

Visión general del resultado

- Visión general del resultado -

Vulnerabilidades identificadas

- Vulnerabilidades identificadas -

En la ultima imagen, al respecto de las vulnerabilidades identificadas, queremos hacer un pequeño inciso y comentar, que para el sistema LAB, el resultado de proceso de escanéo ha detectado vulnerabilidades reales asociadas al protocolo CIFS/SMB (sesiones nulas, acceso sin usuario, recursos compartidos accesibles para todo el mundo, ...) que deliberadamente habíamos colocado en el sistema; además de posibles mejoras en la seguridad de la red: denegar los ICMP Timestamp, inhabilitar el Timestamp de TCP, ...

Sin embargo, también han aparecido falsos positivos. Son falsos positivos las vulnerabilidades relacionadas con los módulos de Apache (mod_dav  y mod_log_config). Ninguno de los dos módulos están activos en el sistema. Se trata de vulnerabilidades erróneamente notificadas por Nexpose Community basándose únicamente en el fingerprint de la versión de Apache 2.4 detectada.

Conclusión

No pretende este artículo extenderse mucho más allá del mostrar de forma práctica y rápida los rudimentos básicos de la evaluación automatizada de vulnerabilidades, con sus pros y sus contras, utilizando una de las múltiples herramientas que existen.

Nexpose Community es una herramienta con una curva de aprendizaje suave, relativamente sencilla de usar y que en tan sólo con la simple prueba a la que la hemos sometido ha mostrado algunas de sus virtudes, como por ejemplo ser capaz de detectar sistemáticamente múltiples vulnerabilidades reales en el servicio de ficheros compartidos CIFS/SMB que habíamos configurado, y también ha evidenciado el que será el mayor defecto que encontraremos en esta y en otras herramientas del estilo: los falsos positivos.

La solución, por otra parte, parece bastante obvia: hacer un uso racional de estas herramientas, verificar manualmente los resultados que nos ofrecen y descartar aquellas vulnerabilidades que comprobemos manualmente que carecen de sentido en el contexto en el que nos encontramos.

Para saber más ...

Estos y otros temas sobre evaluación de vulnerabilidades con ejemplos de diferentes herramientas se encuentran recogidos en el libro "Evaluación de Vulnerabilidades TIC" publicado bajo licencia CreativeCommons BY-NC-ND, gracias a la colaboración entre el Servicio de Tecnologías de la Información y la Comunicación (STIC) de la Universidad de Almería y la empresa SG6. El libro se encuentra disponible para descarga gratuita en la siguiente URL: http://www.lulu.com/spotlight/sg6

---

Javier Medina – SG6 co-founder & it security consultant
@sg6twi / info@sg6.es / www.sg6.es