Jenkins DDoS Botnet Campaign (Gaming Server Targeting)

De CiberWiki
Revisión del 16:42 4 may 2026 de Fernando.VH (discusión | contribs.) (Descripción de Jenkins DDoS Botnet Campaign (Gaming Server Targeting))
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)

Jenkins DDoS Botnet Campaign se refiere a una campaña maliciosa detectada por el sistema de honeypots CloudyPots de Darktrace el 18 de marzo de 2026, donde actores de amenazas explotan servidores Jenkins mal configurados para desplegar una botnet de denegación de servicio distribuido (DDoS) dirigida específicamente a servidores de videojuegos, con un enfoque particular en la infraestructura de Valve Corporation (creadores de Steam, Counter-Strike y Team Fortress 2). Los atacantes aprovecharon el endpoint scriptText de Jenkins, que permite ejecutar comandos directamente en el servidor, para obtener ejecución remota de código (RCE) mediante un script de Groovy. Una vez dentro, el script malicioso descargaba diferentes payloads según el sistema operativo: en sistemas Windows, descargaba un ejecutable llamado w.exe desde la IP 103.177.110.202, lo ocultaba en la carpeta Temp como update.dat, lo renombraba a win_sys.exe, y abría el puerto TCP 5444 para recibir instrucciones; en sistemas Linux, ejecutaba un comando Bash de una línea que descargaba un binario llamado bot_x64.exe en el directorio /tmp. Un aspecto inusual de esta campaña es que los atacantes utilizaron una única dirección IP (perteneciente a Webico, un proveedor vietnamita bajo la marca Tino en la ciudad de Ho Chi Minh) para todas las fases del ataque: acceso inicial, entrega de payloads y comando y control, sacrificando la seguridad operacional por la simplicidad. Para evadir la detección, el malware en Linux utiliza una variable de entorno llamada dontKillMe para evitar que Jenkins termine el proceso por exceder el tiempo de ejecución, luego elimina su archivo original y se renombra con nombres de procesos legítimos del sistema como ksoftirqd/0 o kworker. El objetivo principal de la botnet es colapsar servidores que ejecutan el motor Valve Source Engine (utilizado por juegos como Team Fortress 2 y Counter-Strike), empleando métodos como attack_dayz que envía una consulta Source Engine Query para sobrecargar al servidor con datos. También incluye un modo attack_special diseñado para atacar puertos específicos como el 27015 (puerto predeterminado de servidores de juegos Valve), 53 (DNS) y 123 (NTP). Darktrace concluye que esta botnet probablemente ya ha sido utilizada contra servidores de juegos, destacando cómo una simple mala configuración en un servidor de desarrollo puede ser explotada para afectar a toda una industria.


Nombres Alternativos / Aliases

  • Jenkins ScriptText RCE Campaign (Por el endpoint explotado)
  • Valve Source Engine DDoS Botnet (Por el objetivo principal)
  • Webico DDoS Botnet (Por el proveedor de infraestructura)
  • Single-IP Botnet Operation (Por la inusual concentración en una IP)
  • Gaming Server DDoS Campaign (Por el sector objetivo)

Fecha de Detección / Actividad

  • Fecha de Detección: 18 de marzo de 2026 (por honeypot CloudyPots de Darktrace)
  • Fecha de Publicación del Análisis: 1 de mayo de 2026
  • Período de Actividad: No especificado, pero la campaña estaba activa en marzo de 2026
  • Estado: Activo. La botnet probablemente sigue operando y buscando servidores Jenkins mal configurados.

Actor de Amenaza (Atribución)

  • Nombre del Actor: No atribuido a un grupo específico.
  • Tipo de Actor: Desconocido. Opera una botnet DDoS dirigida a la industria del gaming.
  • Sofisticación: Media. El actor demuestra capacidades de: (a) identificación de servidores Jenkins mal configurados, (b) explotación del endpoint scriptText para RCE, (c) desarrollo de scripts Groovy multi-plataforma (Windows y Linux), (d) uso de técnicas de evasión como renombramiento de procesos y variables de entorno (dontKillMe), (e) implementación de métodos de ataque DDoS específicos para el motor Valve Source Engine (attack_dayz), y (f) ofuscación básica. Sin embargo, la decisión de utilizar una única dirección IP para todas las fases del ataque representa una significativa debilidad operacional (OPSEC), lo que sugiere un actor con limitaciones de recursos o priorización de simplicidad sobre seguridad.

Resumen Ejecutivo

Jenkins DDoS Botnet Campaign representa una amenaza emergente que explota una de las herramientas de desarrollo más comunes en la industria del software: Jenkins, un servidor de automatización de código abierto utilizado para integración continua y entrega continua (CI/CD). Detectada por Darktrace a través de su red de honeypots CloudyPots el 18 de marzo de 2026, la campaña aprovecha servidores Jenkins mal configurados que exponen el endpoint scriptText, el cual permite a los usuarios enviar comandos directamente al servidor. Los atacantes abusan de esta funcionalidad para ejecutar un script de Groovy que les otorga capacidad de ejecución remota de código (RCE). Una vez que tienen control del servidor Jenkins, el script descarga payloads específicos según el sistema operativo de la víctima. En sistemas Windows, se descarga un archivo ejecutable llamado w.exe desde la dirección IP 103.177.110.202 (perteneciente a Webico, un proveedor vietnamita bajo la marca Tino en la ciudad de Ho Chi Minh). El archivo se oculta en la carpeta Temp como update.dat y luego se renombra a win_sys.exe. Finalmente, el malware abre el puerto TCP 5444 para recibir instrucciones del atacante. En sistemas Linux, se ejecuta un comando Bash de una línea que descarga un binario llamado bot_x64.exe en el directorio /tmp. Lo más inusual de esta campaña es que los atacantes utilizaron la misma dirección IP (103.177.110.202) para todas las fases de la operación: acceso inicial, entrega de payloads y servidor de comando y control (C2). Esta decisión contrasta con las mejores prácticas de los ciberdelincuentes, que suelen utilizar infraestructuras distribuidas para dificultar el rastreo. En este caso, los atacantes sacrificaron la seguridad operacional en favor de la simplicidad. Para evadir la detección, el malware en Linux emplea varias técnicas: utiliza una variable de entorno llamada dontKillMe para evitar que Jenkins termine el proceso por exceder el tiempo de ejecución; luego elimina su archivo original (bot_x64.exe) y se renombra a sí mismo con nombres de procesos legítimos del sistema como ksoftirqd/0 o kworker, haciéndose pasar por componentes normales del sistema operativo.


El objetivo principal de la botnet es colapsar servidores de videojuegos, específicamente aquellos que ejecutan el motor Valve Source Engine, utilizado por juegos populares como Team Fortress 2, Counter-Strike: Global Offensive y Counter-Strike 2. El malware implementa un método de ataque llamado attack_dayz, que consiste en enviar una consulta Source Engine Query al servidor objetivo, engañándolo para que responda con una cantidad de datos tan grande que eventualmente deja de responder (sobrecarga por saturación). Además, incluye un modo attack_special diseñado para atacar puertos específicos: 27015 (puerto predeterminado de los servidores de juegos de Valve), 53 (DNS) y 123 (NTP), este último probablemente utilizado para ataques de amplificación NTP. Darktrace concluye que esta botnet probablemente ya ha sido utilizada contra servidores de juegos activos, y advierte que la presencia de técnicas de denegación de servicio específicas para juegos subraya que la industria del gaming sigue siendo un objetivo prioritario para los ciberatacantes. El incidente sirve como un recordatorio de que una simple mala configuración en un servidor de desarrollo aparentemente insignificante puede tener consecuencias significativas para toda una industria.


Vectores de Ataque / Métodos de Distribución

  1. Explotación de Jenkins Mal Configurado: El atacante identifica servidores Jenkins que tienen expuesto el endpoint scriptText (normalmente utilizado para administración y depuración) sin las debidas restricciones de autenticación.
  2. Ejecución Remota de Código mediante Groovy Script: El atacante envía un script de Groovy malicioso a través del endpoint scriptText, obteniendo capacidad de ejecutar comandos arbitrarios en el servidor Jenkins comprometido.
  3. Descarga de Payloads Multi-Plataforma: El script de Groovy determina el sistema operativo de la víctima y descarga el payload correspondiente:
    • Windows: w.exe desde 103.177.110.202
    • Linux: bot_x64.exe mediante comando Bash
  4. Ocultamiento y Persistencia: El malware se oculta en directorios del sistema (Temp en Windows, /tmp en Linux) y se renombra con nombres de procesos legítimos para evadir la detección.
  5. Establecimiento de Canal C2: El malware abre un puerto de escucha (TCP 5444 en Windows) para recibir instrucciones del atacante, o establece comunicación con la IP 103.177.110.202.

Técnicas, Tácticas y Procedimientos (TTPs) - MITRE ATT&CK

Táctica (MITRE ATT&CK) Técnica / Subtécnica Descripción / Implementación
Initial Access (TA0001) Exploit Public-Facing Application (T1190) Explotación del endpoint scriptText de Jenkins expuesto a internet sin autenticación adecuada.
Execution (TA0002) Command and Scripting Interpreter: Groovy (T1059.013) Ejecución de script de Groovy malicioso a través del endpoint scriptText de Jenkins.
Execution (TA0002) Command and Scripting Interpreter: Unix Shell (T1059.004) Ejecución de comando Bash para descargar payload en sistemas Linux.
Execution (TA0002) Command and Scripting Interpreter: PowerShell (T1059.001) Posible uso de PowerShell en Windows (no se especifica explícitamente, pero común en descargas).
Persistence (TA0003) Create or Modify System Process (T1543) - Windows Service (T1543.003) El malware win_sys.exe puede configurarse como servicio para persistencia.
Persistence (TA0003) Boot or Logon Autostart Execution (T1547) El renombramiento a ksoftirqd/0 o kworker en Linux permite persistencia como procesos del sistema.
Defense Evasion (TA0005) Masquerading (T1036) - Match Legitimate Name or Location (T1036.005) El malware se renombra a ksoftirqd/0 o kworker (procesos legítimos de Linux) y win_sys.exe (genérico) para ocultarse.
Defense Evasion (TA0005) Hide Artifacts: Hidden Files and Directories (T1564.001) Ocultamiento de payloads en carpetas Temp (Windows) y /tmp (Linux).
Defense Evasion (TA0005) Indicator Removal: File Deletion (T1070.004) El malware elimina su archivo original después de ejecutarse para cubrir rastros.
Defense Evasion (TA0005) Execution Guardrails (T1480) - Environmental Keying (T1480.001) Uso de variable de entorno dontKillMe para evitar que Jenkins termine el proceso.
Command and Control (TA0011) Application Layer Protocol (T1071) - Web Protocols (T1071.001) Comunicación C2 a través de HTTP/HTTPS para descargar payloads y recibir instrucciones.
Command and Control (TA0011) Non-Standard Port (T1571) Apertura del puerto TCP 5444 para recibir comandos (puerto no estándar).
Impact (TA0040) Network Denial of Service: Direct Network Flood (T1498.001) Ataque DDoS attack_dayz que sobrecarga servidores Valve Source Engine con consultas maliciosas.
Impact (TA0040) Endpoint Denial of Service: Application Exhaustion Flood (T1499.003) Ataque attack_special dirigido a puertos específicos (27015, 53, 123) para agotar recursos de aplicaciones.

Flujo de Ataque (Cyber Kill Chain - Darktrace)

  1. Reconocimiento: El atacante escanea internet en busca de servidores Jenkins que tengan expuesto el endpoint scriptText sin autenticación o con credenciales débiles.
  2. Armamento: El atacante desarrolla: (a) un script de Groovy para ejecución remota de código, (b) payloads para Windows (w.exe, renombrado a win_sys.exe) y Linux (bot_x64.exe), (c) técnicas de ofuscación (renombramiento a procesos legítimos, variables de entorno), y (d) métodos de ataque DDoS específicos para el motor Valve Source Engine (attack_dayz, attack_special). Configura la infraestructura C2 en una única IP (103.177.110.202 en Webico, Vietnam).
  3. Entrega: El atacante se conecta al endpoint scriptText del servidor Jenkins vulnerable y envía el script de Groovy malicioso.
  4. Explotación: El servidor Jenkins ejecuta el script de Groovy sin validación de autenticación, otorgando al atacante capacidad de ejecución remota de código (RCE).
  5. Instalación: El script determina el sistema operativo y descarga el payload correspondiente desde 103.177.110.202:
    • Windows: w.exe → update.dat en Temp → renombrado a win_sys.exe
    • Linux: bot_x64.exe en /tmp
    • El malware establece persistencia renombrándose como procesos legítimos (ksoftirqd/0, kworker).
    • En Windows, abre el puerto TCP 5444 para recibir instrucciones.
  6. Comando y Control (C2): Los sistemas infectados se comunican con la IP 103.177.110.202 (o esperan conexiones entrantes en el puerto 5444 en Windows) para recibir comandos de ataque DDoS.
  7. Acción sobre Objetivos: El atacante envía comandos a la botnet para ejecutar ataques DDoS contra servidores de juegos objetivo, específicamente aquellos que ejecutan el motor Valve Source Engine (puerto 27015). Los métodos de ataque incluyen:
    • attack_dayz: Consulta Source Engine Query que sobrecarga al servidor con respuestas masivas de datos.
    • attack_special: Ataques dirigidos a puertos 27015 (juegos), 53 (DNS) y 123 (NTP).

Infraestructura Utilizada

Tipo Indicador / Característica Propósito
IP Única (Acceso, Payload, C2) 103.177.110.202 Servidor de descarga de payloads y punto de control C2.
Proveedor de Alojamiento Webico (marca Tino, Ciudad Ho Chi Minh, Vietnam) Alojamiento de la infraestructura maliciosa.
Endpoint Explotado scriptText en servidores Jenkins Vector de acceso inicial y ejecución remota de código.
Payload Windows w.exe → update.dat → win_sys.exe Binario malicioso para sistemas Windows.
Payload Linux bot_x64.exe Binario malicioso para sistemas Linux.
Puerto C2 (Windows) TCP 5444 Puerto de escucha para comandos del atacante.
Procesos Legítimos Suplantados (Linux) ksoftirqd/0, kworker Nombres utilizados para ocultar el malware.
Variable de Entorno dontKillMe Evita que Jenkins termine el proceso malicioso.

Objetivos y Sectores Afectados

  • Objetivo Principal: Servidores de videojuegos, específicamente aquellos que ejecutan el motor Valve Source Engine.
  • Sector Prioritario: Industria del Gaming / Entretenimiento interactivo.
  • Juegos Específicamente Afectados: Team Fortress 2, Counter-Strike: Global Offensive (CS:GO), Counter-Strike 2, y otros juegos basados en el motor Source Engine de Valve.
  • Infraestructura Objetivo: Servidores de juegos de Valve Corporation y servidores de terceros que alojan juegos de Valve.
  • Puertos Objetivo: 27015 (puerto predeterminado de servidores Valve Source Engine), 53 (DNS), 123 (NTP).
  • Plataformas Afectadas (Servidores Jenkins): Servidores de automatización y CI/CD que ejecutan Jenkins y tienen mal configurado el endpoint scriptText. Pueden estar en cualquier industria.
  • Sistemas Operativos Afectados: Microsoft Windows y Linux (distribuciones que ejecutan Jenkins).

Impacto y Riesgo

  • Nivel de Riesgo: Medio-Alto para la industria del gaming (disponibilidad de servidores) y Medio para organizaciones con servidores Jenkins mal configurados (compromiso de herramientas de desarrollo).
  • Impacto Potencial (Sector Gaming):
    • Indisponibilidad de Servidores de Juegos: Ataques DDoS exitosos pueden dejar servidores de juegos populares (Team Fortress 2, Counter-Strike) inaccesibles para los jugadores durante horas o días.
    • Pérdidas Económicas: Para empresas que dependen de ingresos por microtransacciones, suscripciones o publicidad en juegos online, la indisponibilidad del servidor se traduce directamente en pérdidas de ingresos.
    • Daño Reputacional: La incapacidad de mantener servidores estables puede erosionar la confianza de la comunidad de jugadores y afectar la reputación de los desarrolladores y editores.
    • Interrupción de Torneos y Eventos: Los servidores DDoS pueden interrumpir torneos de esports y eventos de juegos en vivo, causando pérdidas significativas para organizadores y patrocinadores.
  • Impacto Potencial (Organizaciones con Jenkins Mal Configurado):
    • Compromiso de Herramientas de CI/CD: Los atacantes pueden usar servidores Jenkins comprometidos como puntos de lanzamiento para ataques DDoS (convirtiéndolos en nodos de botnet), o pueden robar código fuente y credenciales.
    • Consumo de Ancho de Banda y Recursos: Los servidores Jenkins comprometidos pueden convertirse en participantes activos de la botnet, consumiendo ancho de banda y recursos computacionales.
    • Riesgo de Propagación: Un servidor Jenkins comprometido dentro de una red corporativa puede ser utilizado como punto de pivote para movimientos laterales hacia sistemas más críticos.
  • Impacto en la Industria de Seguridad:
    • Demostración de Riesgos de "Development Debt": Este incidente destaca cómo herramientas de desarrollo mal configuradas (deuda técnica de seguridad) pueden tener consecuencias más allá del entorno de desarrollo.
    • Nuevas Técnicas de DDoS: El método attack_dayz específico para el motor Source Engine representa una técnica de ataque DDoS relativamente novedosa y dirigida a aplicaciones específicas.
  • Ventaja para los Atacantes por Mala OPSEC: Aunque la campaña utiliza una única IP (103.177.110.202), lo que facilita el bloqueo, también indica que los atacantes pueden tener limitaciones de recursos. Las organizaciones deben bloquear esta IP proactivamente.

Recomendaciones de Mitigación

  1. Securización de Servidores Jenkins (M1030, M1028):
    • Restringir el acceso al endpoint scriptText: Este endpoint debe estar protegido por autenticación robusta y solo accesible desde redes internas confiables, nunca expuesto directamente a internet.
    • Implementar control de acceso basado en roles (RBAC): Limitar qué usuarios y procesos pueden ejecutar scripts de Groovy en Jenkins.
    • Actualizar Jenkins a la última versión: Muchas vulnerabilidades conocidas en Jenkins han sido parcheadas; mantener el software actualizado es fundamental.
    • Deshabilitar el uso de scripts de Groovy si no es necesario: Si no se requiere funcionalidad de scripting, deshabilitarla para reducir la superficie de ataque.
  2. Bloqueo de Infraestructura Conocida (M1037):
    • Bloquear la IP 103.177.110.202 a nivel de firewall, proxy y soluciones de seguridad perimetral.
    • Bloquear el puerto TCP 5444 en firewalls de salida si no es utilizado por aplicaciones comerciales legítimas.
    • Implementar reglas de detección para alertar sobre conexiones salientes a esta IP o al puerto 5444.
  3. Monitoreo y Detección en Endpoints y Red (M1040):
    • Monitorear procesos en Linux con nombres ksoftirqd/0 o kworker que no sean los legítimos del sistema (ej., verificando rutas de ejecución y hashes).
    • Monitorear la creación de archivos en directorios temporales (%TEMP% en Windows, /tmp en Linux) con nombres como update.dat, win_sys.exe, o bot_x64.exe.
    • Detectar apertura de puertos no estándar como TCP 5444 en sistemas que normalmente no los utilizan.
  4. Protección de la Industria del Gaming (para operadores de servidores Valve Source Engine) (M1037, M1040):
    • Implementar mitigaciones DDoS a nivel de aplicación: Configurar servidores de juegos para limitar la tasa de consultas Source Engine Query y filtrar tráfico malicioso.
    • Utilizar servicios de mitigación DDoS (Cloudflare, Akamai, AWS Shield) que puedan detectar y bloquear ataques de amplificación y consultas maliciosas.
    • Monitorear el tráfico hacia el puerto 27015 en busca de patrones anómalos de consultas.
  5. Concientización y Mejores Prácticas para Desarrolladores (M1017, M1028):
    • Educar a los equipos de DevOps sobre los riesgos de seguridad de exponer herramientas de CI/CD a internet sin la debida protección.
    • Realizar auditorías regulares de la configuración de servidores Jenkins y otras herramientas de desarrollo.
    • Implementar el principio de mínimo privilegio: Los servidores Jenkins no deben tener más permisos de red de los necesarios, y deben estar segmentados de la red de producción.

Herramientas de Detección

  • Honeypots (CloudyPots de Darktrace): La campaña fue detectada inicialmente por honeypots diseñados para emular servicios vulnerables y atraer actividad maliciosa.
  • EDR / XDR: Soluciones como CrowdStrike, SentinelOne, o Microsoft Defender for Endpoint pueden detectar:
    • Creación de archivos en directorios temporales con nombres sospechosos (update.dat, win_sys.exe, bot_x64.exe).
    • Procesos renombrados que imitan procesos del sistema (ksoftirqd/0, kworker) pero se ejecutan desde ubicaciones anómalas.
    • Apertura de puertos de escucha no estándar (TCP 5444).
  • NDR (Network Detection and Response): Herramientas como Darktrace, Vectra, o ExtraHop pueden detectar:
    • Conexiones salientes a la IP 103.177.110.202.
    • Tráfico anómalo hacia el puerto 27015 (servidores de juegos) que coincida con patrones de consulta Source Engine Query.
    • Protocolos de control DDoS.
  • SIEM: Correlacionar logs de acceso a Jenkins, logs de firewall, y alertas de EDR/NDR para identificar patrones de ataque.
  • CyberChef: Herramienta utilizada por los investigadores para decodificar y analizar el script de Groovy ofuscado.

Referencias y Fuentes

  • Ahmed, D. (2026, 1 de mayo). Hackers Use Jenkins Access to Deploy DDoS Botnet Against Gaming Servers. Hackread.com. (Artículo proporcionado por el usuario).
  • Darktrace. (2026). CloudyPots Honeypot Detection: Jenkins DDoS Botnet Campaign. (Informe de investigación citado en el artículo).
  • MITRE ATT&CK Framework. Enterprise Matrix. (Para mapeo de TTPs).

Historial de Revisiones

Fecha Versión Autor Cambios Realizados
2026-05-04 1.0 Fernando Vargas Hincapié Creación inicial de la entrada basada en el análisis de Darktrace sobre la campaña de botnet DDoS con Jenkins.

Indicadores de Compromiso (IOCs)

Tipo Valor
IP Maliciosa (C2, Payload, Acceso) 103.177.110.202
Proveedor de Alojamiento Webico (marca Tino, Ciudad Ho Chi Minh, Vietnam)
Endpoint Explotado scriptText (Jenkins)
Payload Windows w.exe → update.dat → win_sys.exe
Payload Linux bot_x64.exe
Ruta Windows %TEMP%\update.dat, %TEMP%\win_sys.exe (después del renombrado)
Ruta Linux /tmp/bot_x64.exe
Puerto C2 (Windows) TCP 5444
Nombres de Procesos Suplantados (Linux) ksoftirqd/0, kworker
Variable de Entorno dontKillMe
Motor de Juego Objetivo Valve Source Engine
Puertos Objetivo (Juegos) 27015 (predeterminado de Valve Source Engine)
Puertos Objetivo (Ataques Secundarios) 53 (DNS), 123 (NTP)
Método de Ataque DDoS attack_dayz (Source Engine Query flood), attack_special (puertos específicos)
Juegos Afectados Team Fortress 2, Counter-Strike: Global Offensive (CS:GO), Counter-Strike 2, otros juegos basados en Source Engine
Fecha de Detección 18 de marzo de 2026
Comportamiento Anómalo (Jenkins) Acceso al endpoint scriptText desde IP inusual
Comportamiento Anómalo (Windows) Creación de update.dat y win_sys.exe en %TEMP%; apertura del puerto TCP 5444
Comportamiento Anómalo (Linux) Creación de /tmp/bot_x64.exe; procesos ksoftirqd/0 o kworker con rutas anómalas
Comportamiento Anómalo (Red) Tráfico saliente a 103.177.110.202 o conectividad al puerto 5444

Etiquetas / Categorías

jenkins ddos-botnet gaming valve-source-engine scripttext groovy rce remote-code-execution darktrace cloudypots webico tino vietnam ho-chi-minh-city team-fortress-2 counter-strike cs-go cs2 attack-dayz source-engine-query ntp-amplification dns-amplification ksoftirqd kworker dontkillme bot-x64 win-sys ciberwiki deeba-ahmed hackread jenkins-ddos botnet-campaign gaming-server-ddos