23
MÓDULO 3. AUDITORÍAS SEGURIDAD TEMA 2: “SCANNERS DE VULNERABILIDADES”. OPENVAS VS. NESSUS Maximiliano Camilo Pérez Fernández Febrero, 2012

Nessus versus Openvas

Embed Size (px)

DESCRIPTION

Tarea comparando nessus con Openvas. La versión actual de nessus tiene algunas mejoras respecto a la del contenido de la comparativa pero este trabajo puede servir para ilustrar a los que se inician cuáles son sus puntos fuertes y cuáles los más flojos

Citation preview

Page 1: Nessus versus Openvas

MÓDULO 3. AUDITORÍAS SEGURIDADTEMA 2:

“SCANNERS DE VULNERABILIDADES”. OPENVAS VS. NESSUS

Maximiliano Camilo Pérez Fernández

Febrero, 2012

Page 2: Nessus versus Openvas

Índice de contenido

INTRODUCCIÓN:........................................................3 METODOLOGÍA DE LA COMPARATIVA:...........................4 ................................................................................4INSTALACIÓN, CONFIGURACIÓN Y USO DE “NESSUS” (HOME FEED):.............................................................5

CONCLUSIONES:....................................................13 INSTALACIÓN, CONFIGURACIÓN Y USO DE “OPENVAS” (GNU/GPL):...............................................................14 ANÁLISIS COMPARATIVO DE AMBAS HERRAMIENTAS....23

Page 3: Nessus versus Openvas

INTRODUCCIÓN:

Esta es una de las tareas que uno piensa de antemano que va a encontrar de forma fácil muchísima información y que, a base de leer y probar las herramientas “Nessus” y “Openvas” en cuestión, ya tiene resuelta la papeleta. Como dice el anuncio de la tele: “¡error!”. Si pensabas que era fácil...

Para empezar, apenas en un par de webs se molestan en hacer una breve descripción comparativa de ambas herramientas. En la web http://systemadmin.es cumplen mejor con las expectativas de una comparativa con buen número de detalles. De ella he partido yo para ir comprobando cuanto se afirma con respecto a cada una de las herramientas. El resto, nada que uno mismo no pueda comprobar a simple golpe de vista.

Ambas herramientas son muy utilizadas como detectores de vulnerabilidades. Creo que son las más utilizadas...

Sin embargo, la pregunta en la probable comparativa surge inevitablemente ¿cuál es mejor? ¿por cuál debería inclinarse un profesional del “pentesting” o alguien que quiera iniciarse en la seguridad informática?

Creo, ahora que he probado ambas herramientas que, poseen las mismas virtudes y adolecen de los mismos pequeños fallos, nada importante. La pregunta en mi opinión no debe ser cuál es la mejor, sino cuál es la que mejor se adapta a nuestras necesidades. Y calcular las necesidades que tenemos significa conocer la medida y el alcance de aquello que queremos conocer en profundidad; es decir, ¿hasta dónde queremos llegar en el conocimiento de las vulnerabilidades de un sistema? ¿debe ser ese conocimiento exhaustivo? ¿debe estar en función de un rango de prioridades de securización?

Mi comparativa es limitada por dos motivos: el primero, la herramienta “Nessus” utilizada es la denominada versión “home feed”, no la profesional. Si bien es cierto, que para uso didáctico y docente me permitirían usar la “Pro feed”. La verdad, no me he atrevido a solicitarla por si el proceso fuera engorroso en cuanto a la solicitud de datos y por si me viera “obligado” a exagerar mi papel profesional actual. Por otro lado, la herramienta “OpenVas” parece ofrecer menos limitaciones en cuanto a la configuración de las opciones de escaneo, pero se aprecia a simple vista que sigue la estela de “Nessus” en cuanto al modo en el que se realiza el escaneo, en modo “web gui”. Esto no la hace ni mejor ni peor a una u otra, pero nos dice quién marca el ritmo.

Lo mismo podríamos pensar de la cantidad de “plugins” que nos permiten detectar mayor o menor número de vulnerabilidades (en número de plugins gana claramente “Nessus”), pero como veremos tampoco eso significa

Page 4: Nessus versus Openvas

que una herramienta aventaje a otra o su detección sea más eficaz.

METODOLOGÍA DE LA COMPARATIVA:

He hecho varias pruebas antes de decidirme a escanear dos objetivos: uno, una máquina virtual “metasploitable” en la red interna y otro objetivo “real” en la red externa (internet). En realidad han sido varios objetivos, pero la metodología debía ser única y con criterios comunes para que la comparativa sea lo más objetiva posible y así poder elaborar este documento en base a una situación idéntica para ambas herramientas. Es decir, con ambas herramientas he escaneado los mismos objetivos, con las mismas características e idénticas circunstancias.

Los resultados son la prueba de uso de estas dos herramientas.

Page 5: Nessus versus Openvas

INSTALACIÓN, CONFIGURACIÓN Y USO DE “NESSUS” (HOME FEED):

La instalación de “Nessus” no ha variado mucho desde la última vez que la usé, allá hace un año sobre otra máquina virtual vulnerable. Lo más novedoso es el uso de la interface web para gestionar el uso de la herramienta en la tarea propuesta.

El procedimiento es el habitual y ya conocido por todos los Administradores de una red. Lo he instalado varias veces en distintas máquinas con sistemas operativos distintos. En Windows XP la instalación es, probablemente, la más sencilla puesto que en el mismo paquete instala todas las dependencias. Tampoco es muy difícil hacerlo en cualquier versión de GNU/Linux (Ubuntu, Debian, Fedora...), pero sí se requiere leer con detalle la documentación para hacer una instalación sin errores.

El único inconveniente que le he encontrado a la instalación en Windows es que consume más memoria que en otro sistema, va mucho más lenta la carga de todos los componentes y del entorno web. Tarda bastante. Esto al menos sucede en instalación en una máquina virtual (en adelante MV) con Vmware (Workstation o Player, da igual). No he probado en un sistema real.

Para obtener una copia del programa, accedemos a su página web en http://www.tenable.com/products/nessus/select-your-operating-system y seleccionamos nuestro sistema operativo.

En mi caso, la versión para Ubuntu 9.10/10.04 en formato “.deb”. Procediendo a su instalación con “Gdebi” instalador de paquetes. También lo he instalado en mi MV “Debian 5”, de donde proceden la mayoría de las capturas hechas con la terminal y los escaneos...

Page 6: Nessus versus Openvas

Cuando se ha instalado, comienza su configuración: creamos el usuario que se conectará al server Nessus:

Solicitamos el código de registro de nuestro software:

Page 7: Nessus versus Openvas

Y realizamos el registro desde nuestra terminal una vez obtenido dicho código:

Por cierto, al menos solicité 5 códigos (por las pruebas comentadas en distintas Mvs y sistemas) y no ha habido problemas en poner el mismo usuario y cuenta de correo en el registro.

A continuación, siguiendo el modelo tradicional, podría crear un certificado casero para conectar al server... No sin antes actualizar y descargar los plugins...

pero es suficiente con arrancar el servicio y conectar al servidor:

Hecho esto, podemos conectar al servidor usando la interface web en https://localhost:8834

He aquí donde tarda más en sistema Windows XP que en Debian... Si bien es cierto que carga un entorno programado en “Flash” (pensaba que era a extinguir) y hace acopio de los plugins...

Page 8: Nessus versus Openvas

Para a continuación, devolvernos la página para “loguearnos”.

Ciertamente, bien trabajado y vistoso...

Una vez dentro del entorno web de Nessus, nos lama la atención el hecho de no encontrar los “frames” de las versiones anteriores. Ahora, debemos movernos entre las pestañas y menús típicos de una aplicación web.

Lo primero es configurar o crear nuevas “policies” o políticas de escaneo de objetivos. En general, no es necesario reconfigurar o crear nuevas políticas...

En esta pestaña tenemos cuatro opciones: General (Marcaremos en la zona de Port Scanners todas las opciones disponibles). Credentials (lo dejaremos tal y como está). Plugins ( Es de las opciones más immportantes, en ella marcaremos sólo los que necesitamos, ya que sino el programa tardará verdaderas eternidades en completar escaneos, es decir, si sabemos que la máquina objetivo utiliza Windows, desmarcaremos todas las opciones para equipos Linux/Unix, por ejemplo). Preferences ( Nos vamos moviendo por los respectivos plugins y vamos rellenando información que tengamos, sino tenemos nada, que es lo más probable, lo dejamos tal y como está).

Una vez tenemos una política de escaneo bien configurada para una máquina objetivo, nos dirigimos a la pestaña “scans“, y pulsamos en “add“, para añadir uno nuevo.

Por defecto, son las de escaneo de red interna, de red externa, de aplicaciones y entornos web y preparación para auditorías PCI DSS (PCI Data Security Standard -PCI DSS-, es un estándar de seguridad que define el conjunto de requerimientos para gestionar la seguridad, definir políticas y procedimientos de seguridad, arquitectura de red, diseño de software y todo tipo de medidas de protección que intervienen en el tratamiento, procesado o almacenamiento de información de tarjetas de crédito).

Page 9: Nessus versus Openvas

Pasamos a escanear los objetivos programados. El primero una MV en la red interna que es una “appliance” preparada para entrenamiento en “pentesting”: la famosa “metasploitable”. La política de escaneo utilizada fue “Internal Network Full and Fast Scan”. Prácticamente 3.000 o 4.000 servicios.

El informe que nos ofrece la imagen de la captura, nos muestra un total de 53 vulnerabilidades; de éstas, 4 son consideradas de alto riesgo (críticas), 4 de riesgo moderado y el resto de bajo riesgo. La mayoría de las consideradas de bajo riesgo suelen tener “exploits” o pruebas de concepto que permitirían a un atacante introducirse en el sistema y poner en riesgo la información almacenada y el propio servidor también...

Los puertos y servicios abiertos en el servidor “metasploitable”. Se aprecia a simple vista que algunas de las vulnerabilidades severas son las del servicio ssh (famoso error fruto de una corrección y eliminación de código en Openssh), la del puerto 445 y el puerto 80 (servicios web). Todos ellos vulnerables y “exploitables”.

Page 10: Nessus versus Openvas

Explicación de la vulnerabilidad y el error de código... Más abajo nos indica que existe un “exploit” público...

Vulnerabilidad crítica en “samba” de la que también existe “exploit” público.

Para comprobar como trabaja “Nessus” utilizando la política de escaneo de “Red Externa”, decidí probar para ver qué me ofrecía como resultado dicho escaneo. Nada especial que no me resolviera el escaneo por defecto de Red Interna. Sin embargo, la captura es bastante elocuente y nos viene a confirmar las vulnerabilidades críticas que son mejor y más rápidamente detectadas por el escaneo de Red Externa. Supongo que la idea es que este tipo de escaneo nos advierte de qué servicios exactamente son de factor de riesgo alto y “exploitables” de forma remota ¡OJO!

Page 11: Nessus versus Openvas

No debo dejar de lado los tipos de informes (reports) y los formatos de los mismos que Nessus pone a disposición de los auditores. En el caso que nos ocupa he capturado el informe en formato “html” y el resultado es muy vistoso y bastante bien organizado. Otros tipos de formatos que pueden ser fácilmente exportables son: “pdf”, “HTML”, “NBE” (exportable para “Metasploit Framework”), “.nessus” (compatible con excel ya que es un formato “xml”), en formato “txt”, etc...

A continuación, elegí un objetivo de Internet, del rango de Ips de Telefónica de las que tengo constancia que son Ips fijas: 213.96.x.x

Page 12: Nessus versus Openvas

Encontré alguna IP francamente interesante (213.96.x.x), pero decidí un objetivo menos arriesgado, ya que el primero era ni más ni menos que el de la policía local de Elche (¡agua!).

¿Impresionante no? Obsérvese la parte inferior de la imagen anterior, subrayado en color marrón ;-)

Luego dicen que algunas de nuestras “infraestructuras críticas” y webs institucionales han sido objeto de ataques muy sofisticados (o no tanto). Lo que más me mosquea es el servicio Serv-U FTP en el puerto 6666 ¿? El maligno andará suelto, pero yo no lo voy a comprobar...

Bien, como decía, el siguiente objetivo que me va a servir para la comparativa, es el de Internet y el método y política de escaneo será el de “External Network”, aunque posteriormente cambié al modo “Internal Network” porque el escaneo es, a mi juicio, mucho más eficaz.

Page 13: Nessus versus Openvas

El factor más crítico detectado es el SNMP en el puerto UDP 161 que nos “chiva” prácticamente toda la configuración de la red interna del objetivo.

CONCLUSIONES:

En resumen, “Nessus” nos ofrece una instalación fácil, una configuración del entorno de trabajo lo suficientemente sencilla como para no ofrecer dificultades a los menos duchos en esta herramienta... Prácticamente, una vez instalado, se puede comenzar a hacer un escaneo de vulnerabilidades en cualquier sistema. Más facilidad de uso, si cabe, la encontramos en la versión para Window$, ya que instala todas las dependencias de golpe y su gestor de arranque del servidor y configuración de usuarios es “todo en uno”.

El inconveniente principal que ya comenté en la introducción es que trabaja un poco más lento en Mvs con Windows, a pesar de que las configuro con la suficiente memoria RAM. No lo he probado en sistemas reales (en mi portátil).

Page 14: Nessus versus Openvas

INSTALACIÓN, CONFIGURACIÓN Y USO DE “OPENVAS” (GNU/GPL):

La siguiente herramienta, como casi todo el mundo sabe, es un “fork” de la Tenable “Nessus” a partir de la versión 2.x. La gente de “Nessus” harta de que todo el mundo aprovechara los plugins de su herramienta pero nadie financiara con 1€ el proyecto, decidió cortar el grifo a muchos “chupópteros” y convertirse en empresa para, a continuación, poner a disposición de los auditores y estudiantes su herramienta de dos formas: “Pro” y “Home”, como ya hemos visto. No seré yo quien juzgue su derecho a controlar y vivir de su trabajo, pero podríamos hacer una crítica feroz al modo en que dejaron a muchos programadores y auditores con su trabajo fuera de contexto...

“Openvas” es el resultado del “pique”. OpenVAS está a favor de Open Vulnerability Assessment System y es un escáner de seguridad de red con herramientas asociadas como una gráfica de usuario front-end. El componente básico es un servidor con un conjunto de pruebas de vulnerabilidad de red (NVTs) para detectar problemas de seguridad en sistemas remotos y aplicaciones.

De entrada es un poco más complicada de configurar y de poner en marcha. Nos da un pelín de guerra en este sentido. De hecho, es más modular que “Nessus” y eso se nota a la hora de ponerla en marcha.

En una web nos indicaban de este modo su instalación y puesta en marcha para la versión 10.04 de Ubuntu desde sus fuentes (curiosamente, desde Opensuse):

Page 15: Nessus versus Openvas

En otra web, comprobé que cuanto en la anterior me contaban se correspondía con la realidad. La fortuna fue que era más comprensible en todos los sentidos: http://www.securitybydefault.com/2011/12/configurar-openvas-en-backtrack-5-r1.html

En resumen, el proceso de instalación, arranque y uso sería este:

1. Crear el certificado para garantizar la comunicación encriptada con el server,

2. Conectar con la web “openvas” y descargar y/o actualizar los plugins

Page 16: Nessus versus Openvas

3. Crear un certificado para el cliente,4. Reconstruir la base de datos de la herramienta,5. Arrancar el servicio que carga los plugins (tarda...)6. Volver a recrear la base de datos (I)7. Volver a recrear la base de datos (II)8. Volver a recrear la base de datos (III)9. Crear el usuario que conectará con el servidor (puede ser o no el

admin también)10. Crear el usuario...

11, 12 y 13: Arrancar el manager, administrador, y el servicio web para el cliente... La opción 13 es la que le dice al servidor que nos conectaremos por “web gui” en https://localhost:9392

La captura anterior es posterior a la creación de usuarios (tanto Admin como usuario normal)...

Page 17: Nessus versus Openvas

Y esta de arriba, nos muestra como se actualizan los plugins de “Openvas” (el 1 de febrero ocupaban 9 Mb).

A continuación, abrimos el navegador y conectamos con el servidor en la “web gui” comentada. Al principio, nos pide que confirmemos que el certificado tiene validez para nuestras conexiones...

NO hay problema, así que confirmamos esta excepción y, seguidamente, podemos ver en toda su gloria el entorno web desde el que poder usar esta herramienta para nuestra comparativa:

El entorno web y el nombre de usuario elegido para conectar con el

Page 18: Nessus versus Openvas

server (también tiene privilegios de Admin).

Tal y como sugiere la documentación estudiada, tanto la oficial como aquella que he buscado por mi cuenta, se nos aconseja configurar y preparar el entorno de la herramienta comenzando por el objetivo (“target”):

Una vez configurado el objetivo, donde se puede apreciar la IP y el método de escaneo, pasamos a crear la tarea (task) que es ni más ni menos que la definición real del método de escaneo con el objetivo ya delimitado:

Se puede apreciar como en la tarea queda definido el objetivo. A este respecto decir que “Openvas” nos permitirá configurar no solo los rangos (ilimitados), sino también un número indeterminado de objetivos y hasta el horario en el que se va a realizar. Es decir, nos va a permitir automatizar la tarea con el consiguiente ahorro de tiempo y esto redundará en un beneficio mayor de la gestión y administración de nuestra red.

Ahora pasamos a realizar el análisis de vulnerabilidades de la MV “metasploit” para comprobar cómo se comporta “Openvas” en relación a “Nessus”. El objetivo se encuentra en la IP 192.168.1.3 y forma parte de la red interna casera.

Page 19: Nessus versus Openvas

La interfaz es un poco más compleja que la de “Nessus” y entre otras características apreciamos una que se denomina “Escaladores” (scalators). En esta opción podemos configurar cómo gestionar los eventos a partir del escaneo efectuado. Podemos indicar que se mande un evento en función de varias opciones:

• Cuando cambia el estado de una tarea • Según el nivel de alerta:

• Siempre • Si se incremente • Si llega a un umbral

A parte de indicar el método con el que se envía el evento:

• Mediante email • Evento a syslog • Trap SNMP • GET HTTP a una cierta URL

La otra opción interesante que no se gestiona fácilmente en “Nessus” (al menos yo no sé como hacerlo), es el denominado “Anulado” (override). Un aespecie de aviso de prevención de falsos positivos que pueden llevar a engaño al auditor.

En esta nota yo añado una observación sobre el resultado del escaneo, pero el “override” está pensado para dar cuenta de esos errores en la base de datos de los plugins. Esto está mejor explicado en:

Page 20: Nessus versus Openvas

http://systemadmin.es/2011/03/openvas-en-centos-5-5-escaner-de-vulnerabilidades Así se pueden prevenir esos falsos positivos posteriormente en otros escaneos.

Vamos a la tarea. El objetivo principal como decíamos es la distro “metasploitable” que la tengo en mi red local como una MV a la que puedo atacar (mi entrenamiento de pentester aficionado).

Aquí tenemos el resultado del escaneo con “Openvas”. Lo primero que destaca en el resultado es la cantidad de vulnerabilidades encontradas. Openvas nos muestra 48 vulnerabilidades en total. De las que considera que hay 25 de alto riesgo (4 nos decía Nessus) y 23 de riesgo medio.

Al igual que en Nessus podemos ir viendo los detalles en torno a los resultados, de modo que podemos leer acerca de cada una de las vulnerabilidades encontradas y conocer en qué consiste cada una de ellas, cómo se puede solucionar y si existe “exploit” para dicho problema.

La lectura de alguno de ellos, por ejemplo ProFtpd en el puerto 21, nos

Page 21: Nessus versus Openvas

muestra cuanto afirmo más arriba.

OJO que el hecho de que nos devuelva 25 vulnerabilidades de alto riesgo no significa necesariamente que haya descubierto más cosas que Nessus. Sencillamente, desglosa todas las encontradas aún formando parte del mismo servicio. Es el caso de las vulnerabilidades encontradas en el servicio FTP, puerto 21, o las de MySql en el puerto 3306.

Lo curioso de “Nessus” es que devuelve tan solo 4 vulnerabilidades como críticas frente a 25 de Openvas. Ahora bien, resalta la importancia de esos 4 elementos de riesgo y sus puertos (80, 21 y 445). A “Nessus” se le olvida la grave vulnerabilidad en el puerto 22 con Openssh y su inexistente semilla aleatoria en la generación de la password... Menudo barrido que se dieron los

Page 22: Nessus versus Openvas

chinos por todo tipo de servidores *nix en esa época. Hasta 3 ataques en dos días al servidor del colegio que por entonces tenía expuesto a Internet...

En el segundo caso objetivo, el de la red externa en la IP 213.96.x.x, al que yo he nombrado como 14, amabas herramientas coinciden en sus apreciaciones y levantan como de alto riesgo el servicio SNMP en el puerto UDP 161. Hasta aquí el resultado de los objetivos escaneados

Visto el asunto para sentencia...

Page 23: Nessus versus Openvas

ANÁLISIS COMPARATIVO DE AMBAS HERRAMIENTAS1

NESSUS (home feed) OPENVAS• Mayor número de plugins• Facilidad de instalación (sobre

todo en Windows)• Entorno claro y diáfano, buen

aspecto (entorno flash)• Muy intuitivo• --------–• Configuración con pocas

opciones, limitado• Escaneos no programados• Escaneo de equipos reducido• No permite prevenir y

corregir falsos positivos• No encuentra todas las

vulnerabilidades existentes en el equipo preparado

• Escaneado con credenciales mejor que sin ellas (whitebox)

• Informes completos muy vistosos con referencia a la BD de vulnerabilidades, fechas, parcheo, exploits, etc

• Formatos de exportación de resultados de alta compatibilidad (metasploit, excel), NBE, XML

• Preparado para auditorías PCI-DSS

• No tiene escalado de eventos• ---• Gratuito para uso personal,

versión limitada

• Menor número de plugins• Instalación de varios componentes

y, por lo tanto, más dificultosa• Entorno con demasiados

elementos, aspecto lioso.• con muchas opciones, no muy

intuitivo• Configuración con muchas

opciones, a medida• Se pueden programar escaneos• Escaneo equipos ilimitados• Permite prevenir falsos positivos y

sirve para añadir anotaciones• Encuentra prácticamente todas las

vulnerabilidades existentes en el equipo preparado

• No veo la opción de escaneado con credenciales

• Informes menos vistosos, pero muy efectivos y con todos los detalles, fechas, parcheos, exploits, etc.

• ----• Formatos de exportación idénticos

a Nessus (pdf, NBE, XML, etc) Más opciones

• Preparado para ISO 27001 y auditorías PCI-DSS (tarjetas de crédito)

• Tiene escalado de eventos configurables

• Gratuito siempre versión completa• ---

Las referencias aparecen a lo largo de todo el documento. Por ello no las incluyo aparte a modo de bibliografía.

1 La comparación se hace a partir de los resultados y de la información buscada en la web. Concretamente en “Systemadmin”.