Mirage Kitten despliega NodeRabbit y PollCat mediante engaños de ofertas de trabajo
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
El actor de amenaza vinculado a Irán, Mirage Kitten, está ejecutando una campaña de ciberespionaje dirigida a ingenieros de software a través de personas falsas de reclutadores. Los atacantes distribuyen desafíos de codificación troyanizados que entregan dos RATs multiplataforma recién identificados, NodeRabbit y PollCat. Ambas familias de malware abusan de los entornos Node.js para establecer persistencia y acceso remoto en sistemas Windows, Linux y macOS.
Investigación
Kaspersky identificó la actividad después de descubrir una muestra de NodeRabbit en Afganistán y posteriormente encontrar variantes más avanzadas en Egipto y Etiopía. La investigación reveló una sofisticada cadena de infección que involucra paquetes npm maliciosos incrustados dentro de archivos de aplicaciones web de apariencia legítima. Los investigadores también identificaron a PollCat operando a través de un desafío de codificación basado en React.
Mitigación
Las organizaciones deben imponer controles estrictos sobre las dependencias de paquetes npm de terceros y usar herramientas de revisión de código asistidas por IA para identificar importaciones o comportamientos sospechosos. Los desarrolladores deben ser entrenados para reconocer intentos de ingeniería social en plataformas de redes profesionales. Los equipos de seguridad también deben monitorear extensiones no autorizadas de Visual Studio Code y modificaciones inesperadas a los ganchos de Git.
Respuesta
Si se detecta actividad maliciosa, las estaciones de trabajo de los desarrolladores afectadas deben aislarse inmediatamente para prevenir el movimiento lateral y una mayor comunicación C2. Los respondedores deben auditar local node_modules directorios, ganchos de Git, y extensiones de VS Code en busca de archivos no autorizados o sospechosos. También se deben revisar los registros de infraestructura en la nube, particularmente de Azure y Cloudflare, en busca de conexiones anómalas originadas desde entornos de desarrollo.
Flujo de Ataque
Detecciones
Powershell ejecuta archivo en directorio sospechoso utilizando política de ejecución Bypass (vía cmdline)
Posible nodo generado por proceso conocido abusado (vía cmdline)
Node.Js ejecuta archivo localizado en directorio inusual (vía cmdline)
IOCs (HashSha256) para detectar: La oferta de trabajo tiene garras: Mirage Kitten despliega NodeRabbit y PollCat
Inspección de variables de entorno de proxy de NodeRabbit y túnel HTTP CONNECT [Proxy]
Detección de Mirage Kitten NodeRabbit y PollCat RAT [Creación de procesos en Windows]
Detección de NodeRabbit RAT en desafíos de codificación troyanizados [Creación de procesos en Linux]
Ejecución de simulación
-
Narrativa del ataque y comandos: El adversario ha engañado exitosamente a un desarrollador para que ejecute un repositorio «desafío de codificación» malicioso. El desarrollador ejecuta un script Node.js destinado a simular un entorno de codificación. Sin embargo, el script contiene el
taskflowargumento, que es parte de la rutina de inicialización del RAT NodeRabbit. El objetivo es establecer un acceso remoto enmascarándose como una herramienta de desarrollo legítima. La ejecución denode taskflow.jsproducirá la telemetría de línea de comandos exacta requerida para activar la regla. -
Script de prueba de regresión:
# Script de simulación para la detección del RAT NodeRabbit # Este script crea un archivo javascript ficticio y lo ejecuta usando Node.js # con el argumento específico 'taskflow' para activar la regla de detección. $dummyFile = "challenge_setup.js" "console.log('Inicializando desafío de codificación...');" | Out-File -FilePath $dummyFile -Encoding utf8 Write-Host "[+] Simulando ejecución de NodeRabbit RAT vía argumento taskflow..." -ForegroundColor Cyan # Activación de la detección: node <filename> <trigger_string> node $dummyFile taskflow Write-Host "[+] Comando de simulación ejecutado." -ForegroundColor Green -
Comandos de limpieza:
# Script de limpieza para remover artefactos de simulación Remove-Item -Path "challenge_setup.js" -ErrorAction SilentlyContinue Write-Host "[+] Limpieza completa. Artefactos de simulación eliminados." -ForegroundColor Yellow