¿Qué es y cómo se monta una honeypot con T-Pot? 🍯

¿Qué es y cómo se monta una honeypot con T-Pot? 🍯

Dibujo por sphinkrink

¡Buenos días Pixuetu Valley!

Esta vez traemos (por fin) un post más técnico, en concreto de ciberseguridad, nos hemos puesto la camiseta de blue team y hemos decidido, con bastante ayuda, montar una honeypot utilizando T-Pot, así que si te interesa la seguridad informática no tiene pérdida, ¡sigue leyendo! 👇

¿Qué es una honeypot?

Un honeypot es una sistema trampa que es implementado para comportarse como una aplicación real con el objetivo de que sea atacado.

Su función es permitirnos analizar en tiempo real la información de los ataques, como su tipo, estrategia, origen, etc.

💡
Las honeypots sacan su nombre de ser un objetivo muy atractivo para los ciberdelincuentes, de ahí que se le llame tarro de miel.

¿Qué es T-Pot?

T-Pot es un conjunto de varias herramientas ya configuradas de serie con los que montaremos nuestra sistema de honeypots.

Es un proyecto totalmente de código abierto con licencia GNU GPL 3.0, así que todo lo que vamos a compartir en este articulo y más lo podéis encontrar en su repositorio oficial: telekom-security/tpotce.

Su infraestructura está basada en Debian 11 y utiliza Docker para gestionar todos los servicios funcionando simultáneamente.

También os dejamos los enlaces a cada proyecto de GitHub de las distintas honeypots que incluye T-Pot por si queréis profundizar en qué consiste cada una: adbhoney, ciscoasa, citrixhoneypot, citrixhoneypot, conpot, cowrie, ddospot, dicompot, dionaea, elasticpot, endlessh, glutton, heralding, hellpot, honeypots, honeytrap, ipphoney, log4pot, mailoney, medpot, redishoneypot, sentrypeer, snare, tanner.

Requisitos

Necesitamos un equipo donde instalar nuestro sistema, en este caso en vez de usar nuestro propio ordenador hemos escogido hacer la instalación en Linode, dado que es un alojamiento en la nube desde el que podemos gestionar servidores privados virtuales y no meternos a configurar port forwarding ni firewalls en nuestra propia red.

De la documentación oficial podemos sacar la potencia que necesitamos contratar en nuestro servidor:

Tipo Memoria RAM Almacenamiento
Standalone 8-16GB >=128GB SSD
Hive >=8GB >=256GB SSD
Hive_Sensor >=8GB >=128GB SSD

¿Cómo empezamos?

Para empezar solo tendremos que darnos de alta en la plataforma de Linode, os dejamos aquí un link de Pixuetu Valley con el que tendréis un crédito de $100 por 60 días para que os salga gratis el cacharreo y con el que nos echáis un cable para mantener este blog online:

Instalación de T-Pot

Una vez registrados en Linode , indicaremos que queremos crear un nuevo servidor:

El sistema operativo tiene que ser Debian 11, para la región pondremos Frankfurt (es la región que menor latencia y mayor velocidad nos ofrece desde España) y en el plan nos iremos a la pestaña de Shared CPU y le configuraremos 8GB o 16GB.

⚠️
Es importante que nuestro servidor tenga recursos suficientes ya que todos estos honeypots que hemos mencionado antes son exigentes y si nos quedamos cortos nos puede llegar a dar problemas.

Si bajamos en la página, nos solicitará introducir la contraseña del usuario root y el resto de configuraciones no hace falta tocarlas, le daremos directamente a crear.

Tras darle unos segundos para que la maquina se encienda ya podremos acceder a través de SSH:

ssh root@[ipdelservidor]

Le ponemos la contraseña de root que acabamos de configurar en el paso anterior y estamos dentro.

Una vez logueados en el servidor, tendremos que ejecutar los siguientes comandos:

git clone https://github.com/telekom-security/tpotce
cd tpotce/iso/installer/
./install.sh --type=user

Este último comando nos abrirá el asistente de instalación, donde para empezar elegiremos la edición Standard.

Primer paso del asistente de instalación

En el siguiente paso nos pedirán el nombre de un usuario que se creará para administrar a nivel de sistema los servicios que vamos a instalar.

⚠️
El asistente te avisa que no uses el usuario tsec pero TAMPOCO se debe usar el usuario tpot como hicimos nosotros, ya que tuvimos que repetir todo el proceso varias veces hasta dar con el problema. 😒
Segundo paso del asistente de instalación

Estos pasos ejecutarán la instalación propiamente dicha que puede tardar unos minutos, la máquina se reiniciará y ya podremos acceder desde el navegador de nuestro ordenador a la siguiente dirección: https://[ipdelservidor]:64297

Esta es la pantalla que nos dará la bienvenida a nuestra página de inicio:

Página principal de T-Pot

¡Ya tenemos funcionando nuestro T-Pot! 🎉

¿Qué servicios nos ofrece T-Pot?

Una vez funcionando ya podemos explorar que tipo de servicios para auditar ataques y administrar el sistema nos ofrece tpot:

  1. Servicios del sistema proporcionados por el sistema operativo:
    • SSH para acceso remoto seguro.
    • Cockpit para acceso remoto basado en web, administración y terminal web.
  2. Elastick stack:
    • Elasticsearch para almacenar eventos.
    • Logstash para ingerir, recibir y enviar eventos a Elasticsearch.
    • Kibana para mostrar eventos en tableros muy visuales
  3. Herramientas:
    • NGINX proporciona acceso remoto seguro (proxy inverso) a Kibana, CyberChef, Elasticvue, GeoIP AttackMap y Spiderfoot.
    • CyberChef una aplicación web para el cifrado, codificación, compresión y análisis de datos.
    • Elasticvue, un front-end web para navegar e interactuar con un clúster de Elasticsearch.
    • Geoip Attack Map, un mapa de ataque para T-Pot en el que podremos ir viendo los ataques en tiempo real.
    • Spiderfoot, una herramienta de automatización de código abierto.
  4. Honeypots:
    • Los Honeypots indicados anteriormente
  5. Supervisión de seguridad de red:
    • Fatt, un script basado en pyshark para extraer metadatos de red y el fingerprint de archivos pcap y tráfico de red en vivo.
    • P0f es una herramienta para capturar fringerprint de tráfico pasivo.
    • Suricata, un motor de monitoreo de seguridad de red.

Dashboard y Attack Map

En nuestro caso, de todos estos servicios mencionados nos hemos centrado en utilizar los paneles de Kibana, como Dashboard y Attack Map, para auditar los ataques.

Desde el menú de la página inicial de T-pot accedemos a Kibana y veremos que nos despliega todas las opciones que tiene, hay muchas pero nosotros como ya hemos mencionado vamos a revisar estas dos:

Algunos paneles disponibles dentro de nuestro Kibana

Accedemos primero a T-Pot Live Attack Map:

Página principal del panel de Attack Map

En este panel podremos ver en tiempo real:

  • Origen de los ataques
  • Número de ataques durante el último minuto, última hora y durante el último día
  • Fecha y hora de cada ataque, puerto destino del ataque y a qué Honeypot se está atacando.

Por otra parte si entramos al panel de T-Pot nos encontraremos con un dashboard muy completo a modo resumen en el que, entre otras cosas, podremos ver el TOP 10 de honeypots que han recibido ataques y gráficas evolutivas:

Página principal del panel de T-Pot

En nuestro caso la honeypot más atacada ha sido Cowrie, este es un honeypot que tiene SSH y Telnet, diseñado para registrar ataques de fuerza bruta y la interacción de la shell del atacante.

Podemos consultar muchas otras gráficas que nos permiten ver datos como por ejemplo:

  • Puertos más atacados: cómo vemos son el 22 (SSH) y el 445 (SMB), ataques por país, etc.
  • País de origen: podemos ver que la mayor parte de los ataques provienen de España (hay que tener en cuenta que son resultados solo de una hora de ataques).
  • Sistema operativo atacante: gana por mayoría Linux.

Otra funcionalidad muy vistosa es que T-pot ofrece una nube de frecuencia con todos los usuarios y contraseñas que han probado los atacantes (ya sabemos qué usuarios y contraseñas hay que intentar evitar).

Nube de etiquetas de nombres de usuario y contraseñas más usados en los ataques

También hemos encontrado interesantes las métricas del TOP 10 del ISP (proveedores de internet) de los atacantes y sus IPs de origen:

Listados de proveedores de internet e IPs más usados en los ataques

Estos dos paneles de Kibana de los que hemos hablado son un resumen global, pero tpot también ofrece dashboards mas específicos para cada honeypot concreta con métricas mas detalladas que se escapan del alcance de este articulo, pero que sin duda os animamos a investigar.

💩
Somos conscientes que estos datos están parcialmente sesgados al haber sido tomados en un periodo relativamente corto de tiempo, sin embargo creemos que, al ser la gran parte mecanismos automáticos, no supone un problema para la finalidad de este artículo.

Agradecimientos 🙌

Muchísimas gracias a @hack4stickers (blue team extraordinaire) por hacer posible este articulo recopilando información, proveyéndonos de infraestructura y ayudando con la redacción.


¡Que tengáis buen día Pixuetu Valley!