Introducción a los honeypots

  • Autor de la entrada:
  • Categoría de la entrada:Forense
  • Comentarios de la entrada:2 comentarios

El proyecto más grande al que me enfrenté en mi vida universitaria fue el trabajo de fin de grado. Desde hacía años tenía claro que me quería dedicar a la seguridad, así que mi trabajo de fin de grado debía ser sobre seguridad.

Fue entonces cuando me puse en contacto con el profesor Don Álvaro Ortigosa, actual director del Instituto de Ciencias Forenses y Seguridad, y él me dio una serie de consejos y artículos que me permitirían decantarme más tarde por el tema del proyecto. Tras analizarlos, me llamaron mucho la atención los honeypots. 

Investigué y resultó que uno de mis profesores, Francisco de Borja Rodríguez, ofrecía un trabajo de fin de grado relacionado con la ocultación de honeypots. Así que me puse en contacto con él y acabé realizando un proyecto muy interesante: una herramienta capaz de detectar honeypots. Dado que cedí los derechos del proyecto a la universidad, no puedo mostrar mi herramienta, pero shodan tiene en fase de desarrollo algo parecido, una herramienta llamada honeyscore, que puede servir para hacernos una idea.

Sin embargo, en este post me centraré en explicar qué son los honeypots y cómo obtener una honeynet propia.

Un honeypot (“tarro de miel” en inglés) es un recurso multidisciplinar de seguridad informática, cuya principal función es ser comprometido, atacado e invadido por usuarios maliciosos, engañándoles con la apariencia de un sistema real. Los honeypots son una fuente de información para el investigador de seguridad informática puesto que monitoriza y analiza dichos ataques en un sistema sin ningún tipo de información sensible que pueda ser comprometida.

Mi trabajo de fin de grado consistía en desplegar en la red de mi universidad un gran conjunto de honeypots, mejorarlos y ofuscarlos para hacerlos indetectables, y desarrollar una herramienta que fuera capaz de detectar si una dirección IP contiene un honeypot.

Dado que quería obtener el mayor alcance posible, desplegué once honeypots distintos, que emulaban distintos servicios, como el honeypot ConPot, que simula un Sistema de Control Industrial, el honeypot Cowrie, que imita un servidor de SSH,, el honeypot Glastopf, aparentando ser un servidor web, etc.

 

Para desplegar este conjunto de honeypots (honeynet) utilicé el repositorio de t-Pot , una plataforma que ofrece once honeypots distintos (ConPot, Cowrie, Dionaea, ElasticPot, Glastopf, Honeytrap, Mailoney, Rdpy, Suricata, Vnclowpot, y eMobility).

Escogí esta honeynet para mi proyecto porque permitía desplegar estos 11 honeypots en una sola máquina virtual. A continuación te mostraré todos los pasos para que puedas desplegar tus propios honeypots con esta plataforma.

Instalación

Para instalar la honeynet t-Pot, el primer paso es descargar del repositorio https://github.com/dtag-dev-sec/t-Potce la imagen t-Pot.iso.

A continuación debes crear una nueva máquina virtual en VirtualBox, (o similar) configurándola de forma que tenga 4096 MB de RAM, y adjuntando un disco dvi de 64GB. Además, se debe cambiar el modo de red “NAT” a “Bridge”. Después tan solo es necesario adjuntar la imagen descargada y añadírsela al controlador IDE.

Arranca la máquina virtual, y sigue las instrucciones del instalador. En caso de que se instale en un ordenador que esté en una red con DHCP, tan solo hay que seguir los pasos del instalador en modo automático.

Si aparece el mensaje “No se ha podido configurar el DHCP”, la red donde esté el ordenador que hará de host no tiene DHCP, por lo que debes configurar la red manualmente: cuando lo pida, introduce la IP en la que deseas que se aloje el honeypot reciba ataques, la máscara subred, el Gateway y el DNS.

Tras finalizar la instalación, volverá a aparecer el menú de instalación. Debes apagar la máquina, entrar en la configuración de VirtualBox y eliminar el archivo t-Pot.iso que añadiste anteriormente.

Configuración

Una vez realizada la instalación base, se debe arrancar de nuevo la máquina. Para una configuración completa del honeypot, hay que elegir la opción “everything”. Nos pedirá que introduzcamos la contraseña y el usuario con el que acceder en el panel de administración a los datos de los ataques realizados al honeypot.

El usuario para entrar en nuestro honeypot es “tsec”. La contraseña, la primera que hayamos puesto en el paso anterior.

Para ser root se debe escribir ‘sudo su‘ e introducir la contraseña que se eligió previamente.

Para comprobar el estado de los honeypots levantados en la honeynet, debes escribir el comando 

        $ ./sh dps.sh

Para actualizar cada honeypot tan solo hay que ejecutar los comandos: 

        $ cd /opt/t-Pot

        $ ./update.sh -y

Entorno

A continuación podremos acceder a la información sobre los ataques recibidos con Kibanna introduciendo en el navegador la dirección IP del honeypot desde el puerto 64297.

Debemos entrar en “Advanced” y seleccionar la opción de añadir excepción, ya que el navegador lo detectará como un sitio no seguro.

Tras esto nos pedirá un usuario y contraseña. Deberá ser el que configuramos previamente.

Ya en Kibanna, escogemos T-Pot, y tendremos gráficos de todos los ataques realizados.

Como puedes ver, durante el tiempo que estuve con los honeypots levantados, recogí millones de ataques procedentes de casi todos los países del mundo. Y lo bueno de la interfaz que ofrece Kibanna es que podemos realizar consultas a la base de datos de los ataques recibidos y entender cómo proceden los atacantes para intentar comprometer cada máquina. Por ejemplo, en la siguiente imagen podemos ver un tagcloud con los usuarios y contraseñas más probados para tratar de entrar en el honeypot Cowrie (que simula ser un servidor ssh).

Esta plataforma tiene muchísimo potencial y puede proporcionar una gran cantidad de información muy útil para los análisis forenses. Si quieres investigar más acerca de los honeypots, te recomiendo que sigas estos pasos y te instales tus propios honeypots para aprender.

 

Lethani.

Esta entrada tiene 2 comentarios

  1. javi

    Muy bien. Tengo un problema, puedo acceder tanto al puerto 64294 como al 64297, pero al acceder a Kibana des de el 64297 que no puede acceder (HTTP ERROR 502). Sin embargo, ayer si pude acceder a Kibana.

    1. Lethani

      Si ayer pudiste acceder y hoy no, probablemente reiniciar el servicio o la maquina solucione el problema.

Deja una respuesta