• No se han encontrado resultados

Capítulo 2: Estudio de herramientas para sistemas trampas virtuales

2.2 Specter, Honeypot para Windows

La herramienta que se analiza para implementar un Honeypot de baja interacción en sistemas operativos Windows es Specter v8.0.

La selección de la misma se basa en el hecho de que la mayoría de las soluciones de sistemas trampas para la plataforma Windows poseen pocas capacidades para escuchar puertos, limitadas capacidades de simulación de servicios y limitados mecanismos de generación de alertas. Ejemplo de ello son: HoneyBOT, que solo trabaja con 1000 puertos UDP y TCP predefinidos [3], el BackOfficer Friendly, que solo simula y escucha siete servicios que posee con una capacidad de respuesta extremadamente limitada [36], así como el KFSensor, que simula un servidor Web Microsoft IIS y responde a las conexiones en una variedad de formas, escuchando algunos puertos y servicios básicos de Internet como FTP y HTTP [24] [26].

Por otro lado Specter es una solución comercial para implementar un Honeypot de baja interacción, creado por la compañía de seguridad de redes de Suiza llamada NetSec, que simula una gran variedad de servicios (figura 2.1). Se instala solo en sistemas que posean una plataforma de sistema operativo Windows, aunque las versiones 6.0, 7.0 y 8.0 solamente trabajan en los sistemas operativos Windows NT SP6A, Windows 2000 SP1 y Windows XP. Los recursos de Hardware que demanda son al menos un procesador Pentium II a 450 MHz y 128 MBytes de memoria RAM para las versiones 6.0 ,7.0 y 8.0 [29] [37].

Figura 2.1 Panel de control del Honeypot Specter v8.0

En comparación con otras herramientas tales como el BackOfficer Friendly [37], el cual monitorea y simula los siete servicios FTP, TELNET, SMTP, HTTP, POP3, IMAP2 y Back Orifice, posee la característica de tener una gran funcionalidad, mayores capacidades de monitoreo y simulación de servicios. Simula siete servicios, monitorea seis trampas y una trampa configurable, que monitorea diferentes puertos. Esta flexibilidad le da la posibilidad de detectar ataques en trece puertos TCP predefinidos y un puerto TCP configurable que permite escuchar cualquier puerto TCP, detectando un gran número de ataques diferentes [37].

Además de simular diferentes servicios y monitorear puertos como el BackOfficer Friendly [37] y HoneyBOT [3], simula catorce sistemas operativos diferentes al nivel de aplicación, uno a la vez. Esta capacidad da flexibilidad para identificar amenazas en diferentes sistemas operativos [29].

Otra característica importante es la habilidad para simular aplicaciones, donde los servicios imitan la interacción con estas aplicaciones. Los servicios simulados por él poseen gran realismo e interacción fortalecida que parecen ser auténticos para cualquier atacante. Un ejemplo de esto es que simula un servidor Web con páginas Web con las que el atacante puede interactuar, las cuales pueden ser modificadas añadiéndole cualquier contenido y gráficos haciendo más real al Honeypot. Pero las capacidades de simulación de Specter no se limitan a simular un servidor Web Microsoft IIS como el KFSensor, sino también un servidor Web Apache o iPlanet cuando simula un sistema operativo Solaris (ver Anexo 1) [37].

También permite asignar al Honeypot direcciones de nombres de dominio (DNS), nombre propio y cinco personalidades diferentes para variar su comportamiento. Provee archivos de contraseñas falsas en tres formatos diferentes y siete tipos diferentes usadas para engañar a intrusos que interactúen con él [29].

Es una potente solución de detección debido a su forma de generar las alertas comparado con otras soluciones. Al detectar los ataques posibilita alertar la actividad de varias formas diferentes. Los diferentes métodos de alerta se basan en alertas detalladas por correo electrónico correo electrónico diseñadas para localizar personas y mensajes de logueo remotos. Estas capacidades de alerta dan al personal de seguridad la posibilidad de obtener la información necesaria en un formato fácil de usar y rápido, además de ser alertado en tiempo real [37].

Por último, es una herramienta fácil de instalar, configurar y mantener bajo una interfase grafica de usuario. Además se configura y administra desde cualquier máquina remota en red que trabaje sobre las plataformas Windows 98/ME/NT/2000/XP [29].

2.2.1 Funcionamiento

El funcionamiento se basa en escuchar los puertos TCP de algunos servicios o trampas seleccionadas, y cuando un atacante interactúa con uno de estos servicios, captura toda su actividad, logueando su comportamiento y generando alertas. Para verificar los puertos que se escuchan con Specter se puede ejecutar el comando del sistema netstat -a. En el Anexo 2 se muestra un ejemplo del uso de este comando, mostrando como se escuchan los puertos 21, 25, 80 y 110, los cuales son los puertos de los servicios FTP, SMTP, HTTP y POP3 respectivamente.

Al igual que el BackOfficer Friendly [37] y HoneyBOT [3] posee la misma limitación de no poder escuchar o monitorear puertos usados por otras aplicaciones. Por ejemplo, si una aplicación en la máquina usa el puerto FTP (puerto 21) en el Honeypot, entonces Specter no puede monitorear este puerto [37].

Specter también funciona simulando uno de los catorce diferentes sistemas operativos que posee, cambiando el comportamiento del servicio para imitar al sistema operativo seleccionado. Todas las simulaciones de sistemas operativos se realizan por los siete servicios básicos FTP, TELNET, SMTP, FINGER, HTTP, POP3, NETBUS de Internet que posee, los cuales se simulan con la misma inteligencia. Por ejemplo, si se selecciona al Honeypot para que funcione como un servidor Windows XP, entonces los servicios simulados se comportarán como un sistema Windows XP. Cuando el

atacante realice una conexión por el puerto 80 (servicio HTTP) al servidor Web,

encontrará la página de bienvenida del servidor Web IIS (Microsoft Internet Information Server) exactamente como si fuera un servidor Windows XP real (ver figura 2.2). Además, simula el servidor Web con páginas Web interactivas, haciendo al Honeypot más real.

Figura 2.2 Simulación de un servidor Web Windows XP por el Honeypot Specter

Por otro lado sus trampas no alteran el comportamiento basado en el sistema operativo seleccionado, ni simulan ningún servicio en específico. Solo monitorean la actividad de los puertos [37].

Otra funcionalidad es que posee un set de contraseñas falsas que están disponibles para ser capturadas por los atacantes. Los tres formatos de los archivos de contraseñas soportados son [29]:

9 Contraseñas en formato Unix.

9 Contraseñas en formato NT / W2K / XP sin compresión binaria. 9 Contraseñas en formato NT / W2K / XP con compresión binaria.

El sistema operativo seleccionado dicta el formato y el tipo de contraseña que el atacante capturará. Si el Honeypot es un sistema basado en Windows, tal como Microsoft XP, entonces la base de datos de contraseñas que el atacante capturará estará en el formato usado por Windows XP. Si es configurado para simular un sistema operativo basado en Unix, tal como Solaris o Linux, entonces la base de datos de contraseñas tendrá el formato utilizado por Unix. De esta forma responde y funciona de diferentes formas de acuerdo al sistema operativo simulado.

y desde el Honeypot usan protocolo IP asado en el sistema operativo Windows [37].

por el Honeypot, ncontrando discrepancia entre el nivel de red y de aplicación [37].

a directa de los sistemas operativos a utilizar como lataforma del Honeypot [37].

P predefinidos y la dirección IP que posee la computadora donde es stalado.

Al igual que el KFSensor [26] y otras herramientas para plataforma Windows [22], solo funciona simulando los sistemas operativos al nivel de aplicación. No simula el nivel de red IP. Aun cuando simula los servicios como un servidor Linux o MacOS y otros, la capa de red sigue siendo la pila de protocolo de red IP de Microsoft. Esto significa que todas las comunicaciones basadas en IP hacia

b

Esta forma de trabajar representa su mayor limitación, ya que cada sistema operativo posee sus propias características en cuanto a nivel de red IP se refiere. Esto hace que el sistema trampa pueda ser descubierto por cualquier intruso hábil que use herramientas de identificación que verifiquen el nivel de red usado

e

La combinación en la simulación del nivel de red y de aplicación es un requisito fundamental en una herramienta para implementar un Honeypot de baja interacción. La única forma que puede no ser detectado por un atacante que verifique el nivel de red del Honeypot, es cuando Specter simula el mismo sistema operativo Windows sobre el cual se instala el Honeypot. Por ejemplo, si se intenta implementar un Honeypot Windows XP, el sistema operativo que debe ser instalado en la computadora que implementa el Honeypot debe ser Windows XP. Esta operación hace parecer a Specter un sistema de producción real, siendo prácticamente un Honeypot indetectable, pero a la vez crea una dependenci

p

A diferencia de otros Honeypots como Honeyd [31], no tiene capacidad para monitorear el espacio de direcciones IP sin uso, sino que él solo esta limitado a monitorear los puertos TC

.2.2 Sistemas operativos y servicios simulados

ol ostrado en la figura 2.1. Los sistemas operativos simulados son los siguientes [29]:

Step

3 ys Unix

s XP

9 Tru64 9 FreeBSD

ién tiene la capacidad de simular siete servicios mencionados a continuación 7]:

9

sferencia de archivos. Es extremadamente atacado por

9

ota de sistemas. Es otro de los blancos más comunes de los

9

uchas organizaciones y es uno de los

9 acerca de usuarios

remotos en el sistema. Se escucha en el puerto TCP 79.

2

Como se mencionó, la versión 8.0 de Specter tiene la capacidad de simular catorce sistemas operativos diferentes, los cuales se seleccionan en el panel de contr m 9 Windows 98 9 NeTX 9 Windows NT 9 Irix 9 Windows 200 9 Unis 9 Window 9 AIX 9 Linux 9 MacOS 9 Solaris 9 MacOS X Tamb [3

FTP (File Transfer Protocol): este servicio se escucha por el puerto TCP 21 y

es usado para la tran los intrusos de redes.

TELNET: este servicio se escucha por el puerto TCP 23 y es usado para la administración rem

intrusos de redes.

SMTP (Simple Mail Transfer Protocol): este servicio se escucha por el puerto TCP 25 y es usado para el envío y recibo de correo electrónico. Es un servicio que poseen casi todos los usuarios de m

blancos más atacados en cualquier red.

9 HTTP (Hyper Text Transfer Protocol): este servicio se escucha por el puerto TCP 80. De los servicios ofrecidos por Specter, este es el más atacado en la actualidad.

9 POP3 (Post Office Protocol): este servicio se usa por clientes que reciben correo electrónico y se escucha por el puerto TCP 110.

9 NETBUS:es un troyano de Windowsy se escucha por el puerto TCP 12345.

Estos servicios simulados poseen características avanzadas; realmente interactúan con el atacante simulando ser una aplicación real. El nivel de simulación depende de cada uno de los servicios, y su comportamiento depende del sistema operativo seleccionado [37] [39].

Un ejemplo de ello es la simulación del servicio HTTP, el cual posibilita simular un simple servidor Web con páginas Webs estáticas. Otro ejemplo es el servicio FTP que permite a un atacante loguearse en el sistema y ejecutar algunos comandos básicos del servicio FTP. La mayoría de los intrusos utilizan la táctica de obtener los archivos que contienen contraseñas del sistema mediante el servicio FTP, con el objetivo de descifrar la información de las cuentas y contraseñas de los usuarios del sistema. Mediante la simulación del servicio FTP, Specter transfiere archivos de cuentas y contraseñas falsas, haciendo creer a los intrusos que los archivos son legítimos y que pertenecen a sistemas reales [39].

2.2.3 Carácter de comportamiento

Specter se comporta de cinco formas diferentes, las cuales se seleccionan en su panel de control. Sólo se escoge una de las cinco personalidades a la vez, las cuales son: Accesible (Open), Fallido (Failing), Extraño (Strange), Agresivo (Aggressive) y Seguro (Secure). Cada una de estas personalidades afecta directamente cómo se simula el comportamiento de los servicios [29].

Por ejemplo: Accesible crea un sistema que tiene una variedad de servicios fácilmente

accesibles, similar a las instalaciones hechas por defecto. Fallido actúa como si los

servicios estuvieran mal configurados con errores de Software y Hardware. Extraño se

porta de manera confusa, haciendo creer que el sistema lleva mucho tiempo

funcionando y está desatendido. Agresivo se comporta revelando su verdadera

identidad como un dispositivo de detección de intrusos y alerta al atacante de que su

conexión ha sido detectada y logueada. Por último Seguro crea un sistema que se

comporta denegando el acceso a cualquier servicio, haciendo creer que los servicios están bien configurados [29].

2.2.4 Trampas y tipos de contraseñas

Las trampas no son servicios simulados, sino puertos predeterminados que escuchan, detectan y loguean cualquier conexión silenciosamente. Specter tiene seis trampas predefinidas y una trampa configurable para escuchar en cualquier puerto TCP que se desee, permitiendo adaptar al Honeypot a nuevas amenazas y escaneos [37].

Las trampas se seleccionan desde el panel de control al igual que los servicios, lo que permite seleccionar el puerto que se desea monitorear. Los seis puertos predefinidos como trampas son los siguientes [37]:

9 DNS (Domain Name Service): usado para la resolución de nombres de

dominios. Puerto TCP 53.

9 IMAP4 (Internet Message Access Protocol): protocolo usado por clientes que reciben correo electrónico. Puerto TCP 143.

9 SUN-RPC (Port mapper or Remote Procedure Call): puerto TCP 111.

9 SSH (Secure Shell Encrypted Protocol): protocolo encriptado usado para la

administración remota de sistemas o transferencia de archivos. Puerto TCP 22.

9 SUB-7 (Windows Trojan): virus de Windows. Puerto TCP 27374. 9 BO2K (Windows Trojan): virus de Windows. Puerto TCP 54320.

Specter posee también siete tipos de contraseñas que se seleccionan desde el panel de control como se muestra en la figura 2.1, de forma tal que sean fáciles o difíciles de adivinar por los atacantes que intenten crakear las mismas. Los tipos de contraseñas son [29]:

9 Easy: contraseñas fáciles de adivinar.

9 Normal: contraseñas no muy fáciles de adivinar. 9 Hard: contraseñas difíciles de adivinar.

9 Mean: contraseñas muy difíciles de adivinar.

9 Fun: contraseñas apropiadas.

9 Cheswick: contraseñas del libro “Firewills and Internet security” de William R. Cheswick.

9 Warning

2.2.5 Tipos de alertas

Una de las características más fuertes de Specter no implementada en otros sistemas trampas, es la gran cantidad de opciones de alerta que posee. Tiene seis opciones de alerta, las cuales son [37]:

9 Alerta de correo electrónico

9 Alerta de correo electrónico pequeño

9 Incidencia a base de datos

9 Correo de estado

9 Registro de eventos

9 Mensajes de logueo remotos

Todas estas opciones de alerta se seleccionan desde el panel de control, pudiéndose seleccionar una de ellas, varias o todas a la vez.

La opción de alerta de incidencia a base de datos está habilitada por defecto. Esto asegura que toda la actividad detectada sea logueada localmente en archivos ASCII por el Honeypot y para ser mostrada luego en el Analizador de Logueo que posee (ver Anexo 3) [37].

Las opciones de alertas remotas son: la alerta de correos electrónicos y la alerta de

pequeños correos electrónicos. Estas opciones proveen alertas redundantes. Por el

contrario, el correo de estado no es un mecanismo de notificación en verdad, sino que

es un envío regular de correos electrónicos de registros de estado cada un tiempo predeterminado que permite confirmar que el Honeypot está funcionando de forma correcta [37].

Las otras dos opciones de logueo son el registro de eventos y los mensajes de logueo

remoto. Los registros de eventos se envían al sistema operativo Windows donde son analizados por el visor de eventos, mientras que los mensajes de logueo remotos se envían a un servidor de logueo, usando la funcionalidad estándar de mensajes de logueo remoto, configurando la dirección IP del servidor de logueo remoto [37].

Estos mecanismos de alerta y opciones de notificación son diferentes a los mecanismos de alerta locales que usan la mayoría de los sistemas trampas como HoneyBOT [3], BackOfficer Friendly [37], permitiendo al Honeypot avisar de forma muy eficaz de la ocurrencia de cualquier evento o la actividad no autorizada de intrusos en tiempo real.

2.2.6 Captura de información

Specter posee tres elementos para detección y captura de información. El primero es para alertar y notificar a la organización cuando el Honeypot ha detectado actividad sospechosa. Tiene una excelente funcionalidad de notificación, proveyendo alertas efectivas y confiables en tiempo real [37].

El segundo elemento es revisar la información capturada después de ser notificada. Diferentes métodos de logueo son soportados, incluyendo el Analizador de Logueo, el cual es una aplicación separada usada para analizar toda la actividad logueada y almacenada localmente por el Honeypot (ver Anexo 3) [37].

El tercero es la inteligencia de captura, la cual es una función única que consiste en ganar información sobre el atacante y sobre el sistema de donde es lanzado el ataque. La inteligencia de captura soporta once opciones diferentes para ganar información sobre cualquier sistema conectado al Honeypot en tiempo real de conexión. Las once opciones son las que se mencionan a continuación [37]:

9 Finger 9 SMTP Banner

9 Tracer 9 HTTP Server Header

9 Portscan 9 HTTP Document

9 DNS 9 Traceroute

9 Telnet Banner 9 Whois

9 FTP Banner

Estas opciones de captura incluyen opciones de escaneo remoto de los puertos abiertos del atacante, obtención del DNS de la dirección IP del atacante y trazar la ruta al Host remoto desde donde se realiza el ataque usando mensajes ICMP, dando la

posibilidad de recopilar toda la información capturada por el Honeypot cuando el mismo es atacado y explorado por cualquier intruso, permitiendo determinar tanto la localización del atacante como su identidad.

Documento similar