SOC Prime Bias: Crítico

07 Mai 2026 18:43

Habilidade Maliciosa OpenClaw Distribui Remcos RAT e GhostLoader

Author Photo
Ruslan Mikhalov Chefe de Pesquisa de Ameaças na SOC Prime linkedin icon Seguir
Habilidade Maliciosa OpenClaw Distribui Remcos RAT e GhostLoader
shield icon

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

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:

    1. 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.
    2. 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.exe será carregado g2m.dll em vez da biblioteca esperada.
    3. Execução: O atacante lança G2M.exe. Durante a criação do processo, o Sysmon registra Imagem = *G2M.exe. Pouco depois, o Sysmon registra ImagemCarregada = *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"