Analisando SHEET#CREEP: O Malware Retorna com Nova Obfuscação de Configuração
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Uma operação de espionagem ativa conhecida como SHEETCREEP depende de um trojan de acesso remoto em C# que utiliza a API do Google Sheets para comando e controle. Os atacantes entregam o malware através de um atrativo de phishing em ISO com tema diplomático, após o qual o RAT estabelece persistência e executa comandos por meio de um espaço de execução do PowerShell em processo. Amostras recentes mostram que os operadores reforçaram o malware introduzindo ofuscação baseada em XOR para dados de configuração.
Investigação
A equipe de Pesquisa de Ameaças da Securonix descobriu a campanha extraindo credenciais de conta de serviço do Google Cloud incorporadas do binário RAT. Após autenticar na planilha de comando e controle ao vivo, os pesquisadores identificaram 91 abas de vítimas ativas, incluindo sandboxes, ambientes de pesquisa, e uma vítima de alta confiança localizada no Paquistão. Sua análise também mostrou que a proteção de configuração do malware evoluiu por meio de uma abordagem de ofuscação atualizada.
Mitigação
As organizações devem evitar abrir anexos não solicitados, especialmente arquivos ISO que contêm arquivos de atalho LNK. Os defensores devem monitorar o %LOCALAPPDATA%MicrosoftVault diretório para executáveis suspeitos e revisar tarefas agendadas em busca de entradas enganosas ou inesperadas. A visibilidade robusta do endpoint através de ferramentas como Sysmon e AMSI também pode ajudar a detectar atividades do PowerShell em processo ligadas a esse malware.
Resposta
Se tráfego HTTPS incomum para serviços de API do Google for observado a partir de processos não-browser, o sistema afetado deve ser isolado imediatamente. As equipes de segurança devem inspecionar tarefas agendadas em busca de itens não autorizados, como WindowsVaultSyncService. Deve-se também realizar uma revisão forense de %LOCALAPPDATA%MicrosoftVault para identificar binários ocultos ou atribuídos ao sistema associados à intrusão.
graph TB %% Seção de definição de classes classDef initial_access fill:#f96,stroke:#333,stroke-width:2px classDef execution fill:#3498db,stroke:#333,stroke-width:2px classDef persistence fill:#2ecc71,stroke:#333,stroke-width:2px classDef evasion fill:#9b59b6,stroke:#333,stroke-width:2px classDef command_control fill:#e74c3c,stroke:#333,stroke-width:2px classDef malware fill:#ecf0f1,stroke:#333,stroke-width:2px %% Nós de acesso inicial node_iso[“<b>Arquivo</b>: UAE-India_Strategic_Partnership_Week.iso<br/><b>Ação</b>: Montagem de ISO<br/><b>Contexto</b>: Tema diplomático usado para engenharia social”] class node_iso initial_access node_lnk[“<b>Arquivo</b>: Atalho LNK Malicioso<br/><b>Técnica</b>: T1027.012 – Arquivos ou Informações Ofuscadas: Ocultação de Ícone LNK<br/><b>Descrição</b>: Arquivo LNK disfarçado como ícone de PDF para enganar o usuário”] class node_lnk initial_access %% Nós de execução e dropper node_user_exec[“<b>Ação</b>: T1204.002 – Execução pelo Usuário: Arquivo Malicioso<br/><b>Descrição</b>: A vítima interage com o arquivo LNK malicioso”] class node_user_exec execution node_dropper[“<b>Malware</b>: Dropper C#<br/><b>Arquivo</b>: Document_11052026-03578240540350-93.exe<br/><b>Função</b>: Extrai PDF isca e instala o payload RAT”] class node_dropper execution %% Nós de persistência e evasão node_rat[“<b>Malware</b>: SHEETCREEP RAT<br/><b>Processo</b>: vaultsvc.exe<br/><b>Localização</b>: %LOCALAPPDATA%\\Microsoft\\Vault\\vaultsvc.exe”] class node_rat malware node_attr_evasion[“<b>Ação</b>: T1027.008 – Arquivos ou Informações Ofuscadas: Payloads Removidos<br/><b>Descrição</b>: Define atributos do arquivo RAT como Oculto e Sistema”] class node_attr_evasion evasion node_persistence[“<b>Ação</b>: T1137 – Inicialização Automática de Aplicativos Office<br/><b>Método</b>: Tarefa Agendada via API COM<br/><b>Nome da Tarefa</b>: WindowsVaultSyncService”] class node_persistence persistence node_melt[“<b>Ação</b>: T1070.004 – Remoção de Indicadores: Exclusão de Arquivos<br/><b>Descrição</b>: Rotina melt remove o dropper e substitui por um PDF legítimo”] class node_melt evasion %% Nós C2 e evasão avançada node_c2_api[“<b>Técnica</b>: T1102.002 – Serviço Web: Comunicação Bidirecional<br/><b>Canal</b>: Google Sheets API<br/><b>Autenticação</b>: Conta de Serviço GCP e chave RSA-2048”] class node_c2_api command_control node_xor_cfg[“<b>Técnica</b>: T1573.002 – Canal Criptografado<br/><b>Descrição</b>: Configuração criptografada com XOR usando a chave ‘discrete’ para o ID da Planilha”] class node_xor_cfg command_control node_powershell_evasion[“<b>Técnica</b>: T1036.011 – Mascaramento: Sobrescrever Argumentos do Processo<br/><b>Descrição</b>: Executa comandos usando PowerShell em processo para evitar detecção por EDR”] class node_powershell_evasion evasion %% Fluxo de conexão node_iso –>|contém| node_lnk node_lnk –>|aciona| node_user_exec node_user_exec –>|executa| node_dropper node_dropper –>|instala| node_rat node_dropper –>|aplica_atributos| node_attr_evasion node_dropper –>|estabelece| node_persistence node_dropper –>|executa| node_melt node_rat –>|comunica_por| node_c2_api node_rat –>|usa| node_xor_cfg node_rat –>|executa_comandos_por| node_powershell_evasion
Fluxo de Ataque
Detecções
Uso Possível de Escolha para Execução Atrasada (via linha de comando)
Ver
Imagem de Disco Óptico VHDMP Foi Montada (via VHDMP)
Ver
Tarefa Agendada Suspeita (via audit)
Ver
Possível Atividade de Utilitário de Comando e Controle do Google (via proxy)
Ver
IOCs (HashSha256) para detectar: Analisando SHEET#CREEP: SHEETCREEP está ativo novamente com ofuscação de configuração diferente
Ver
IOCs (SourceIP) para detectar: Analisando SHEET#CREEP: SHEETCREEP está ativo novamente com ofuscação de configuração diferente
Ver
IOCs (DestinationIP) para detectar: Analisando SHEET#CREEP: SHEETCREEP está ativo novamente com ofuscação de configuração diferente
Ver
Detecção de Comunicação C2 do Sheet#CREEP via API do Google Sheets [Firewall]
Ver
Detectar Uso de Mutex do Malware SHEET#CREEP [Windows Sysmon]
Ver
Detecção de Padrões de Persistência e Execução do SHEETCREEP [Criação de Processo no Windows]
Ver
Execução de Simulação
Pré-requisito: O Check de Pré-voo de Telemetria & Baseline deve ter sido aprovado.
Racional: 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. Exemplos abstratos ou não relacionados levarão a um diagnóstico incorreto.
-
Narrativa e Comandos de Ataque: O adversário pretende estabelecer persistência e executar um trojan de acesso remoto (RAT) usando a técnica SHEETCREEP. Primeiro, eles simulam a execução inicial via um arquivo LNK malicioso que chama
cmd.exepara iniciar um executável suspeito específico. Em seguida, eles estabelecem persistência criando uma tarefa agendada nomeadaWindowsVaultSyncServicecom uma descrição enganosa para se misturar com as atualizações do sistema. Finalmente, eles implantam a cargavaultsvc.exenaC:UsersAppDataLocalMicrosoftVaultdiretório e executam para acionar a parte final da lógica de detecção. -
Script de Teste de Regressão:
# Script de Simulação SHEETCREEP # Nota: Este script deve ser executado com privilégios administrativos para criar tarefas agendadas. $targetDir = "$env:LOCALAPPDATAMicrosoftVault" $payloadName = "vaultsvc.exe" $payloadPath = "$targetDir$payloadName" $taskName = "WindowsVaultSyncService" $taskDesc = "Tarefa de Atualização de Núcleo do Windows Edge Máquina Discord Atualização" Write-Host "[+] Iniciando Simulação SHEETCREEP..." -ForegroundColor Cyan # 1. Simular Seleção 1: Execução CMD com string específica Write-Host "[+] Simulando Seleção 1: Padrão de comando CMD..." -ForegroundColor Yellow Start-Process cmd.exe -ArgumentList '/c start "" "Document_11052026-03578240540350-93.exe"' -WindowStyle Hidden # 2. Simular Seleção 2: Criação de Tarefa Agendada Write-Host "[+] Simulando Seleção 2: Criação de Tarefa Agendada..." -ForegroundColor Yellow $action = New-ScheduledTaskAction -Execute "cmd.exe" -Argument "/c echo Persistência Estabelecida" $trigger = New-ScheduledTaskTrigger -AtLogOn Register-ScheduledTask -Action $action -Trigger $trigger -TaskName $taskName -Description $taskDesc -Force # 3. Simular Seleção 3: Colocação e execução de carga útil Write-Host "[+] Simulando Seleção 3: Implantação e execução de carga útil..." -ForegroundColor Yellow if (!(Test-Path $targetDir)) { New-Item -Path $targetDir -ItemType Directory -Force | Out-Null } # Criar um arquivo binário fictício para imitar o RAT New-Item -Path $payloadPath -ItemType File -Force | Out-Null # Executar a carga fictícia Start-Process -FilePath $payloadPath -WindowStyle Hidden -ErrorAction SilentlyContinue Write-Host "[+] Comandos de simulação enviados. Verifique SEIM para alertas." -ForegroundColor Green -
Comandos de Limpeza:
# Limpeza da Simulação SHEETCREEP $targetDir = "$env:LOCALAPPDATAMicrosoftVault" $payloadPath = "$targetDirvaultsvc.exe" $taskName = "WindowsVaultSyncService" Write-Host "[+] Limpando artefatos de simulação..." -ForegroundColor Cyan # Remover Tarefa Agendada Unregister-ScheduledTask -TaskName $taskName -Confirm:$false -ErrorAction SilentlyContinue # Remover Carga e Diretório if (Test-Path $payloadPath) { Remove-Item $payloadPath -Force } if (Test-Path $targetDir) { Remove-Item $targetDir -Recurse -Force } Write-Host "[+] Limpeza concluída." -ForegroundColor Green