Detección del Sistema Operativo (II). Nmap, Xprobe2 y p0f.

Veamos algunas de las herramientas más utilizadas para identificar sistemas operativos:

NMAP (fingerprinting activo)

Nmap es una utilidad de software libre para explorar, administrar y auditar la seguridad de redes de ordenadores. Detecta hosts online, sus puertos abiertos, servicios y aplicaciones corriendo en ellos, su sistema operativo, que firwalls/filtros corren en una red y de que tipo son. Hay que tener en cuenta que nmap es ante todo un escaner de red, aunque incluye un modulo de detección de SO. Si buscamos que el escaner de puertos sea lo mas discreto posible, debemos estudiar detenidamente las opciones, pues por defecto es muy probable que seamos detectados.

Nmap utiliza una base de datos de mas de 1500 entradas, acumuladas durante años gracias a los aportes de la comunidad. El modulo de detección de SO funciona mediante el envió de hasta 15 paquetes TCP, UDP e ICMP que sirven tanto para conocer los puertos abiertos/cerrados como para determinar el sistema operativo.

XPROBE2 (fingerprinting activo)

Xprobe2 es una herramienta para identificar SOs basada en el uso de paquetes ICMP. Su funcionamiento se basa en el envío de varios paquetes a un host para después analizar los paquetes ICMP devueltos. Entre las ventajas que presenta frente a Nmap estan:

– Más rápido: Se envían un máximo de 4 paquetes.

– Mas discreto: No envía datagramas malformados.

P0F (fingerprinting pasivo)

La herramienta p0f está desarrollada para realizar fingerprinting de forma pasiva. Este tipo de técnica, al contrario que la activa, no genera tráfico adicional o inusual para detectar o extraer información y por lo tanto no puede ser detectado. El hecho de no ser detectado suele ser un aliciente para usar estas técnicas pasivas frente a las activas, ya que podemos explorar entre datos de la red y sabemos que la víctima no se enterará de que estamos interactuando con la información que manda o recibe. P0f tiene tres modos de detección diferentes: SYN, SYN+ACK y RST.

Detección del Sistema Operativo (I). Fingerprinting activo y pasivo.

Con vista a futuras entradas relacionadas con este tema, explicaremos de forma breve y concisa las diferentes técnicas de detección de sistemas operativos  en base a la comprobación de huellas , técnica tambien conocida como fingerprinting.

La técnica de fingerprinting consiste en la suposición de un determinado SO a través del análisis del comportamiento observado cuando se realizan determinadas peticiones a una máquina o análisis de tráfico de un sistema determinado. Dicho análisis se realiza mediante el aprendizaje de distintos patrones observados a lo largo del tiempo.

Existen dos formas de realizar fingerprinting: activa y pasiva.

Fingerprinting activo

El fingerprinting activo se define como aquel en el que el atacante realiza alguna acción que provoque algún tipo de respuesta en la vıctima. Esto se traduce en el envío de paquetes destinados a la máquina víctima, con los que comprobar su comportamiento en situaciones anómalas o no especificadas por los estándares.

Fingerprinting pasivo

Cuando se utiliza la variante pasiva de la técnica del fingerprinting los paquetes a analizar se obtienen directamente de la red local, lo cual quiere decir que el sistema atacante no genera ningún tipo de comunicación hacia el destino con el fin de provocar una respuesta.

Los dos términos anteriormente explicados podemos ilustrarlos mediante la siguiente figura, extraída de securityfocus:

network schema

La herramienta Honeyd

Les presentamos la herramienta Honeyd, se trata de una herramienta muy útil, una gran aportación al software libre que, aceptando la recomendación de nuestro tutor de proyecto, usaremos para nuestro proyecto y para el concurso dado que, para que vamos a rehacer lo que ya hay hecho y más aún al nivel de Honeyd, de modo que pretendemos ampliarlo añadiendo funcionalidad y una interfaz intuitiva para convertirlo en CandyTrap que pretendemos sea una herramienta indispensable para una seguridad eficiente a nivel de redes, aún más que Honeyd.

Actualmente nos encontramos trabajando sobre la documentación del proyecto y realizando un análisis exhaustivo de Honeyd sobre el que iremos publicando información a nivel de funcionalidad y arquitectura proximamente.

Bienvenidos a CandyTrap

Bienvenidos al blog de desarrollo de Candytrap, un proyecto de software libre que desarrollaremos como PFC y que además presentaremos al VI Concurso Universitario de Software Libre. El objetivo de este blog es que podáis seguir y participar en el diseño y desarrollo del proyecto. Para más información, incluidas vías de contacto con los autores, visitad la sección Contacto.

Pero…¿Que es CandyTrap?

La primera idea sobre CandyTrap es sencilla: una aplicación destinada a la Seguridad Informática que permita simular un número determinado de hosts virtuales en una red, siendo cada uno de ellos personalizable con el fin de emular distintos sistemas operativos y servicios. Resumiendo, el objetivo de CandyTrap es implementar un honeypot/honeynet virtual de media interacción, acompañado de una serie de características funcionales que serán definidas de aquí en adelante. Si te has perdido, te aconsejamos que visites la sección Background, que te ayudará a comprender la infraestructura honeypot y el objetivo de este proyecto.

Recuerda que solo es una primera idea, en próximas entradas explicaremos más sobre la arquitectura y objetivos de CandyTrap. Esperamos que os guste la idea y os animamos a que colaboréis, cualquier tipo de idea o ayuda será bienvenida. Saludos!