SOC Prime Bias: Crítico

12 Jun 2026 18:47 UTC

Solana FakeFix: 25 paquetes maliciosos de npm y PyPI se hacen pasar por versiones estables

Author Photo
SOC Prime Team linkedin icon Seguir
Solana FakeFix: 25 paquetes maliciosos de npm y PyPI se hacen pasar por versiones estables
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Una campaña de paquetes maliciosos está apuntando a desarrolladores de Solana a través de bibliotecas npm y PyPI con errores tipográficos promovidas como correcciones de compilaciones estables. El malware abusa de la ejecución del ciclo de vida del paquete y ganchos de tiempo de importación para robar secretos de billetera, credenciales de nube y claves SSH de entornos infectados. Algunas muestras también se expanden más allá del robo actuando como puertas traseras completas a través del comando y control basado en Telegram o desplegando cargadores enfocados en Windows construidos alrededor de Deno.

Investigación

Los investigadores de seguridad de JFrog descubrieron dos operaciones separadas pero relacionadas. La primera, rastreada como Solana FakeFix, utilizó paquetes estilo SDK falsificados para recopilar secretos sensibles de desarrolladores y sistemas de compilación. La segunda usó paquetes npm con temas de CMS para cargar ejecutables de Windows. Su análisis mostró que el código malicioso a menudo se agregaba a bibliotecas que de otro modo parecían funcionales, ayudando a que los paquetes parecieran legítimos mientras recuperaban silenciosamente cargas útiles de segunda etapa de manera dinámica a través de Deno.

Mitigación

Las organizaciones deben eliminar todos los paquetes afectados de las estaciones de trabajo de desarrolladores, las canalizaciones CI/CD y los cachés de paquetes internos. Cualquier credencial potencialmente expuesta debe rotarse de inmediato, incluidas las claves de billetera de Solana, claves SSH, credenciales de AWS y tokens de GitHub. Los equipos de seguridad también deben auditar los hosts en busca de métodos de persistencia como claves de ejecución del Registro, tareas programadas y modificaciones del perfil de shell.

Respuesta

Los defensores deben desinstalar los paquetes maliciosos identificados y revisar los archivos de bloqueo de dependencias en busca de bibliotecas no autorizadas o inesperadas. Todos los secretos expuestos deben rotarse de inmediato y cualquier criptomoneda almacenada en billeteras potencialmente comprometidas debe transferirse a nuevas direcciones de confianza. Los corredores de CI y los sistemas de desarrollo deben reconstruirse a partir de imágenes limpias para garantizar que no queden puertas traseras ocultas o mecanismos de persistencia.

Flujo de Ataque

Ejecución de Simulación

Requisito previo: El chequeo previo de Telemetría y Línea base debe haber sido aprobado.

Justificación: 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 la narrativa DEBEN reflejar directamente los TTPs identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados llevarán a un diagnóstico erróneo.

  • Narrativa y Comandos de Ataque: El atacante ha ganado acceso inicial y tiene la intención de mantener un punto de apoyo. Deciden utilizar una carga útil basada en Deno. Para ocultar la ejecución del terminal, usan la --sin_cabeza bandera para conhost.exe. Ejecutan un comando que modifica la clave del registro HKCUSoftwareMicrosoftWindowsCurrentVersionRun , adicionando un valor llamado DenoUpdater que ejecuta conhost.exe --sin_cabeza deno.exe [script_malicioso]. Esto asegurará que la carga útil se ejecute silenciosamente en segundo plano al iniciar sesión el usuario.

  • Script de Prueba de Regresión:

    # Simulación de persistencia basada en Deno a través de Clave de Ejecución del Registro
    $RegistryPath = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun"
    $Name = "DenoUpdater"
    $Value = "C:WindowsSystem32conhost.exe --sin_cabeza C:UsersPublicdeno.exe carga_maliciosa.js"
    
    Write-Host "[*] Simulando mecanismo de persistencia..."
    New-ItemProperty -Path $RegistryPath -Name $Name -Value $Value -PropertyType String -Force
    Write-Host "[+] Clave de registro creada. Verifique SIEM para alerta."
  • Comandos de Limpieza:

    # Limpiar la persistencia simulada
    $RegistryPath = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun"
    $Name = "DenoUpdater"
    
    if (Get-ItemProperty -Path $RegistryPath -Name $Name -ErrorAction SilentlyContinue) {
        Remove-ItemProperty -Path $RegistryPath -Name $Name -Force
        Write-Host "[+] Limpieza completa. Clave de registro removida."
    } else {
        Write-Host "[-] Limpieza fallida: Clave de registro no encontrada."
    }