Escuela Politécnica del Ejército Maestría de Gerencia de Sistemas VIII SEGURIDAD INFORMÁTICA HONEYPOTS Lic. Julio Ardita CYBSEC S.A. Autor: Pablo Andrés Mora T. HONEYPOTS Seguridades Informáticas Contenido Introducción ............................................................................................................................3 1. Honeypots.........................................................................................................................5 2. Clasificación de los Honeypots.....................................................................................7 3.1. Honeypots según su Ambiente de Implementación ........................................7 3.1.1. Honeypots para la Producción......................................................................7 3.1.2. Honeypots para la Investigación ..................................................................7 3.2. Honeypots según su Nivel de Interacción...........................................................8 3.2.1. Honeypots de Baja Interacción.....................................................................8 3.2.2. Honeypots de Alta Interacción .....................................................................9 3. Ubicación .........................................................................................................................9 4. WiFi Honeypots.............................................................................................................. 12 5. Honeynets ...................................................................................................................... 13 Ejemplo 1: Honeynet Control de datos GenI .............................................................. 16 Ejemplo2: Emulación de servidor de FTP...................................................................... 16 Ejemplo3: Predicción y alerta trampa ......................................................................... 17 6. Ventajas y Desventajas de Honeypots..................................................................... 18 7. Diseño de la trampa .................................................................................................... 19 8. Análisis de un caso real ............................................................................................... 23 9. Creación de un Honeypot Básico............................................................................. 31 Sistema Operativo Windows: ..................................................................................... 31 Conclusiones......................................................................................................................... 33 Bibliografía ............................................................................................................................ 33 2 HONEYPOTS Seguridades Informáticas Introducción Los ataques a servidores conectados a Internet siguen aumentando cada año. La complejidad de los métodos empleados por los atacantes ha ido creciendo paralelamente, al igual que las herramientas que emplean para disimular sus acciones en los equipos una vez que han conseguido acceso al sistema. Hasta hace algún tiempo los sistemas atacados no solían contener información confidencial, por lo que los administradores procedían a la reinstalación y actualización de estos equipos atacados, para así borrar los binarios y puertas traseras instaladas por los atacantes, continuando posteriormente con la actividad normal del sistema. En la mayoría de las situaciones, las únicas medidas que se solían adoptar con respecto a los atacantes consistían en la notificación del ataque a los administradores de los equipos origen del ataque, si se llegaba a averiguar, y el envío de un aviso interno a los usuarios del equipo, para que procedieran a cambiar sus claves de acceso. Sin embargo, con este incremento del número de equipos atacados, es cada vez más frecuente el tener que analizar las acciones realizadas por los atacantes en los equipos, por un lado para averiguar el alcance del mismo y, llegado el momento, poder tomar las medidas oportunas para denunciar el ataque a las autoridades competentes y por otro, para llevar a cabo la actualización parcial del equipo, ya que muchas veces no es posible dejar sin servicio a los usuarios para proceder a una instalación completa. El número de incidentes reportados cada año sigue en aumento, como se puede ver en las estadísticas. Aunque el código de los programas de ataque, o exploit, últimamente no suele aparecer de forma directa en listas de correo y servidores www, es evidente que hay muchos foros de discusión y servidores en Internet donde se pueden obtener estas herramientas ya compiladas, lo que hace que el número de ataques siga creciendo. Muchas veces se observa que los atacantes no suelen tener conocimientos extensos sobre el funcionamiento general del sistema al que han conseguido acceder: no saben cómo compilar los programas, ni dónde se encuentra la configuración del sistema de logs del equipo, e intentan ejecutar programas pertenecientes a otros sistemas operativos. La mayoría de ellos se limitan a utilizar una serie de programas “precocinados” para borrar los rastros dejados e instalar una serie de binarios precompilados para atacar después otros servidores. 3 HONEYPOTS Seguridades Informáticas Las dificultades de acceso a los programas que emplean los atacantes impiden muchas veces que los administradores puedan evaluar si un determinado problema de seguridad afecta directamente a los equipos de la institución, teniendo que esperar bien a que los fabricantes del sistema operativo o aplicación distribuyan la versión actualizada del programa o a filtrar determinados servicios al exterior. Los sistemas de detección de intrusos son una de las herramientas que más ha evolucionado en los últimos años, habiéndose convertido en uno de los principales mecanismos empleados por los administradores de redes para detectar cuándo se produce un ataque, aunque muchas veces no son suficientes para evitar que estos se produzcan. La dificultad para analizar los binarios instalados en los equipos por los atacantes complica muchas veces la solución de estos ataques. Los administradores deben intentar eliminar todas las puertas traseras que se hayan podido dejar para entrar con facilidad en el equipo, al igual que los programas de recolección de claves que circulan en claro por la red (sniffer) y las herramientas de ataque a otros equipos. En los últimos años se ha empezado a utilizar equipos trampa o honeypots como un mecanismo de seguridad en la red; estos sistemas suelen ser equipos vulnerables monitorizados en la organización, que sirven para detectar cuándo se ha producido una intrusión y analizar en profundidad las acciones realizadas por los atacantes. Estos sistemas simulan hacia el exterior equipos vulnerables que al ser atacados permiten a los administradores observar las acciones realizadas por los atacantes, pudiendo de esta forma analizarlas. Este análisis permitirá, por un lado verificar el uso de los procedimientos de análisis de ataques o análisis forense, y por otro, capturar los nuevos patrones de ataque empleados por los atacantes. De este modo se podrán configurar los sistemas de detección de intrusos con estas nuevas reglas para detectar, a su vez, otros nuevos ataques. Estas máquinas trampa proporcionan muchas veces a los administradores los programas de ataque empleados por los atacantes, que pueden servir para evaluar la seguridad interna de la organización, siempre y cuando se tomen las medidas oportunas. 4 HONEYPOTS Seguridades Informáticas 1. Honeypots Los Honeypots son una tecnología nueva con enorme potencial para la comunidad informática. Los primeros conceptos fueron introducidos por primera vez por varios íconos en la seguridad informática, especialmente aquellos definidos por Cliff Stoll y Bill Cheswick. Desde entonces, han estado en una continua evolución, desarrollándose de manera acelerada y convirtiéndose en una poderosa herramienta de seguridad hoy en día. Un Honeypot es un sistema diseñado para analizar cómo los hackers emplean sus armas para intentar entrar en un sistema (analizan las vulnerabilidades) y alterar, copiar o destruir sus datos o la totalidad de éstos (por ejemplo borrando el disco duro del servidor). Por medio del aprendizaje de sus herramientas y métodos se puede, entonces, proteger mejor los sistemas. Pueden constar de diferentes aplicaciones, una de ellas sirve para capturar al intruso o aprender cómo actúan sin que ellos sepan que están siendo vigilados. Los Honeypots son en su forma más básica son servidores de información falsos, posicionados estratégicamente en una red de prueba, los cuales son alimentados con información falsa que es disfrazada como archivos de naturaleza confidencial. A su vez, estos servidores son configurados inicialmente de manera que sea difícil mas no imposible el hecho de ser penetrados por un atacante informático, exponiéndolos de manera deliberada y haciéndolos altamente atractivos para un “hacker” en busca de un blanco. Por último, el servidor es habilitado con herramientas de monitoreo y rastreo de información, de manera que cada paso y rastro de actividad de un “hacker” pueda ser registrado en una bitácora que indique esos movimientos de manera detallada. Las funciones principales de un Honeypot son: • Desviar la atención del atacante de la red real del sistema, de manera que no se comprometan los recursos principales de información. • Capturar nuevos virus o gusanos para su estudio posterior. • Formar perfiles de atacantes y sus métodos de ataque preferidos, de manera similar a la usada por una corporación policiaca para construir el archivo de un criminal basado en su modus operandi. • Conocer nuevas vulnerabilidades y riesgos de los distintos sistemas operativos, entornos y programas las cuales aún no se encuentren debidamente documentadas. 5 HONEYPOTS Seguridades Informáticas En un contexto más avanzado, un conjunto de Honeypots forma una Honeynet, proporcionando así una herramienta que abarca un conjunto extendido de posibles amenazas y proporciona al administrador de sistemas mayor información para su estudio. Inclusive, hace más fascinante el ataque para intruso debido a que se incrementan las posibilidades, blancos y métodos de ataque. Los Honeypots pueden ayudar a prevenir ataques en varias formas: Defensa contra ataques automatizados: Estos ataques son basados en herramientas que aleatoriamente rastrean redes enteras buscando sistemas vulnerables. Si un sistema vulnerable es encontrado, estas herramientas automatizadas atacaran y tomaran el sistema (con gusanos que se replican en la víctima). Uno de las métodos para proteger de tales ataques es bajando la velocidad de su rastreo para después detenerlos. Llamados “Sticky Honeypots”, estas soluciones monitorean el espacio IP no utilizado. Cuando los sistemas son analizados, estos Honeypots interactúan con él y disminuyen la velocidad del ataque. Esto se logra utilizando una variedad de trucos TCP, como poniendo el “Window Size” a cero o poniendo al atacante en un estado de espera continúa. Esto es excelente para disminuir la velocidad o para prevenir la diseminación de gusanos que han penetrado en la red interna. Protección contra intrusos humanos: Este concepto se conoce como engaño o disuasión. La idea de esta contramedida es confundir al atacante y hacerle perder tiempo y recursos mientras interactúa con el Honeypot. Mientras ese proceso se lleva a cabo, se puede detectar la actividad del atacante y se tiene tiempo para reaccionar y detener el ataque. Métodos de Detección Precisa: Tradicionalmente, la detección ha sido una tarea extremadamente difícil de llevar a cabo. Las tecnologías como los Sistemas de Detección de Intrusos y sistemas de logueo han sido deficientes por diversas razones: Generan información en cantidades excesivas, grandes porcentajes de falsos positivos (o falsas alarmas), no cuentan con la habilidad de detectar nuevos ataques y/o de trabajar en forma encriptada o en entornos IPv6. Los Honeypots son excelentes en el ramo de la detección, solventando muchos de los problemas de la detección clásica: Reducen los falsos positivos, capturan pequeñas cantidades de datos de gran importancia como ataques desconocidos y nuevos métodos de explotación de vulnerabilidades (zero-days) y trabajan en forma encriptada o en entornos Ipv6. Labor Ciber-Forense: Una vez que un administrador de red se da cuenta que uno(s) de sus servidores fueron comprometidos ilegalmente, es necesario proceder inmediatamente a realizar un análisis forense en el sistema comprometido para realizar un control de daños causados por el atacante. Sin 6 HONEYPOTS Seguridades Informáticas embargo, hay dos problemas que afectan a la respuesta al incidente: Frecuentemente, los sistemas comprometidos no pueden ser desconectados de la red para ser analizados y la cantidad de información que se genera es considerablemente extensa, de manera que es muy difícil determinar lo que hizo el atacante dentro del sistema. Los Honeypots ayudar a solventar ambos problemas, ya que son excelentes herramientas de análisis de incidencias que pueden rápida y fácilmente ser sacados de la red para un análisis forense completo, sin causar impacto en las operaciones empresariales diarias. La única actividad que guardan los Honeypots son las relacionadas con el atacante, ya que no son utilizadas por ningún otro usuario, excepto los atacantes. La importancia de los Honeypots, es la rápida entrega de la información, analizada en profundidad previamente, para responder rápida y eficientemente a un incidente. 2. Clasificación de los Honeypots Los Honeypots se pueden clasificar de acuerdo a dos criterios: Según su Ambiente de Implementación y según su Nivel de Interacción. Estos criterios de clasificación hacen fácil entender su operación y utilización al momento de planear la implementación de uno de ellos dentro de una red de datos o infraestructura de TIs. 3.1. Honeypots según su Ambiente de Implementación Bajo esta categoría podemos definir dos tipos de Honeypots: Para la Producción y para la Investigación. 3.1.1. Honeypots para la Producción Son aquellos que se utilizan para proteger a las organizaciones en ambientes reales de operación. Se implementan de manera colateral a las redes de datos o infraestructuras de TIs y están sujetas a ataques constantes las 24 horas del día, 7 días a la semana (24/7). Se les concede cada vez más importancia debido a las herramientas de detección que pueden brindar y por la forma cómo pueden complementar la protección en la red y en los hosts. 3.1.2. Honeypots para la Investigación Estos Honeypots no son implementados con la finalidad de proteger redes, sino que constituyen recursos educativos de naturaleza demostrativa y de investigación cuyo objetivo se centra en estudiar patrones de ataque y amenazas de todo tipo. Gran parte de la atención actual se centra en los Honeypots para la investigación, que se utilizan para recolectar información sobre las acciones de los intrusos. 7 HONEYPOTS Seguridades Informáticas El proyecto Honeynet, por ejemplo, es una organización para la investigación sobre seguridad voluntaria, sin ánimo de lucro que utiliza los Honeypots para recolectar información sobre las amenazas del ciberespacio. Honeypots según su Nivel de Interacción Dentro de este criterio de clasificación, el término “Nivel de Interacción” define el rango de posibilidades de ataque que un Honeypot le permite tener un potencial atacante. Estas categorías nos ayudan a entender no solo el tipo de Honeypot con el que se está trabajando, sino también ayudan a definir la gama de opciones en cuanto a las vulnerabilidades que se desea que un atacante explote. Estas son las características de mayor importancia al momento de empezar a construir el perfil de un atacante. 3.2. Honeypots según su Nivel de Interacción 3.2.1. Honeypots de Baja Interacción Normalmente, éstos Honeypots trabajan únicamente emulando servicios y sistemas operativos. La actividad del atacante se encuentra limitada al nivel de emulación del Honeypot. La ventaja de un Honeypot de Baja Interacción radica principalmente en su simplicidad, ya que estos tienden a ser fáciles de utilizar y mantener con un riesgo mínimo. Por ejemplo, un servicio FTP emulado, escuchando en el puerto 21, probablemente estará emulando un login FTP o probablemente suportará algunos comandos FTP adicionales, pero no representa un blanco de importancia crítica ya que probablemente no está ligado a un servidor FTP que contenga información sensible. Por lo general, el proceso de implementación de un Honeypot de Baja Interacción consiste en instalar un software de emulación de sistema operativo (ej. VMWare Workstation o Server), elegir el sistema operativo y el servicio a emular, establecer una estrategia de monitoreo y dejar que el programa opere por si solo de manera normal. Este proceso, de naturaleza similar al “plug and play”, hace que la utilización de este tipo de Honeypot sea extremadamente sencilla. Los servicios emulados mitigan el riesgo de penetración, conteniendo la actividad del intruso que nunca tiene acceso al sistema operativo real donde puede atacar o dañar otros sistemas. La principal desventaja de los Honeypots de Baja Interacción radica en que registran únicamente información limitada, ya que están diseñados para capturar actividad predeterminada. Debido a que los servicios emulados solo pueden llegar hasta un cierto límite operacional, ésa característica limita la gama de opciones que se pueden anunciar hacia el potencial intruso. De igual manera, es relativamente sencillo para un atacante el detectar un Honeypot de Baja Interacción, ya que un intruso hábil puede detectar qué tan buena es la emulación con el debido tiempo. 8 HONEYPOTS Seguridades Informáticas Ejemplos de Honeypots de Baja Interacción son: Specter, Honeyd, y KFSensor. 3.2.2. Honeypots de Alta Interacción Este tipo de Honeypots constituyen una solución compleja, ya que implica la utilización de sistemas operativos y aplicaciones reales montados en hardware real sin la utilización de software de emulación e involucrando aplicaciones reales que se ejecutan de manera normal, muchas veces en directa relación a servicios como bases de datos y directorios de archivos compartidos. Por ejemplo: Si se desea implementar un Honeypot sobre un servidor Linux que ejecute un servidor FTP, se tendrá que construir un verdadero sistema Linux y montar un verdadero servidor FTP. Las ventajas de dicha solución son dos: Por un lado, se tiene la posibilidad de capturar grandes cantidades de información referentes al modus operandi de los atacantes debido a que los intrusos se encuentran interactuando frente a un sistema real. De esta manera, se está en posibilidad de estudiar la extensión completa de sus actividades: cualquier cosa desde nuevos rootkits, zero-days, hasta sesiones internacionales de IRC. Por otro lado, los Honeypots de Alta Interacción no asumen nada acerca del posible comportamiento que tendrá el atacante, proveyendo un entorno abierto que captura todas las actividades realizadas y que ofrece una amplia gama de servicios, aplicaciones y depósitos de información que pueden servir como blanco potencial para aquellos servicios que específicamente deseamos comprometer. Esto permite a las soluciones de alta interacción conocer comportamientos no esperados. Sin embargo, esta última capacidad también incrementa el riesgo de que los atacantes puedan utilizar estos sistemas operativos reales para lanzar ataques a sistemas internos que no forman parte de los Honeypots, convirtiendo una carnada en un arma. En consecuencia, se requiere la implementación de una tecnología adicional que prevenga al atacante el dañar otros sistemas que no son Honeypots o que prive al sistema comprometido de sus capacidades de convertirse en una plataforma de lanzamiento de ataques. Hoy por hoy, el mejor ejemplo de un Honeypot de alta interacción está representado en las Honeynets. 3. Ubicación La ubicación de los Honeypots es esencial para maximizar su efectividad, ya que debido a su carácter intrínsecamente pasivo; una ubicación de difícil acceso eliminará gran parte de su atractivo para potenciales atacantes. Por otro lado, si su ubicación es demasiado artificial u obvia cualquier experimentado atacante la descubrirá y evitará todo contacto. 9 HONEYPOTS Seguridades Informáticas Se debe tener en cuenta que los Honeypots se debe integrar con el resto del sistema que se tiene implementado por ejemplo: servidores WWW, servidores de ficheros, DNS. De manera de asegurar que no interfiera con las otras medidas de seguridad que puedan ya existir en la red como Firewalls, IDS. Los Honeypots pueden servir tanto para la detección de atacantes internos como externos, se debe tener siempre en cuenta la posibilidad de establecer Honeypots internos para la detección de atacantes o sistemas comprometidos en la red, por ejemplo sistemas infectados con gusanos o virus. Los Honeypots pueden ubicarse: Antes del firewall (Front of firewall): Esta localización permitirá evitar el incremento del riesgo inherente a la instalación del Honeypot. Como este se encuentra fuera de la zona protegida por el firewall, puede ser atacado sin ningún tipo de peligro para el resto de la red como se puede observar en la figura: Honeypot INTERNET LAN Firewall Esta configuración evitara las alarmas de otros sistemas de seguridad de la red (IDS) al recibir ataques en el Honeypot. Sin embargo, existe el peligro de generar mucho tráfico debido precisamente a la facilidad que ofrece el Honeypot para ser atacado. Cualquier atacante externo será lo primero que encuentra y esto generará un gran consumo de ancho de banda y espacio en los ficheros de log. Por otro lado, esta ubicación evita la detección de atacantes internos. 10 HONEYPOTS Seguridades Informáticas Detrás del firewall (Behind the firewall): En esta posición, el Honeypot queda afectado por las reglas de filtrado del firewall. Por un lado se tiene que modificar las reglas para permitir algún tipo de acceso al Honeypot por posibles atacantes externos, y por el otro lado, al introducir un elemento potencialmente peligroso dentro de la red se puede permitir a un atacante que gane acceso al Honeypot y a la red. Honeypot INTERNET LAN Firewall La ubicación tras el firewall permite la detección de atacantes internos así como firewalls mal configurados, máquinas infectadas por gusanos o virus e incluso atacantes externos. Sin embargo las contrapartidas más destacables son la gran cantidad de alertas de seguridad que generarán otros sistemas de seguridad de la red (Firewalls, IDS). Al recibir ataques el Honeypot se ve la necesidad de asegurar el resto de nuestra red contra el Honeypot mediante el uso de firewalls extras o sistemas de bloqueo de acceso, ya que si un atacante logra comprometer el sistema tendrá vía libre en su ataque a toda la red. Hay varias circunstancias que obligan a este tipo de arquitectura, como por ejemplo la detección de atacantes internos o la imposibilidad de utilizar una dirección IP externa para el Honeypot. En la zona desmilitarizada: La ubicación en la zona desmilitarizada permite por un lado juntar en el mismo segmento a los servidores de producción con el Honeypot y por el otro controlar el peligro que añade su uso, ya que tiene un firewall que lo aísla de resto de la red local. 11 HONEYPOTS Seguridades Informáticas INTERNET Servidores Publicos Honeypot Firewall LAN Esta arquitectura nos permite tener la posibilidad de detectar ataques externos e internos con una simple reconfiguración del sistema de firewall puesto que se encuentra en la zona de acceso público. Además se elimina las alarmas de los sistemas internos de seguridad y el peligro que supone para la red al no estar en contacto directo con esta. La detección de atacantes internos se ve algo debilitada, puesto que al no compartir el mismo segmento de red que la LAN, un atacante local no accederá al Honeypot. Sin embargo, desde la red local si es posible acceder al Honeypot, con lo que un atacante interno que intente atacar a los servidores públicos u otros sistemas externos por ejemplo un gusano, muy probablemente acabe siendo detectado. 4. WiFi Honeypots Las redes de comunicaciones se han ido expandiéndose lentamente por centros militares, universitarios y centros de investigación hasta el estallido de Internet. A partir de este momento la obsesión por estar conectados ha llevado a la instalación de millones de metros de cables que cubren todo tipo de edificios y superficies. Sin embargo, la dependencia de Internet continúa alimentando el deseo de estar conectados en cualquier sitio y a cualquier hora. Bares, librerías e incluso campus universitarios están iniciando un nuevo paso en las comunicaciones, las redes inalámbricas (wireless networks). Obviamente, no se puede descartar el papel de catalizador que la gran expansión de los teléfonos móviles ha tenido en el desarrollo de estas redes sin 12 HONEYPOTS Seguridades Informáticas hilos. Actualmente ya existen varios estándares de IEEE que regulan estas comunicaciones como el 802.11b y el 802.11g. Como ocurre con cualquier red de comunicaciones, los accesos no autorizados o los ataques perpetrados por hackers están a la orden del día. Sin embargo, el peligro de este tipo de redes se dispara debido a tres factores diferenciales: • Los estándares y especificaciones para este tipo de redes son nuevos y poco probados. Como siempre que se realiza una cosa por primera vez, la existencia de indefiniciones, malas interpretaciones o fallos de conceptos es bastante probable. Estos aspectos difusos son los más utilizados por los atacantes para obtener acceso a este tipo de redes. • Cualquiera usuario con un simple portátil o incluso con un PDA puede intentar acceder de forma fraudulenta a nuestra red inalámbrica. A diferencia de otros tipos de redes, no se necesita estar físicamente conectado o estar confinado en un área concreta. Los ataques pueden venir de cualquier sitio. • La mayor ventaja de las redes sin hilos es la movilidad que proporcionan. Este aspecto también puede jugar en contra, ya que el atacante puede ir cambiando de ubicación mientras realiza su ataque. La utilización de Honeypots en las redes inalámbricas es una de las últimas aplicaciones que se están probando con éxito en Estados Unidos. Actualmente el programa WISE (Wireless Information Security Experiment) lidera la investigación en este campo. 5. Honeynets Se puede definir una Honeynet como un tipo concreto de Honeypot. Específicamente es un Honeypot altamente interactivo diseñado para la investigación y la obtención de información sobre atacantes. Una Honeynet es una arquitectura, no un producto concreto o un software determinado. El nuevo enfoque consiste no en falsear datos o engañar a un posible atacante (como suelen hacer algunos Honeypot) sino que el objetivo principal es recoger información real de cómo actúan los atacantes en un entorno de verdad. Para conseguir este entorno real con sistemas reales, no con simples emulaciones de servicios y altamente interactivo, se dispone una configuración de red típica con todos los elementos. 13 HONEYPOTS Seguridades Informáticas INTERNET Firewall Firewall HONEYNET Windows NT SISTEMA REAL Solaris 7 Linux 2.2x Windows 98 LOG Honeypot Esta red ha sido diseñada para ser comprometida, por lo que debe estar separada de forma segura y controlada de la de producción. Por otro lado, como el objetivo es el de hacer creer al atacante que está ante una red real, se debe añadir los distintos elementos que conforman una arquitectura normal en cualquier red distintas máquinas, distintos sistemas operativos. Una Honeynet presenta dos requerimientos básicos para ser realmente útil y que permita la extracción de información valiosa: Control del flujo de datos (Data control): Siempre que se interactúa con un atacante, el peligro aumenta exponencialmente. El objetivo de la Honeynet es el de ser comprometida y atacada, se debe mantener siempre un control del flujo de datos para evitar que el atacante la utilice contra terceros o contra la red. Si bien es cierto que cuanta más interacción permitamos con el exterior más datos reales podremos obtener del atacante, se debe evaluar los riesgos que conlleva. Análogamente, una Honeynet que no permita ningún tipo de actividad con el exterior dejará de ser atractiva para un atacante y perderá toda su utilidad. Como siempre, la búsqueda de un equilibrio nos debe guiar en este aspecto. Captura de datos (Data capture): La captura de todos los movimientos y acciones que realice el atacante en nuestra Honeynet nos revelará sus técnicas y motivaciones. Si bien es esencial que el nivel de vigilancia y captura sea alto, si este es excesivo o detectado por el atacante dejará de ser efectivo. Obviamente, la captura de datos debe hacerse sigilosamente y sin despertar ningún tipo de sospecha, por lo que debe planificarse cuidadosamente. 14 HONEYPOTS Seguridades Informáticas El lugar dónde se almacena esta información debería encontrarse fuera de la Honeynet, ya que si realmente compromete un sistema puede encontrarla o incluso peor, falsearla o borrarla. Esto eliminaría cualquier utilidad a la Honeynet. Tradicionalmente, la mayoría de los sistemas de seguridad han sido siempre de carácter defensivo. IDS, Firewalls y demás soluciones se basan en la defensa de los sistemas, y cuando un ataque o vulnerabilidad es detectado se debe arreglar el problema tan rápido como sea posible. Estas aproximaciones siempre van siempre un paso por detrás de los atacantes, ya que la reacción depende directamente de los ataques sufridos y detectados. Si no se recibe ningún ataque o no se descubre alguna vulnerabilidad, los sistemas de defensa permanecerán iguales. No hay mejora intrínseca o pro actividad propia de los sistemas de ningún tipo. Las Honeynets miran de cambiar esta actitud mediante el estudio de los ataques y atacantes. Obtener nuevos patrones de comportamiento y nuevos métodos de ataque con el objetivo de prevenirlos en los sistemas reales. Sin Honeynets, cada vez que se produzca un ataque nuevo y exitoso a un sistema real existente, este dejará de dar servicio y se verá comprometido. Con las Honeynets, un ataque exitoso o nuevo no tiene porqué afectar a ningún sistema real. Además perderá el factor sorpresa, ya que se habrá obtenido datos precisos de su ataque en el estudio de los logs, cosa que permitirán contrarrestarlo de una manera más eficiente. Al igual que los Honeypots, la cantidad y calidad de información producida es muy importante, ya que cualquier actividad existente es sospechosa. 15 HONEYPOTS Seguridades Informáticas Ejemplo 1: Honeynet Control de datos GenI Este es un ejemplo de una política de cortafuegos que implementa el control de datos utilizando un corta fuegos. Checkpoint Firewall. La regla que se marca es la que controla el tráfico saliente ésta es la regla que limita el riesgo. El origen es la red Honeynet, el destino es cualquier red (Internet) salvo la red de Producción. Cuando una conexión se establece, el corta fuegos ejecuta la alerta definida por el usuario, que cuenta los números de conexiones, y los bloquea cuando supera un límite de 10 conexiones. Ejemplo2: Emulación de servidor de FTP Aquí se puede ver el código de un tarro de miel de baja interacción (Honeyd) que emula un servidor de FTP. Basándose en la entrada del ataque, existe una salida predefinida. 16 HONEYPOTS Seguridades Informáticas Ejemplo3: Predicción y alerta trampa Este es un modelo estadístico, basado en firmas IDS, muestra el concepto de alerta temprana. 17 HONEYPOTS Seguridades Informáticas 6. Ventajas y Desventajas de Honeypots Las principales características y ventajas que nos ofrecen los sistemas basados en Honeypots son: • Generan un volumen pequeño de datos, que al contrario de los sistemas clásicos de seguridad (Firewalls, IDS…), generan cientos de megas de ficheros de logs con todo tipo de información no necesaria, que para el caso de los Honeypots estos generan muy pocos datos y de altísimo valor. • Los Honeypots son ordenadores que ningún usuario o sistema normal debe acceder a ellos. Permitiendo de esta forma, relevar cualquier acceso, atacante o una configuración errónea de un sistema, sin existir falsos positivos. • Se necesita recursos mínimos, ya que a diferencia de otros sistemas de seguridad, las necesidades de un Honeypot son mínimas. No consume ni ancho de banda ni memoria o CPU extra. No necesita complejas arquitecturas o varios ordenadores centralizados, cualquier ordenador conectado a la red puede realizar este trabajo. • Este tipo de sistemas sirven tanto para posibles atacantes internos como externos. De esta forma, se evita poner a las máquinas nombres como “honeypot” o “attack-me”; muchas veces ni tan siquiera están dadas de altas en los DNS. Su objetivo es pasar desapercibidas en una red como una máquina más. Como todo sistema tiene también unas contrapartidas o desventajas asociadas. En el caso de los Honeypots los principales inconvenientes son: • Son elementos totalmente pasivos. De esta forma, si no reciben ningún ataque no sirven de nada. • Son fuentes potenciales de riesgo para nuestra red. Debido a la atracción que ejercen sobre posibles atacantes, si no calibramos perfectamente el alcance del Honeypot y lo convertimos en un entorno controlado y cerrado, puede ser utilizado como fuente de ataques a otras redes o incluso a la nuestra propia. • Consumen una dirección IP como mínimo. De todas formas, este inconveniente es mínimo, ya que lo ideal es asignar direcciones IP del rango de direcciones libres. 18 HONEYPOTS Seguridades Informáticas Del análisis de todas las características principales de los Honeypots y aplicando el desglose del concepto de seguridad en prevención, detección y reacción, obtenemos el siguiente análisis: 1. Los Honeypots tienen un limitado carácter preventivo. No evitarán o disuadirán a ningún posible atacante. 2. Tienen un alto grado de detección. Si bien son elementos pasivos, los atacantes rara vez se centran en una simple máquina, sino que buscan por toda la red posibles víctimas, lo que hace que antes o después se encuentre con el Honeypot. 3. La reacción es otro de los valores que añade el uso de Honeypots. En los de Honeypots de producción se puede de forma automática generar los comandos necesarios para evitar el acceso del atacante al resto del sistema. En los de investigación, además nos permiten a posteriori la ejecución de técnicas forenses (computer forense) para examinar el comportamiento del atacante y descubrir sus comportamientos. 7. Diseño de la trampa El Honeypots está formado por un conjunto de equipos vulnerables; las máquinas trampa propiamente dichas y un equipo de control que monitoriza al resto de los equipos. Este sistema permitirá el tráfico entre la red de equipos trampa y el exterior, bloqueando los equipos cuando se detecta un ataque, de forma que no se puedan emplear estos, a su vez, para realizar nuevos ataques. En los equipos trampa se pueden instalar los diversos sistemas operativos usados en la institución con la configuración de servicios que se deseé monitorizar (servidor WWW, FTP, etc.). Dado que estos equipos trampa no necesitan tener un rendimiento alto, se pueden emplear sistemas antiguos que hayan sido retirados del servicio, aunque es conveniente que pueden ejecutar versiones actuales de los sistemas operativos. Para proceder al análisis de los datos dejados por el atacante en el equipo, no conviene que los sistemas tengan una capacidad de almacenamiento muy elevada. Por ejemplo un equipo Pentium 133 con un disco duro de 1,6 ó 2Gb y 32 Megas de memoria RAM se puede emplear para la instalación de diversos sistemas operativos Unix/Linux sobre plataforma Intel; mientras que un antiguo Sparc puede servir para la instalación de un Solaris 2.7. Estos equipos trampa tendrán direccionamiento propio de la red de la organización y estarán conectados entre sí a un hub que permita al atacante, en 19 HONEYPOTS Seguridades Informáticas un momento dado, capturar el tráfico falso entre equipos externos y las máquinas trampa de manera que el atacante pueda ser dirigido a otros equipos trampa. El equipo de control funciona en modo puente Ethernet, actuando de forma transparente a nivel IP, pudiendo, de esta manera, conectar las máquinas trampa a la red, manteniéndolas aisladas del resto de los equipos de la organización y sin tener que implementar una subred donde incluirlas. Este equipo de control deberá tener, a su vez, una dirección IP para poder gestionarlo. Para poder monitorizar los ataques, el equipo de control capturará todo el tráfico con origen y/o destino a la red de máquinas trampa, de forma que se pueda tener un registro de las conexiones que realiza el atacante a ellas. Este registro de tráfico sirve, entre otras cosas, para poder detectar nuevos ataques y vulnerabilidades ya que se puede comparar el tráfico generado por el uso del ataque o exploit con los realizados por otros ataques similares; y detectar así cuando aparecen nuevos ataques o variaciones de otros ya existentes. EJEMPLO DE RED TRAMPA 10.0.0.5 10.0.1.120 Servidor Red de la Organización 10.0.1.0/24 10.0.1.10 Equipo de control Router de acceso 10.0.1.10 Red trampa 10.0.1.20 Maquinas trampa 10.0.1.19 20 HONEYPOTS Seguridades Informáticas En la figura se observa la configuración del Honeypots propuesto. Como se puede observar, el equipo trampa divide en dos la red de la institución, separando los equipos trampa del resto de equipos de la organización. Esta separación a nivel físico impide que los equipos trampa puedan capturar el tráfico a nivel IP que circule por el resto de la red, con independencia del tipo de entorno (conmutado o compartido) en el que se encuentre la red de máquinas trampa. El tráfico entre los equipos de usuarios del servidor no se detectaría en ninguna de las máquinas trampa, solamente aquél destinado a toda la red de broadcast Ethernet llegaría a estos equipos. Así pues, cuando desde el exterior se realizase un escaneo contra la red 10.0.1.0/24 todos los equipos, normales y trampa, responderían a las conexiones y, llegado el momento, el atacante podría entrar en una de las máquinas trampa, por ejemplo la 10.0.1.80, e instalar un sniffer en ella para intentar capturar las claves de acceso; sin embargo, solamente obtendría la información generada por las máquinas trampa; proporcionada mediante scripts para simular tráfico y no la generada por los equipos de usuario (10.0.1.5 y 10.0.1.10). Para evitar que una vez que el atacante haya accedido a los equipos pueda atacar a otros sistemas, es conveniente limitar en el router de acceso la cantidad de conexiones salientes que se pueden realizar desde estos equipos. No se debe filtrar completamente ya que, de lo contrario, es muy posible que algunos programas, como los clientes y servidores de FTP, no funcionen correctamente. Para el equipo de control se puede emplear un sistema Linux con la característica de puente Ethernet activada. Esta característica está presente en las últimas versiones de los núcleos 2.4.x, donde también hay una opción que permite el filtrado a nivel de dirección Ethernet de los equipos del tiempo, que se puede emplear para bloquear el tráfico de los equipos atacados sin tener que aplicar filtros en los router de acceso de la organización. CONFIG_BRIDGE=m Activa el empleo de las funciones de puente Ethernet en el núcleo del equipo CONFIG_BRIDGE_NF Indica que se van a poder emplear las facilidades de filtro de paquetes (netfilter) para las trampas Ethernet que circulen por el puente CONFIG_NETFILTER Activa el sistema de IPtables para el filtrado de paquetes IP y trampas en el núcleo del quipo CONFIG_IP_NF_IPTABLES Activa el sistema de IPtables para el filtrado de las tramas CONFIG_IP_NF_MATCH_MAC Permite filtrar en función de la dirección Ethernet (MAC) de las trampas, para impedir por ejemplo que 21 HONEYPOTS Seguridades Informáticas desde los equipos trampa se pueda acceder a determinados equipos de la red CONFIG_IP_NF_FILTER Activación de los filtros Tabla: Opciones de configuración del núcleo de Linux En la tabla se muestran las opciones más importantes que hay que activar para que el equipo pueda funcionar como puente Ethernet y filtrar las conexiones. En general se pueden activar todas las funcionalidades que aparecen dentro del menú de configuración de los filtros (IP Netfilter configuration) de los núcleos. Además de la compilación del núcleo, hay que instalar en el equipo las utilidades de gestión de puentes (bridge-utils) que permiten la configuración y gestión de los puentes Ethernet. La captura del tráfico generado con origen/destino en/a los equipos trampa se puede realizar directamente con el programa tcpdump, separando el tráfico en ficheros distintos y clasificándolo según la dirección IP del equipo origen/destino. Periódicamente se deben realizar rotaciones de estos logs, para evitar tener ficheros de captura demasiado grandes. Las opciones que se han empleado con el programa tcpdump para capturar el tráfico aparecen comentadas en la tabla. 22 HONEYPOTS Seguridades Informáticas Tcpdump –n –nn –s 1500 –w trampa‐ 10.0.1.80 –I br0 host 10.0.1.80 ‐n ‐nn ‐s 1500 ‐w fichero ‐I br0 Host equipo No consultar en el servidor de DNS el nomb asociado a las direccions IP No consultat en el fichero /etc/services el nombre de los puertos involucrados en cada conexión Número máximo de bytes a almacenar de cada paquete, este valordebe ser igual o mayor que la MTU de los interfaces Ethernet (1.500 normalmente) Almacenar la información directamente en un fichero Emplear el interface del puente, en este el br0 Capturar sólo el tráfico con destino a este equipo a nivel IP Tabla: Opciones de captura para TCPDUMP Además, en el equipo de control se lanzará el software de detección de intrusiones snort, que avisará cuando se haya producido un ataque contra las máquinas trampa. Estos programas de detección de intrusos funcionan leyendo todo el tráfico que llega al equipo y comparando cada paquete IP con una base de datos de reglas que especifican un determinado ataque. Estas reglas detectan patrones de ataques conocidos, por lo que deben actualizarse periódicamente con los patrones de nuevos ataques que van surgiendo. 8. Análisis de un caso real Desde un punto de vista práctico, una vez que se ha detectado o se sospecha que la integridad del sistema ha podido ser vulnerada por algún tipo de intrusión, es conveniente hacer una copia de la información que hay en el sistema. Dependiendo de la situación, puede ser conveniente incluso hacer una copia de los procesos que se están ejecutando en ese momento en el equipo, del espacio de intercambio (swap), de las conexiones activas, etc. Para realizar una copia de las particiones del sistema de ficheros, en los equipos Unix, se puede usar el comando dd. Las copias obtenidas pueden volcarse en una partición libre del propio equipo o a un fichero (cosa poco recomendable, ya que el contenido del sistema atacado debería modificarse lo menos posible), sin embargo es preferible enviar los contenidos a otro equipo empleando, por ejemplo, el programa Netcat (nc). 23 HONEYPOTS Seguridades Informáticas El siguiente ejemplo muestra cómo se podría realizar esta copia, transfiriendo el contenido de la partición sda4 del equipo víctima al equipo de control. En el equipo víctima se ejecutaría: y en el equipo remoto se recibiría el fichero: También se pueden enganchar los discos a un equipo y realizar la copia a bajo nivel, empleando discos duros de iguales características (mismo modelo) y haciendo la copia mediante dd. En sistemas operativos como Windows NT, que no disponen de un procedimiento de backup a bajo nivel, se puede utilizar el procedimiento empleado para sistemas Unix: arrancar el equipo desde un disco de rescate o instalación de Linux/Unix (menos recomendable por aquello de modificar datos del sistema) y proceder a realizar la copia de los dispositivos a bajo nivel. En cualquier caso, es conveniente realizar estas copias a bajo nivel para poder restaurar los datos en caso de que ocurra algún problema al analizar los ficheros, además esto permitirá el análisis de los archivos buscando las fechas de modificación de los mismos. Todo este proceso (es decir, los pasos dados para la copia de los datos del sistema) debería quedar registrado y documentado en algún sitio de forma automática. En estos casos, comandos como script pueden resultar muy útiles. Una vez que se ha realizado la copia y la migración de los datos al equipo remoto donde se va a efectuar al análisis, se debe proceder a la recopilación de datos relacionados con el tipo de sistema y su entorno: versión del sistema operativo, particiones utilizadas, fecha en la que se detectó el ataque, fecha en la que se desconectó de la red el equipo y cualquier otra modificación que pudiese tener relevancia para el análisis. Posteriormente, se procederá a montar las imágenes de las particiones para comenzar el análisis de las mismas en el equipo remoto. Para esto se puede usar el mecanismo de loop-back disponile en Linux, que permite el montaje de los ficheros imagen de la partición en el equipo Unix, pudiendo así acceder a archivos de estos sistemas de ficheros. 24 HONEYPOTS Seguridades Informáticas Una vez montadas las particiones, se utilizará fundamentalmente el paquete TCT para realizar el análisis. El primer paso será la obtención de los tiempos de Modificación/Acceso/Cambio (tiempos MAC) de todos los ficheros del sistema. Es fundamental capturar estos tiempos antes de emprender cualquier acción sobre los ficheros del equipo atacado que pueda modificar su valor. La secuencia de accesos a los ficheros permitirá crear una línea temporal que muestre los acontecimientos ocurridos en el sistema. Mediante las herramientas ils e ils2mac1 se podrán obtener los tiempos MAC de los nodos-i borrados de las particiones. El fichero resultante será combinado, a su vez, con el fichero obtenido tras la ejecución de grave- robber2 sobre el sistema de ficheros anterior, para, de esta forma, tener los tiempos MAC tanto de los nodos-i borrados como de los nodos-i activos. La secuencia de comandos usada para hacer esto podría ser la que se detalla a continuación: Al final de este proceso se obtiene un listado completo (contenido en el fichero ’fichero.txt’) de los tiempos MAC de todos los ficheros del sistema (incluidos los borrados) que hayan modificado alguno de sus tiempos MAC desde ’fecha’. La siguiente acción a realizar, una vez obtenidos los tiempos MAC, es comprobar todos los programas y ficheros de configuración instalados en el equipo. En muchas intrusiones, lo primero que hace el atacante es modificar los programas y herramientas del sistema para ocultar su acceso; además, suelen modificar los ficheros de configuración para crear nuevos usuarios, permitir accesos desde determinadas máquinas, etc., de forma que puedan acceder al equipo más cómodamente con posterioridad. 25 HONEYPOTS Seguridades Informáticas Por todo lo comentado anteriormente, es conveniente que no se empleen los programas instalados en el propio equipo, sino versiones que se tengan compiladas estáticamente siempre que se tenga que realizar el análisis sobre el mismo equipo atacado y no se pueda usar otro sistema para realizarlo. El motivo de utilizar ficheros compilados estáticamente se debe a que no emplean llamadas a librerías del sistema susceptibles de ser modificadas por los atacantes. Por esa misma razón no es conveniente que se emplee el sistema operativo de la máquina atacada, ya que puede ser modificado mediante módulos para ocultar los procesos y ficheros del atacante. Sin embargo, aunque se usen programas compilados estáticamente, esto no evita que la información mostrada pueda ser errónea, ya que existen rootkits que pueden modificar, mediante módulos, el propio núcleo del sistema operativo. Un ejemplo sería Adore. Si no se dispone de una base de datos de integridad en un dispositivo externo para poder comprobar la integridad de los ficheros (ayudándose de herramientas como, por ejemplo, Tripwire), se pueden usar técnicas como comparar los ficheros binarios existentes en el sistema con los de la instalación original (cuando no estén empaquetados) o con los que hay en otro equipo con la misma versión y parches del sistema operativo, empleando comandos como cmp. La mayoría de los sistemas operativos disponen de un sistema de verificación de paquetes instalados. La base de datos se mantiene en el propio equipo (por lo que el atacante puede modificarla) pero de todas maneras puede emplearse muchas veces para comprobar qué ficheros se han modificado. Aunque es habitual que algunos ficheros cambien de permisos o de contenido, por ejemplo al añadir usuarios al fichero de password, después de realizar algunas instalaciones que producen cambios en los formatos, etc.; no suele ser habitual que comandos como /bin/ls sean modificados, lo que puede indicar que se trata de una versión troyanizada. Para comprobar la consistencia de los paquetes instalados en el sistema atacado, buscando especialmente errores de chequeo de md5, se puede usar la utilidad rpm (o su equivalente si existe en el sistema operativo atacado) con las opciones adecuadas, como por ejemplo: 26 HONEYPOTS Seguridades Informáticas La aparición de modificaciones en ficheros como: netstat, ifconfig, ps, top, ls, top, tcpd..., se sugeriría la posibilidad de que se haya instalado un rootkit en el sistema. Un método para saber si los ficheros modificados son versiones troyanizadas de los originales es examinar los ficheros sospechosos buscando cadenas que delaten esta posibilidad. Normalmente, la información que se obtiene de este estudio suelen ser rutas de directorios y ficheros que no deberían aparecer en el sistema, por ejemplo: El fichero ‘‘‘/dev/xdta” resulta ser un fichero de configuración que contiene un listado con todos los procesos que no mostraría el comando ps (aunque se estuvieran ejecutando), para no delatar la presencia de intrusos en el equipo. Sin embargo, este sistema no siempre da buenos resultados ya que en los ataques más recientes se están empezando a utilizar ficheros que se ejecutan comprimidos por lo que no es posible visualizar las cadenas de texto que 27 HONEYPOTS Seguridades Informáticas contienen y otras técnicas de ofuscación que impiden obtener información útil empleando el método anterior. Una vez analizadas las cadenas de los programas supuestamente modificados, se debe intentar recuperar el contenido de los ficheros borrados (el número de nodo-i que tenía asociado cada archivo antes de ser borrado se puede obtener del fichero de tiempos MAC generado anteriormente). Para recuperar el contenido de estos ficheros se puede usar el comando icat, incluido en el TCT. Este programa devuelve toda la información que encuentra sobre el nodo-i que se le pasa como parámetro realizando la búsqueda en la imagen de la partición indicada. Anteriormente se han obtenido, mediante el comando ils, los nodos-i actualmente vacíos que hubiesen contenido información en el periodo en el que se produjo el incidente. Para obtener una copia de estos ficheros se puede emplear el comando icat, en lugar de realizar una búsqueda mediante un editor. Al realizar este proceso, la siguiente tarea será averiguar el tipo de cada fichero para abrirlo con el programa adecuado (el comando file, o sus análogos en cada sistema operativo, pueden facilitar esta tarea). Posteriormente, se deberá analizar el contenido de cada uno de estos ficheros. Así, por ejemplo, los ficheros de texto pueden contener trozos de logs borrados deliberadamente por el intruso, los ficheros ejecutables pueden corresponder a programas utilizados por el atacante, los ficheros comprimidos pueden ser paquetes instalados. 28 HONEYPOTS Seguridades Informáticas En este punto, si fuese necesario, se procedería al desensamblado de los ficheros ejecutables para determinar cómo mayor exactitud su funcionalidad. Recogida y analizada esta información básica (que puede dar una idea muy aproximada de lo que ha pasado en el sistema), se procederá al estudio del fichero de tiempos MAC que se generó anteriormente. Este análisis tratará de establecer una línea temporal que muestre la secuencia de acontecimientos ocurrida en el sistema. A continuación se observa un extracto de los datos que genera el programa mactime, y una pequeña reseña de la información que se puede obtener de estos (la salida ha sido ligeramente modificada para ajustarla a la página). Como ejemplo se muestra la información que aparece cuando se modifica el fichero ps. A continuación podemos observar la creación del fichero de configuración (dev/xmx) que se había detectado anteriormente. 29 HONEYPOTS Seguridades Informáticas En primer lugar, se puede observar que por la proximidad de las fechas en las que se modifican los ficheros es muy posible que se trate de la ejecución de un script, ya que se crean varios ficheros en el mismo instante de tiempo en el análisis completo de este ataque se puede verificar esta hipótesis, recuperando el script empleado entre los ficheros borrados por el atacante. En la primera entrada de tiempos se accede a varios ficheros del sistema para obtener información del equipo. El fichero “raiz-hda4-dead-2404” es el fichero comprimido de la instalación que es borrado posteriormente por el atacante. Por último se puede observar la creación y modificación de diversos ficheros en los directorios del sistema, que reemplazan a los binarios originales del equipo. Mediante la recuperación del script lanzado por el atacante, se puede comprobar que algunos de estos ficheros eran las versiones reales de los demonios del sistema, como “/usr/bin/ct”, versión original del programa crontab. Los ficheros instalados por el atacante en el directorio “/dev” contenían la configuración de los binarios del rootkit, indicando qué procesos y conexiones se debían ocultar a los administradores. En la última fase del análisis en realidad, no tiene por qué ser la última, puede ser incluso la primera o ir intercalándose, procediéndose a examinar el flujo de tráfico capturado por un IDS. El objetivo es establecer y corroborar todos los datos hallados en el sistema. En general, los pasos a seguir suelen dividirse en: 1. Análisis de los flujos de datos para agruparlos según las distintas conexiones capturadas. En estos casos conviene la utilización de algún tipo de script que facilite y automatice esta labor, puesto que la cantidad de información con la que se puede llegar a trabajar (del orden de varios gigabytes) hace inviable un tratamiento manual. 2. Almacenamiento de la información de cada conexión en un fichero donde sea fácilmente identificable: origen y destino de la conexión, fecha y hora de comienzo y finalización, puerto utilizado y tamaño de la misma. 3. Establecer, en su caso, si existe algún tipo de desfase horario entre el sistema de control (IDS, Firewall) y el equipo analizado. Esto es fundamental para poder comparar los datos de las conexiones almacenadas con la información que ha quedado registrada en el equipo atacado. 4. Estudio de las conexiones y búsqueda de datos que faciliten la identificación del atacante. El orden seguido al examinar las conexiones 30 HONEYPOTS Seguridades Informáticas puede disminuir el tiempo que es necesario emplear, por eso conviene empezar por las que parezcan más prometedoras. Una vez analizada y clasificada toda la información almacenada en el IDS se pudo determinar que el ataque se produjo aprovechando una vulnerabilidad del proceso rpc.statd. Posteriormente, el atacante realizó una conexión ftp desde el propio equipo para bajarse los programas necesarios para completar la intrusión. Un análisis más en profundidad de las conexiones permitió obtener un listado de las actividades desarrolladas por el atacante: desde la conexión a un servidor para descargarse el archivo con los ficheros troyanizados, hasta la instalación de los mismos. 9. Creación de un Honeypot Básico Sistema Operativo Windows: Paso 1: Se deberá bajar el entorno Perl (ActivePerl 5.8.6) para Windows http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl allí encontrará varios formatos, se recomienda bajar el .zip http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.6.811MSWin32-x86-122208.zip , una vez descargado se deberá ejecutar en línea de comando installer.bat, allí se presentará una serie de opciones que se puede dejar por defecto. Paso 2: Se debe añadir el directorio Perl al PATH. Entre en Mi PC. Con el botón derecho entre en opciones avanzadas, variables de entorno y se debe agregar lo siguiente: c:>path=%path%;c:perl (o donde haya instalado el Perl). Paso 3: Se descargará el entorno Python (ActivePython 2.4.0) http://www.activestate.com/Products/Download/Download.plex?id=Activepytho n Una vez instalado el SO (sistema operativo) estará en la disponibilidad de ejecutar ficheros .py. 31 HONEYPOTS Seguridades Informáticas Es imprescindible equipar una máquina diseñada para ser atacada, con un sistema de seguridad; en caso contrario podría volverse en nuestra contra. Paso 4: Se debe bajar el script (free) desde: http://www.megamultimedia.com/arroba/arroba78/descargas/intrusos.zip de nombre windog, es la mínima expresión de un Honeypot. Además de configurable es sencillo de instalar y su código es bastante entendible. Solo basta tener ciertos conocimientos de programación. Una vez descomprimido se encontrará 2 ficheros perl (sendmail.pl y telnet.pl) como también un readme del autor del script. Sí el entorno Perl está corriendo solo se tendrá que pulsar dos veces sobre cualquiera de los ficheros nombrados anteriormente y aparecerá una consola indicando que el script está corriendo. NOTA: Se debe estar atento que no exista ningún servicio corriendo en los puertos que se indican en el script (23 si se ejecuta el telnel.pl o el 25 si se ejecuta el sendmail.pl). Paso 5: Se debe comprobar que está funcionando el script, para luego pulsar sobre telnet.pl dos veces. Por medio de la consola se realizará un telnet telnet localhost Aparecerá algo similar a esto: Unix(r) System V release 4.0 (Brooder) Login: Se introduzca el login y contraseña de acceso al sistema. El mensaje que muestra por consola puede ser modificado a gusto. Todos los intentos de login y contraseña quedarán reflejados en la ventana en la que se levantó el script y nunca serán validados porque no está programado de esa forma; además de que no hay servicio alguno que validar. Si se deja corriendo esto por un tiempo con vista a Internet se observará cómo alguien intentará entrar por ese servicio ficticio. Para modificar el banner que sale al principio indicando que el visitante acaba de conectarse a un sistema Unix, se debe abrir el fichero telnet.pl y modificar la línea: 32 HONEYPOTS Seguridades Informáticas $banner ="nrnrUnix (r) System V Release 4.0 (brooder) nr"; Para el fichero sendmail es exactamente igual. Sí se usa el fichero sendmail.pl, al hacer conexión vía telnet, reconocerá el comando HELO y responderá con un saludo y la dirección IP del visitante que acaba de conectarse. Los script son tan sencillos que se puede hasta cambiar el puerto. Si se desea trabaja con el puerto 23 sólo debe cambiar el valor de la variable $port, ejemplo: $port = 22; Hay que recordar que la verdadera potencia de los servidores trampa consiste en saber atacar al Script Kiddie donde más les duele. Hay que tener presente que se deberá combinar diferentes herramientas de análisis y monitorización para sacar un verdadero provecho de un HoneyPot. Conclusiones • La instalación honeypots aislados de la red en producción permite analizar los métodos empleados por los atacantes para acceder a los equipos sin comprometer la seguridad de la organización. • Los honeypots permiten recuperar y analizar diversos programas instalados y empleados por los atacantes, permitiendo determinar los fines que llevaron a la intrusión, detectando además los equipos desde donde se llevaban a cabo los ataques preliminares, así como obtener, para su posterior análisis, otros programas utilizados por el atacante. • El análisis del tráfico de red complementa perfectamente la información obtenida directamente de los honeypots, pudiéndose relacionar de forma inmediata la actividad en la red, como por ejemplo los escaneos desde determinados equipos, con los ataques realizados con éxito contra los equipos trampa. • La documentación generada sobre las actuaciones realizadas en los equipos víctima es de utilidad directa en situaciones reales en las que un equipo ha sido atacado, sirviendo de guía en los pasos a seguir para realizar un análisis del ataque. Bibliografía • Honeynet Project, http://www.honeynet.org 33 HONEYPOTS • Honeynet Project México, http://www.honeynet.org.mx • Honeynet Project, Know your Enemy: Honeynets, Seguridades Informáticas http://www.honeynet.org/papers/honeynet/index.html • Philippine Honeynet Project, Honeynets Learning, 2006 http://www.philippinehoneynet.org/docs/honeynetlearning.pdf • Honeypots: Definitions and Values, http://www.spitzner.net/honeypots.html • HoneyNet Español, http://his.sourceforge.net/trad/honeynet/ • Zonavirus, http://www.zonavirus.com/Detalle_Articulo.asp?Articulo=108 • Symantec, http://www.symantec.com/region/mx/enterprisesecurity/content/framewor k/LAM_2371.html • Datafull, http://www.datafull.com/datahack/informe.php?id=255 • Forzis, http://www.forzis.com • Tracking-Hackers, http://www.tracking-hackers.com 34