miércoles, mayo 02, 2007

Test de Intrusión (V de VI)

****************************************************************************************
Artículo Publicado en PCWorld Abril 2007
- Test de intrusión [I de VI]
- Test de intrusión [II de VI]
- Test de intrusión [III de VI]
- Test de intrusión [IV de VI]
- Test de intrusión [V de VI]
- Test de intrusión [VI de VI]
****************************************************************************************


Durante estos meses hemos estado recorriendo las herramientas que van desde la recogida de la información que ofrece un sistema informático hasta como funciona el ciclo de bug, exploits, parche, scanner de vulnerabilidades. Esta vez nos centramos en las herramientas principales para la realización de un test de intrusión.

Los Escáneres de Vulnerabilidades

Este tipo de herramientas son la pieza principal cuando se va a realizar una auditoría de seguridad, tanto de caja blanca, como de caja negra. Engloban el conjunto de acciones necesarias para identificar las IPs activas, los puertos y servicios ofrecidos, la identificación del sistema operativo, el nivel de actualizaciones de seguridad aplicadas e incluso la detección y explotación de las vulnerabilidades encontradas. Dentro de los múltiples escáneres de vulnerabilidades los hay más o menos amigables, es decir, los hay que no ejecutan nunca la fase de intento de explotación de los fallos encontrados y otros que los prueban como forma normal de trabajo. Esto puede llevar a que la realización de una auditoría con un escáner poco “friendly” pueda “tumbar” algún servicio o servidor.

Si estas herramientas realizan todas las fases del proceso, ¿esto quiere decir que todas las herramientas anteriores no son necesarias? No, las herramientas anteriores son mucho más específicas en su función y permiten ser afinadas mucho más allá de lo que permitirá una escánner de vulnerabilidades completo.

Otra de las características de los escáneres de vulnerabilidades es que no son todos iguales, ni en la detección, ni en la evaluación de los riesgos, ni en la profundidad de los análisis, así que siempre es recomendable la utilización de, al menos, un par de ellos en un buen estudio.

Satán, Santa y Nessus

Aunque previamente habían aparecido muchos escáneres de una vulnerabilidad o un exploit, quizá el primer escáner de vulnerabilidades completo que se creo fue S.A.T.A.N. (Security Administrator Tool for Analyzing Networks). Su nombre creo mucha controversia así que realizaron apareció la versión SAINT “SANTA” (Security Administrator's Integrated Network Tool) que hoy en día se comercializa.

El relevo de estos lo cogió Nessus, apareciendo en el año 1998, de la mano de Renaud Deraison, la primera versión pública del producto. En su origen y hasta el año 2005 todas las versiones han salido bajo la licencia GPL, pero a finales del año 2005 anunció que la versión 3 sería gratuita pero no GPL. Las últimas versiones de Nessus se pueden obtener de la web http://www.nessus.org pero pertenecen a la empresa Tenable Network Security, la empresa que Renaud creo en el año 2002.

Nessus

Nessus es una de las herramientas preferidas por todos a la hora de realizar un test de penetración en una red debido a algunas de sus características.

- Actualización y funcionamiento mediante Plugins: Todos los escáneres de vulnerabilidades deben ofrecer un sistema de actualizaciones rápido para detectar las nuevas vulnerabilidades, que aparecen constantemente. En Nessus funciona mediante plugins, bajo demanda podemos actualizar la base de datos de conocimiento antes de cada ejecución para tener siempre actualizado el repositorio. Para hacer el sistema mucho más flexible en la creación de plugins y para poder ser alimentado con conocimiento propio podemos crear nuestros propios añadidos utilizando el lenguaje NASL (Nessus Attack Scripting Language).

Imagen: Detección de Plugins

Imagen: Actualización de Plugins

- Arquitectura cliente/servidor: El sistema está diseñado para funcionar desde distintos clientes contra distintos objetivos, así, Nessus corre como servicio en la máquina que desees y puede ser utilizado desde cualquier cliente. Esta arquitectura es independiente de plataforma y permite instalar, tanto los clientes como los servidores en arquitecturas Microsoft y *NIX. Esto va a permitir hacer esfuerzos económicos para tener un mejor servidor que va a ser productivo para muchos clientes. Además, los objetivos pueden ser casi de cualquier tipo ya que su base de conocimiento detecta vulnerabilidades en Servidores, clientes y dispositivos de red corriendo Windows, *NIX o MacOS.

Imagen: Configuración de Servicio Servidor

- Políticas de auditoría: Es importante que cualquier escáner de vulnerabilidades permita afinar la política a aplicar, poder elegir los servicios y las vulnerabilidades a auditar (no es lo mismo auditar un servidor de correo que un servidor FTP), que se integre con los distintos protocolos de comunicaciones (algunos escáneres tienen problemas con los protocolos SSL) y que se pueda decidir si queremos un escaneo amigable o uno hasta las últimas consecuencias, es decir, que pruebe todo aun asumiendo que podemos realizar una denegación de servicio en algunos servicios o en el sistema. Para ello en Nesuss, cuando creamos o editamos una política definiremos si queremos una Segura o no y después los plugings que queremos que pruebe en el proceso de auditoría.

GfI Languard Network Security Scanner

La empresa GFI tiene una amplia gama de herramientas de seguridad, desde herramientas para la protección de servidores, herramientas para la gestión y correlación de eventos de seguridad y como no un escáner de vulnerabilidades, LanGuard Network Security Scanner. Esta solución ha sido tradicionalmente una de las más utilizadas en entornos Microsoft y ha tenido una gran aceptación en España. El contar con la solución en castellano y con soporte en castellano para los clientes ofrecido desde España hizo de esta una de las opciones más utilizadas, además de una política de precios muy asequible. El producto no solo es un escáner de vulnerabilidades sino que además es una solución que permite desplegar parches. Al igual que Nessus y la mayoría de las soluciones equivalentes permite el perfilado de las políticas. Para escribir este artículo se ha utilizado la versión 8 del producto que actualmente está en versión beta. A la hora de escanear y auditar una plataforma Microsoft esta es una de las mejores soluciones, es la solución que más información ofrece y mejores resultados muestra. En las políticas por defecto expande algunas vulnerabilidades, es decir, las aprovecha, siempre que no sean dañinas. Muy recomendada, puedes bajarte una versión de evaluación totalmente funcional de la web http://www.gfihispana.com

Imagen: GFI Languard Network Security Scanner


Shadow Security Scanner

Esta herramienta, de Safety-Lab, ha sido una de mis preferidas durante mucho tiempo porque era “poco friendly”, de hecho la llamábamos cariñosamente “la bestia parda”. Esta forma de trabajar la herramienta le venía heredado de su predecesor Shadow Scanner, una herramienta que no se vendía y que estaba pensada no como Scanner de Vulnerabilidades sino como un Scanner para atacar, con opciones de bombardeo inclusive. Este perfil de la compañía se nota con otras herramientas como Shadow Instant Message, herramienta que se usa para “auditar la seguridad” de las conexiones de los sistemas de mensajería instantánea como MSN Messenger o Yahoo Messenger. Todavía es posible encontrar la primera herramienta en los “mentideros” de Internet. A día de hoy el mantenimiento y actualización de Shadow Security Scanner ha decaído ligeramente y personalmente creo que está por detrás de sus competidoras. No tiene soporte en castellano aunque sí en catalán. Puedes descargar una versión de evaluación completamente funcional durante 15 días desde la web de la compañía http://www.safety-lab.com.

Imagen: Shadow Security Scanner

E-eye Retina

La empresa E-eye, famosa por su sniffer IRIS, tiene la solución Retina para la auditoría de vulnerabilidades en software. Al igual que GFI, cuenta con presencia y soporte en España lo que hace de ella una buena alternativa. Se puede conseguir una versión totalmente funcional de 15 días de la web de la empresa: http://www.e-eye.com

Imagen: E-eye Retina Network Security Scanner

Otros Escáneres

Existen otros muchos escáneres de vulnerabilidades, tanto de pago, como realizados por comunidades de desarrolladores, quizás algunos echéis en falta ISS (Internet Security Scanner), NetBrute o XScan o cualquier otro, pero al final las ideas son similares. Mi recomendación como siempre es contar con un par de ellos como mínimo en cualquier test de intrusión que se vaya a realizar.

Resumen del proceso

Si tuviéramos que resumir brevemente cual es el proceso que hay que seguir para la realización de un test de intrusión sería el siguiente:

1.- Identifica que quieres auditar: Utilizando las técnicas de Footprinting y FingerPrinting vistas en la primera parte.
2.- Busca las vulnerabilidades de esos productos: Utilizando los expedientes de seguridad o los escáneres de vulnerabilidades vistos en la segunda y tercera parte.
3.- Busca los exploits para esas vulnerabilidades como vimos en la segunda parte de este artículo.
4.- Parchea para dejar el sistema corregido tal y como recomiende el fabricante del software en los expedientes de seguridad de la vulnerabilidad.

Este proceso debe ser parte del plan de mantenimiento de los servicios/servidores y debe estar igual de planificado como el proceso de copia de seguridad o de actualización de software, sin embargo, a día de hoy, esto lo realizan pocas empresas o no tantas como debieran en un claro síntoma de descuido hacia su sistema informático.

¿Eso es todo?

Pues no, en primer lugar hay que tener en cuenta que un test de intrusión realizado por dos auditores distintos puede obtener resultados dispares dependiendo de la destreza de un auditor a la hora de configurar las políticas de los escáneres para saltarse los mecanismos de seguridad intermedios o afinar los plugins a ejecutar. Además de todo esto hay que tener en cuenta que una auditoría de seguridad solo tiene validez para el punto de ejecución desde donde se ejecuta, es decir, imaginemos que realizamos un test de intrusión desde Internet y hay una vulnerabilidad que está siendo protegida por el firewall de perímetro a nivel de aplicación. Desde Internet podremos tener un sistema que aparentemente no es vulnerable, mientras que un acceso desde la intranet o desde una conexión VPN puede detectar la vulnerabilidad.

****************************************************************************************
Artículo Publicado en PCWorld Abril 2007
- Test de intrusión [I de VI]
- Test de intrusión [II de VI]
- Test de intrusión [III de VI]
- Test de intrusión [IV de VI]
- Test de intrusión [V de VI]
- Test de intrusión [VI de VI]
****************************************************************************************

1 comentario:

  1. Las imagenes de SSS y de Retina estan intercambiadas, soy el unico que se dio cuenta ? No hace falta ser un lince xDD

    Gracias por este aporte, estoy aprendiendo mucho =)

    ResponderEliminar