Habilidade Maliciosa OpenClaw Distribui Remcos RAT e GhostLoader
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Atores de ameaça publicaram uma habilidade OpenClaw maliciosa chamada DeepSeek-Claw que engana agentes de IA ou desenvolvedores a baixar um instalador MSI armado. Uma vez executado, o instalador solta um binário assinado do GoToMeeting que carrega um DLL malicioso, que então carrega o Remcos RAT. Um caminho de infecção separado entrega uma carga útil de Node.js fortemente ofuscada que instala o ladrão GhostLoader multiplataforma. A campanha destaca como plugins comprometidos no fluxo de trabalho da IA podem ser usados como um vetor de cadeia de suprimento para acesso remoto persistente e roubo de dados.
Investigação
A Zscaler ThreatLabz seguiu toda a cadeia de infecção do arquivo markdown da habilidade maliciosa até o download do MSI, o carregamento de DLL de G2M.exe, e o carregador em memória responsável por alterar ETW e AMSI. Os pesquisadores recuperaram a configuração do Remcos, incluindo seu endereço de comando e controle e mutex, e também identificaram o uso do GhostLoader de npm scripts e instaladores baseados em Bash para ambientes macOS e Linux. O relatório documenta ainda várias técnicas de evasão, incluindo ofuscação de API, descriptografia baseada em TEA e verificações de consciência de sandbox.
Mitigação
Os defensores devem bloquear o acesso ao MSI malicioso e URLs relacionados, monitorar DLLs não assinadas carregadas por processos legítimos do GoToMeeting e impor validação rigorosa do conteúdo da habilidade OpenClaw antes do uso. As proteções de endpoint também devem detectar tentativas de alteração de ETW e AMSI e restringir a execução de PowerShell or msiexec em contextos não administrativos. As organizações devem verificar as assinaturas de código para todos os binários e aplicar controles de privilégios mínimos às integrações de agentes de IA e plugins.
Resposta
Se essa atividade for detectada, isole o endpoint afetado imediatamente, termine quaisquer processos de Remcos ou GhostLoader e remova os artefatos DLL e MSI maliciosos do sistema. Colete despejos de memória e preserve a configuração do Remcos para análise forense, depois redefina credenciais comprometidas e rotacione qualquer certificado ou segredo afetado. As equipes de segurança também devem atualizar feeds de inteligência de ameaças com os indicadores identificados e fortalecer os controles de cadeia de suprimento em torno do uso de plugins de IA.
"graph TB %% Class definitions classDef technique fill:#cfe2f3 classDef tool fill:#e2efda classDef malware fill:#f9cb9c classDef process fill:#ffd966 %% Technique nodes tech_user_exec_copypaste["<b>Technique</b> – <b>T1204.004 User Execution: Malicious Copy and Paste</b><br/><b>Description</b>: Tricking users or AI agents into executing a copied PowerShell one-liner."] class tech_user_exec_copypaste technique tech_user_exec_link["<b>Technique</b> – <b>T1204.001 User Execution: Malicious Link</b><br/><b>Description</b>: Victim clicks a malicious download link that starts the same chain."] class tech_user_exec_link technique tech_msiexec["<b>Technique</b> – <b>T1218.007 System Binary Proxy Execution: Msiexec</b><br/><b>Description</b>: Use of msiexec to silently download and install a remote MSI package."] class tech_msiexec technique tech_dll_hijack["<b>Technique</b> – <b>T1574.001 Hijack Execution Flow: DLL Side-Loading</b><br/><b>Description</b>: Loading a malicious DLL by placing it alongside a legitimate executable."] class tech_dll_hijack technique tech_active_scanning["<b>Technique</b> – <b>T1595 Active Scanning</b><br/><b>Description</b>: Patching EtwEventWrite and AmsiScanBuffer to evade telemetry and anti-malware scanning."] class tech_active_scanning technique tech_virt_user_check["<b>Technique</b> – <b>T1497.002 Virtualization Evasion: User Activity Checks</b><br/><b>Description</b>: Detects user-driven activity to determine whether running in a sandbox."] class tech_virt_user_check technique tech_virt_time_check["<b>Technique</b> – <b>T1497.003 Virtualization Evasion: Time Checks</b><br/><b>Description</b>: Introduces latency and time-based delays to thwart analysis."] class tech_virt_time_check technique tech_obfusc_embedded["<b>Technique</b> – <b>T1027.009 Obfuscated Files or Information: Embedded Payloads</b><br/><b>Description</b>: Final RAT payload encrypted with TEA-CBC and decrypted only in memory."] class tech_obfusc_embedded technique tech_keylogging["<b>Technique</b> – <b>T1056.001 Input Capture: Keylogging</b><br/><b>Description</b>: Captures keystrokes from the compromised system."] class tech_keylogging technique tech_clipboard["<b>Technique</b> – <b>T1115 Clipboard Data</b><br/><b>Description</b>: Reads clipboard contents for exfiltration."] class tech_clipboard technique tech_steal_cookie["<b>Technique</b> – <b>T1539 Steal Web Session Cookie</b><br/><b>Description</b>: Extracts active browser cookies to bypass MFA."] class tech_steal_cookie technique tech_alt_auth["<b>Technique</b> – <b>T1550.004 Use Alternate Authentication Material: Web Session Cookie</b><br/><b>Description</b>: Reuses harvested cookies as valid authentication tokens."] class tech_alt_auth technique tech_forge_cookie["<b>Technique</b> – <b>T1606.001 Forge Web Credentials: Web Cookies</b><br/><b>Description</b>: Crafts forged web credentials based on stolen cookies."] class tech_forge_cookie technique tech_private_keys["<b>Technique</b> – <b>T1552.004 Credentials from Password Stores: Private Keys</b><br/><b>Description</b>: Harvests SSH private keys from the filesystem."] class tech_private_keys technique tech_cred_files["<b>Technique</b> – <b>T1552.001 Credentials in Files</b><br/><b>Description</b>: Searches for files containing plain-text credentials."] class tech_cred_files technique tech_browser_creds["<b>Technique</b> – <b>T1555.003 Credentials from Web Browsers</b><br/><b>Description</b>: Dumps saved passwords from installed browsers."] class tech_browser_creds technique tech_code_repo["<b>Technique</b> – <b>T1213.003 Data from Information Repositories: Code Repositories</b><br/><b>Description</b>: Collects cryptocurrency wallets and API tokens from source code files."] class tech_code_repo technique tech_trusted_dev_util["<b>Technique</b> – <b>T1127 Trusted Developer Utilities Proxy Execution</b><br/><b>Description</b>: Executes malicious payload via npm lifecycle scripts and Node.js on macOS/Linux."] class tech_trusted_dev_util technique tech_input_injection["<b>Technique</b> – <b>T1674 Input Injection</b><br/><b>Description</b>: Markdown in the skill injects commands that AI agents parse and run."] class tech_input_injection technique %% Tool / Malware / Process nodes process_powershell["<b>Process</b> – PowerShell one-liner execution initiated by user copy-paste."] class process_powershell process tool_msiexec["<b>Tool</b> – Msiexec<br/><b>Purpose</b>: Silent installation of the malicious MSI."] class tool_msiexec tool tool_g2m_exe["<b>Tool</b> – GoToMeeting executable (legitimate signed binary)."] class tool_g2m_exe tool tool_g2m_dll["<b>Tool</b> – Malicious g2m.dll loaded via side-loading."] class tool_g2m_dll tool malware_remcos["<b>Malware</b> – Remcos RAT<br/><b>Capabilities</b>: Remote access, keylogging, data exfiltration."] class malware_remcos malware tool_npm["<b>Tool</b> – npm lifecycle scripts"] class tool_npm tool tool_nodejs["<b>Tool</b> – Node.js runtime"] class tool_nodejs tool malware_ghostloader["<b>Malware</b> – GhostLoader<br/><b>Target</b>: macOS/Linux"] class malware_ghostloader malware %% Connections – Main execution path tech_user_exec_copypaste –>|triggers| process_powershell process_powershell –>|uses| tech_msiexec tech_msiexec –>|executes| tool_msiexec tool_msiexec –>|installs MSI that drops| tool_g2m_exe tool_msiexec –>|installs MSI that drops| tool_g2m_dll tool_g2m_exe –>|facilitates| tech_dll_hijack tool_g2m_dll –>|loaded by| tech_dll_hijack tech_dll_hijack –>|leads to| tech_active_scanning tech_active_scanning –>|combined with| tech_virt_user_check tech_active_scanning –>|combined with| tech_virt_time_check tech_virt_user_check –>|enables| tech_virt_time_check tech_dll_hijack –>|delivers| tech_obfusc_embedded tech_obfusc_embedded –>|decrypts to| malware_remcos malware_remcos –>|performs| tech_keylogging malware_remcos –>|performs| tech_clipboard malware_remcos –>|exfiltrates| tech_steal_cookie tech_steal_cookie –>|enables| tech_alt_auth tech_alt_auth –>|enables| tech_forge_cookie malware_remcos –>|harvests| tech_private_keys malware_remcos –>|harvests| tech_cred_files malware_remcos –>|harvests| tech_browser_creds malware_remcos –>|collects from| tech_code_repo %% Alternative delivery path tool_npm –>|runs| tool_nodejs tool_nodejs –>|drops| malware_ghostloader malware_ghostloader –>|uses| tech_trusted_dev_util %% Input injection path tech_input_injection –>|initiates| tech_user_exec_copypaste %% Malicious link path tech_user_exec_link –>|triggers| process_powershell "
Fluxo de Ataque
Detecções
Tentativas Suspeitas de Instalação Oculta de Instalador Remoto MsiExec (via linha de comando)
Ver
Possível Tentativa de Carregamento Dinâmico de Biblioteca G2m (via imagem_carregada)
Ver
Utilitário de Arquivo MacOS Apontando Para Diretório Suspeito (via linha de comando)
Ver
Tentativa Suspeita de Execução Curl [MacOS] (via linha de comando)
Ver
IOCs (HashMd5) para detectar: Habilidade Maliciosa OpenClaw Distribui Remcos RAT e GhostLoader
Ver
IOCs (SourceIP) para detectar: Habilidade Maliciosa OpenClaw Distribui Remcos RAT e GhostLoader
Ver
IOCs (DestinationIP) para detectar: Habilidade Maliciosa OpenClaw Distribui Remcos RAT e GhostLoader
Ver
Comando-e-Controle Remcos RAT sobre TLS [Conexão de Rede Windows]
Ver
Carregamento Malicioso de DLL via GoToMeeting [Carregamento de Imagem no Windows]
Ver
Detectar Implantação de Remcos RAT via Comando Malicioso PowerShell [Windows Powershell]
Ver
Execução de Simulação
Pré-requisito: A Verificação Prévia de Telemetria e Base deve ter passado.
Motivo: 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. Exemplo abstratos ou não relacionados levarão a diagnósticos incorretos.
-
Narrativa e Comandos do Ataque:
- Preparação: O atacante obtém um payload de DLL maliciosa (por exemplo, um RAT) e o renomeia g2m.dll para imitar uma biblioteca legítima.
- Colocação: A DLL é copiada no mesmo diretório que o binário legítimo do GoToMeeting (
C:Program FilesGoToMeeting). Como o Windows segue a ordem de busca de DLL (diretório de aplicação primeiro),G2M.exeserá carregadog2m.dllem vez da biblioteca esperada. - Execução: O atacante lança
G2M.exe. Durante a criação do processo, o Sysmon registraImagem = *G2M.exe. Pouco depois, o Sysmon registraImagemCarregada = *g2m.dll.
Este padrão exato satisfaz a condição da regra Sigma (
seleção1 e seleção2), causando um alerta. -
Script de Teste de Regressão: (PowerShell – auto-contido)
# ------------------------------------------------- # Script de regressão para carregamento de DLL via GoToMeeting # ------------------------------------------------- $g2mPath = "C:Program FilesGoToMeeting" $exe = Join-Path $g2mPath "G2M.exe" $malDll = Join-Path $g2mPath "g2m.dll" # 1. Verificar se o executável legítimo existe if (-not (Test-Path $exe)) { Write-Error "G2M.exe não encontrado em $exe. Instale o GoToMeeting primeiro." exit 1 } # 2. Implante uma DLL de espaço reservado benigna (simulando o payload malicioso) # Aqui copiamos qualquer DLL existente do sistema apenas para ter um arquivo com o nome correto. $sourceDll = "$env:SystemRootSystem32kernel32.dll" Copy-Item -Path $sourceDll -Destination $malDll -Force Write-Host "[+] Colocada DLL maliciosa como $malDll" # 3. Inicie o binário assinado – isso aciona o carregamento da DLL Write-Host "[+] Iniciando G2M.exe para acionar o carregamento da DLL..." $proc = Start-Process -FilePath $exe -PassThru # 4. Aguarde um curto período para que o evento ImageLoaded seja registrado Start-Sleep -Seconds 5 # 5. Limpeza – termine o processo e remova a DLL if ($proc.HasExited -eq $false) { Stop-Process -Id $proc.Id -Force Write-Host "[+] Processo G2M.exe encerrado (PID $($proc.Id))" } Remove-Item -Path $malDll -Force Write-Host "[+] Limpeza da DLL maliciosa concluída" # ------------------------------------------------- -
Comandos de Limpeza: (Se o atacante quiser apenas remover artefatos)
# Remover a DLL maliciosa se ainda existir $dllPath = "C:Program FilesGoToMeetingg2m.dll" if (Test-Path $dllPath) { Remove-Item -Path $dllPath -Force Write-Host "Removido $dllPath" } # Opcionalmente, encerre qualquer processo G2M.exe remanescente Get-Process -Name "G2M" -ErrorAction SilentlyContinue | Stop-Process -Force Write-Host "Encerrado qualquer processo G2M.exe remanescente"