SOC Prime Bias: Crítico

12 Jun 2026 06:05 UTC

El crecimiento de JDY Botnet permite una explotación más rápida de fallos en IoT y SOHO

Author Photo
SOC Prime Team linkedin icon Seguir
El crecimiento de JDY Botnet permite una explotación más rápida de fallos en IoT y SOHO
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Black Lotus Labs ha identificado actividad renovada del botnet JDY, una red vinculada a China compuesta por más de 1,500 dispositivos SOHO e IoT comprometidos, utilizada para escaneos y huellas dactilares a gran escala. El botnet recibe instrucciones de un sistema centralizado de mando y control, realiza escaneos dirigidos multiprotocolo y devuelve telemetría estructurada que ayuda a los operadores a explotar rápidamente las vulnerabilidades recién divulgadas. Su infraestructura está ocultada a través de Tor, mientras que una plataforma de código abierto llamada Platypus se utiliza para gestionar los dispositivos infectados. La actividad se centra en objetivos de infraestructura crítica y militar de EE. UU.

Investigación

La investigación rastreó el tráfico de JDY hacia un servidor de carga útil en 149.248.3.38, que alojaba un servicio Platypus en el puerto 13339, y descubrió un dropper basado en bash que recupera binarios específicos de arquitectura a través de busybox, curl, o wget. Se examinaron muestras de malware para identificar opciones de línea de comando, comportamiento de baliza, recuperación de tareas a través de puntos de entrada HTTPS cifrados y métodos de escaneo adaptativos como la sondeo SYN de paquetes en bruto. El informe también conecta JDY al botnet anterior KV y asocia la actividad con el grupo APT chino Volt Typhoon.

Mitigación

Las defensas recomendadas incluyen seguir la orientación del NCSC del Reino Unido y CISA para contrarrestar la infraestructura encubierta vinculada a China, reforzar el firmware de routers e IoT, reiniciar y parchear dispositivos regularmente, y utilizar SASE o controles similares para reducir la exposición externa. Los equipos de seguridad también deben monitorear sesiones TLS salientes inusuales hacia direcciones IP desconocidas y actividad de escaneo inesperada que se origine desde dispositivos perimetrales internos.

Respuesta

Si se detecta actividad de JDY, aísle el dispositivo afectado de inmediato, bloquee el tráfico saliente hacia la IP y el puerto de mando y control identificados, y elimine cualquier binario malicioso. El contenido de detección debe incluir el nombre del proceso auditdy y el servicio Platypus, seguido de un barrido de red más amplio para otros dispositivos IoT que muestren el mismo patrón de baliza. Luego, se debe actualizar el firmware y aplicar parches a cualquier producto vulnerable expuesto, incluidos los dispositivos Fortinet referenciados en el informe.

"graph TB %% Definiciones de clase classDef technique fill:#c2e0ff classDef tool fill:#d9d9d9 classDef process fill:#ffeb99 %% Nodos – técnicas ingress_tool_transfer["<b>Técnica</b> – <b>T1105 Transferencia de Herramientas de Ingreso</b><br/>Descarga el binario JDY en dispositivos comprometidos usando wget, curl o busybox."] class ingress_tool_transfer technique system_info_discovery["<b>Técnica</b> – <b>T1082 Descubrimiento de Información del Sistema</b><br/>Recoge información del SO, versión del kernel, arquitectura de CPU, tiempo activo e información de la memoria."] class system_info_discovery technique firmware_software_gather["<b>Técnica</b> – <b>T1592.003 Firmware</b> y <b>T1592.002 Software</b><br/>Recoge detalles de la versión del firmware y software instalado para calcular un probe_id único."] class firmware_software_gather technique sandbox_evasion["<b>Técnica</b> – <b>T1497.001 Evasión de Sandbox/Virtualización</b><br/>Realiza verificaciones del entorno para evitar la ejecución dentro de sandboxes de análisis."] class sandbox_evasion technique indicator_removal["<b>Técnica</b> – <b>T1070.004 Eliminación de Archivos</b><br/>Elimina los archivos del dropper después del lanzamiento de la carga útil para reducir la evidencia forense."] class indicator_removal technique hide_infra["<b>Técnica</b> – <b>T1665 Ocultar Infraestructura</b><br/>Utiliza servicios web ocultos basados en Tor para ocultar los puntos de mando y control."] class hide_infra technique c2_web_service["<b>Técnica</b> – <b>T1102 Servicio Web</b><br/>Se comunica con C2 sobre HTTP(S) a través del servicio Tor oculto."] class c2_web_service technique active_scanning["<b>Técnica</b> – <b>T1595.002 Escaneo Activo – Escaneo de Vulnerabilidades</b><br/>Recibe tareas de escaneo de alto volumen y realiza escaneos multiprotocolo (TCP SYN, UDP, SSL, ICMP)."] class active_scanning technique network_discovery["<b>Técnica</b> – <b>T1016.001 Descubrimiento de Conexión a Internet</b><br/>Enumera puertos abiertos, captura banners, certificados TLS y huellas dactilares del servicio."] class network_discovery technique data_archiving["<b>Técnica</b> – <b>T1560 Archivar Datos Recogidos</b><br/>Comprime los resultados y los cifra con una clave AES codificada."] class data_archiving technique execution_guardrails["<b>Técnica</b> – <b>T1480.001 Clave de Entorno</b><br/>Usa claves específicas del entorno para asegurar que la carga útil se ejecute solo en los hosts previstos."] class execution_guardrails technique exfiltration["<b>Técnica</b> – <b>T1102 Servicio Web (Exfiltración)</b><br/>Publica los resultados del escaneo cifrados en el punto de C2 ‘/data/v2/pscan’."] class exfiltration technique %% Conexiones mostrando el flujo de ataque ingress_tool_transfer –>|lleva a| system_info_discovery system_info_discovery –>|proporciona datos para| firmware_software_gather firmware_software_gather –>|alimenta| sandbox_evasion sandbox_evasion –>|permite continuación a| indicator_removal indicator_removal –>|elimina artefactos antes de| hide_infra hide_infra –>|establece canal oculto para| c2_web_service c2_web_service –>|entrega tareas de escaneo a| active_scanning active_scanning –>|genera datos de red para| network_discovery network_discovery –>|produce datos para| data_archiving data_archiving –>|se aplica| execution_guardrails execution_guardrails –>|prepara la carga útil para| exfiltration exfiltration –>|almacena resultados en| c2_web_service %% Estilización class ingress_tool_transfer,system_info_discovery,firmware_software_gather,sandbox_evasion,indicator_removal,hide_infra,c2_web_service,active_scanning,network_discovery,data_archiving,execution_guardrails,exfiltration technique "

Flujo de Ataque

Ejecución de Simulación

Prerequisito: La Telemetría y Chequeo Previo de Línea de Base deben haber pasado.

Rationale: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y narrativas DEBEN reflejar directamente los TTPs identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa del Ataque y Comandos:
    El operador JDY quiere recuperar la carga útil de la siguiente etapa de su servidor codificado (149.248.3.38). Para ocultar el canal de C2, el operador también intenta una conexión enrutada por Tor, esperando que la expresión regular “tor” lo marque. En un host Windows comprometido, el atacante ejecuta una línea de comandos de PowerShell que abre un socket TCP al servidor de carga útil, luego utiliza el ejecutable Tor (tor.exe) para resolver un servicio oculto y conectarse a él. Ambas acciones producen eventos de firewall salientes que deberían satisfacer la regla Sigma.

  • Script de Prueba de Regresión:

    # Simulación de actividad del botnet JDY – activa la regla Sigma
    # -------------------------------------------------------
    # 1. Conexión directa al servidor de carga útil conocido
    $payloadIp = "149.248.3.38"
    $payloadPort = 80
    try {
        $sock = New-Object System.Net.Sockets.TcpClient($payloadIp, $payloadPort)
        Write-Output "Conectado al servidor de carga útil JDY ($payloadIp:$payloadPort)"
        $sock.Close()
    } catch {
        Write-Error "Error al conectar con el servidor de carga útil: $_"
    }
    
    # 2. Conexión basada en Tor (simulada a través de nombre de host con 'tor')
    #    Asume que tor.exe está en PATH y un proxy de TOR SOCKS está escuchando en 127.0.0.1:9050
    $torDest = "exampletorhiddenservice.onion"
    $torPort = 443
    $torProxy = "127.0.0.1:9050"
    try {
        $script = @"
        $client = New-Object System.Net.Sockets.TcpClient
        $client.Connect("$torDest", $torPort)
        "@
        # En la práctica, esto requiere un resolvedor habilitado para Tor; aquí solo emitimos un evento registrable
        Write-Output "Intentando conexión Tor a $torDest:$torPort vía $torProxy"
    } catch {
        Write-Error "Fallo la conexión Tor: $_"
    }
    
    # Fin de la simulación – el firewall debería haber registrado dos intentos salientes
  • Comandos de Limpieza:

    # Eliminar cualquier conexión persistente o archivos temporales
    Get-NetTCPConnection -RemotePort 80,443 | Where-Object { $_.RemoteAddress -eq "149.248.3.38" } | Remove-NetTCPConnection -Force
    # (Si tor.exe fue iniciado, detenerlo)
    Stop-Process -Name "tor" -ErrorAction SilentlyContinue