Incident Response, Security and Forensics"

.

sábado, 25 de julio de 2009

Redes trampa (Honeypots de baja interacción)


Hola lectores,

Hoy vamos a tratar sobre redes trampa.

Como muchos ya sabéis pertenezco al capitulo español Spanish Honeynet project de la prestigiosa organización Honeynet Project.

El Spanish Honeynet Project es una organización no lucrativa de investigación y organizada por profesionales de la seguridad dedicada a la seguridad de la información. No tenemos productos, servicios o empleados, y nuestra investigación se hace sobre una base voluntaria. Nuestro objetivo es aprender las herramientas, tácticas y motivos de la Blackhat comunidad y compartir estas lecciones aprendidas. Se espera que nuestra investigación beneficie a la vez sus miembros y la comunidad de seguridad. Todo nuestro trabajo es de código abierto y se comparten con la comunidad de seguridad.

Por ello y dentro de las tareas sobre análisis forense he pensado compartir aunque muchos me imagino que ya lo sabéis distintos post sobre este tema.

Este articulo va a ser el conjunto de unos cuantos divididos en las siguientes secciones.

  • HoneyPots & Honeynets de baja interacción
  • Redes trampa de alta interacción

¡¡EMPEZAMOS!!

Un Honeypot es el software o conjunto de ordenadores cuya intención es atraer a atacantes, simulando ser sistemas vulnerables o débiles a los ataques. Es una herramienta de seguridad informática utilizada para recoger información sobre los atacantes y sus técnicas. Los Honeypots pueden distraer a los atacantes de las máquinas más importantes del sistema, y advertir rápidamente al administrador del sistema de un ataque, además de permitir un examen en profundidad del atacante, durante y después del ataque al honeypot.

Algunos honeypots son programas que se limitan a simular a sistemas operativos o programas no existentes en la realidad y se les conoce como honeypots de baja interacción y son usados fundamentalmente como medida de seguridad.

Otros sin embargo trabajan sobre sistemas operativos reales y son capaces de reunir mucha más información; sus fines suelen ser de investigación y se los conoce como honeypots de alta interacción.

En el grupo de los honeypot de alta interacción nos encontramos también con los honeynet

Para crear un honeypot de baja interacción (y muy,muy,muy sencillo) vamos a emplear lo siguiente:

  • Un equipo Windows (supuesta victima)
  • El programa NETCAT
  • Un equipo (windows o linux) como atacante
  • Dos archivos de texto con los siguientes contenidos:

Archivo 'serweb.txt':

PlayStation WebServer versión 1.1
Playboy, Playgirls and Games
Connecting....

Archivo 'sertelnet.txt'

Trying telnet.acme.es...
Connected to telnet.acme.es.
Escape character is '^]'.
220 telnet.acme.ESMTP Postfix

USANDO NETCAT PARA SIMULAR PUERTOS

Netcat permite a través de intérprete de comandos y con una sintaxis muy sencilla abrir puertos TCP / UDP en un host (quedando netcat a la escucha), asociar una shell a un puerto en concreto (para conectarse por ejemplo al CMD o al intérprete bash de Linux remotamente) y forzar conexiones UDP/TCP (útil por ejemplo para realizar rastreos de puertos o realizar transferencias de archivos bit a bit entre dos equipos).

En la máquina Windows y una vez instalado el Netcat, abriremos dos ventanas CMD con los siguientes comandos:

Ventana1:
c:\>nc -l -p 80logweb.txt
Simula ser un servidor web, que responderá el contenido del fichero serweb.txt cuando alguien se conecte. Cuando el atacante introduzca comandos se almacenaran en el fichero logweb.txt

Ventana2:
c:\>nc -l -p 23 logtelnet.txt
Simula ser un servidor web, que responderá el contenido del fichero telnet.txt cuando alguien se conecte. Cuando el atacante introduzca comandos se almacenaran en el fichero logtelnet.txt

A parte de esta solución casera, existen distintos programas orientados a este respecto, vamos a ver algunos muy sencillos como los siguientes:

HoneyBOT

Este sencillo programa permite simular todos los puertos TCP/UDP que no se encuentren en uso en el ordenador, Honeybot los abre y simula estar un servidor y servicio o programa corriendo sobre el, veamos los siguientes ejemplos que son muy ilustrativos





SPECTER

Este programa es de los más completos honeypots de baja interación, simula 14 sistemas operativos e infinidad de puertos y comandos personalizados, es de los mejores con diferencia, la única pega es que es de pago ;-)





KFSENSOR

También uno de los mejores, al igual que specter es comercial, pero destaca en su capacidad de administración remota, edición de servicios, programación de respuestas ante una conexión, central de alertas integradas en Bases de datos y motor para la detección de ataques basados en firmas. Su precio ronda los 600$.





NEPENTHES

Permite emular vulnerabilidades para recopilar información sobre posibles ataques. Está diseñado para capturar y emular el uso de gusanos. Como hay muchas posibles formas de propagación de gusanos, Nepenthes es modular y dispone de capacidad de descargar archivos, generar eventos y como no emular vulnerabilidades. Es open source y algo complejo de parametrizar, utiliza qemu.


GHH

Google Hack Honeypot. GHH es un "Google Hack" honeypot. Está diseñado para detectar a los atacantes que utilizan los motores de búsqueda como herramienta de hacking contra tus recursos. GHH implementa entornos simulados. Curioso como sistema de aprendizaje.



HONEYD - WINHONEYD

Honeyd es open source y funciona prácticamente en cualquier plataforma, Winhoneyd es gratuita y funciona sobre windows a excepción de la herramienta de configuración que es de pago. Honeyd es un pequeño demonio que crea hosts virtuales en una red.

Los dispositivos pueden ser configurados para ejecutar servicios arbitrarios, y ser adaptados de modo que parecen estar ejecutando ciertos sistemas operativos.
Honeyd permite a un único host para disponer de varias direcciones, particularmente hasta 65536 - en un LAN para la simulación de la red.

Podeis ver un video ilustrativo aquí

En próximos post veremos Honeynets de alta interacción.