Loader em Memória Solta ScreenConnect

Author Photo
SOC Prime Team linkedin icon Seguir
Loader em Memória Solta ScreenConnect
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

ThreatLabz identificou uma cadeia de ataque de múltiplos estágios que começa com um download falso do Adobe Acrobat Reader e culmina na implantação da ferramenta legítima de acesso remoto ScreenConnect. A operação se baseia em um carregador VBScript fortemente ofuscado que aciona um comando PowerShell para buscar código fonte em C# do Google Drive, compilá-lo diretamente na memória e lançar um carregador .NET sem gravar a carga final no disco. Esse carregador então aplica mascaramento de processo, altera estruturas PEB e abusa de objetos COM com elevação automática para obter privilégios superiores antes de instalar o ScreenConnect no host da vítima.

Investigação

Pesquisadores descreveram como o VBScript monta seus comandos através da ofuscação Chr(), enquanto o PowerShell recupera e compila a carga útil inteiramente na memória para minimizar artefatos no disco. O carregador .NET na memória então usa reflexão para executar um assembly embutido. Análises adicionais mostraram que o malware chama NtAllocateVirtualMemory, reescreve campos PEB para se passar por winhlp32.exe, e usa elevação automática de COM para contornar o Controle de Conta de Usuário e continuar a execução com privilégios elevados.

Mitigação

Defensores devem bloquear o acesso aos domínios de download maliciosos e aplicar controles rigorosos para a execução de PowerShell e VBScript. As equipes de segurança devem também monitorar a criação suspeita de objetos COM, adulteração inesperada de PEB e outros sinais de abuso de execução na memória. O acesso a ferramentas legítimas de administração remota como ScreenConnect deve ser estritamente limitado a usuários aprovados e fluxos de trabalho confiáveis para reduzir o risco de instalação não autorizada.

Resposta

Se esta atividade for detectada, isole imediatamente o sistema afetado, interrompa os processos maliciosos e remova quaisquer componentes ScreenConnect instalados como parte da intrusão. Realize uma análise forense focada em artefatos de memória volátil para recuperar evidências da cadeia de execução sem arquivo. Redefina credenciais potencialmente expostas, revise logs em busca de abuso de elevação automática de COM e atualize as detecções para identificar os padrões de linha de comando observados, comportamento do carregador e convenções de nomeação de arquivos associadas.

Fluxo de Ataque

Execução da Simulação

Pré-requisito: O Check de Pré-vôo da Telemetria & Baseline deve ter sido aprovado.

Justificativa: Esta seção detalha a execução precisa da técnica adversária (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente as TTPs identificadas e ter como objetivo gerar a telemetria exata esperada pela lógica de detecção.

  • Narrativa do Ataque & Comandos:
    O adversário obteve o MSI do ScreenConnect (geralmente entregue via anexo de phishing). Para evitar a interação do usuário, eles usam o confiável msiexec.exe binário para realizar uma instalação silenciosa. Eles também demonstram o alternativo ShellExec.exe proxy, que apenas encaminha argumentos para msiexec. Ambos os comandos integram a string literal “ScreenConnect” na linha de comando, satisfazendo a condição da regra.

    1. Copie o MSI para o host da vítima (simulando T1025).

    2. Execute uma instalação silenciosa via msiexec:

       msiexec.exe /i "C:TempScreenConnect.msi" /quiet /norestart
    3. Execute a mesma instalação via ShellExec.exe (se presente no host):

       ShellExec.exe /i "C:TempScreenConnect.msi" /quiet /norestart

    Essas ações geram entradas Windows Event 4688 onde Imagem is *msiexec.exe or *ShellExec.exe and Linha de Comando contém “ScreenConnect”, causando o acionamento da regra Sigma.

  • Script de Teste de Regressão:

    #=============================================================
    # Simulação de Instalação do ScreenConnect – aciona a regra Sigma
    #=============================================================
    $msiPath = "C:TempScreenConnect.msi"
    
    # Assegure-se de que o MSI exista (espaço reservado – em um teste real, solte o arquivo primeiro)
    if (-Not (Test-Path $msiPath)) {
        Write-Error "ScreenConnect MSI não encontrado em $msiPath"
        exit 1
    }
    
    # 1. Instalação silenciosa usando msiexec
    Write-Host "[*] Instalando ScreenConnect via msiexec..."
    Start-Process -FilePath "$env:SystemRootSystem32msiexec.exe" `
                  -ArgumentList "/i `"$msiPath`" /quiet /norestart" `
                  -Wait -NoNewWindow
    
    # 2. Instalação silenciosa usando ShellExec (se presente)
    $shellExec = "$env:ProgramFilesScreenConnectShellExec.exe"
    if (Test-Path $shellExec) {
        Write-Host "[*] Instalando ScreenConnect via ShellExec..."
        Start-Process -FilePath $shellExec `
                      -ArgumentList "/i `"$msiPath`" /quiet /norestart" `
                      -Wait -NoNewWindow
    } else {
        Write-Warning "ShellExec.exe não encontrado; pulando a segunda instalação."
    }
    
    Write-Host "[+] Simulação completa. Verifique seu SIEM para o Alerta."
  • Comandos de Limpeza:

    # Desinstalar o ScreenConnect (usa seu GUID de produto registrado; ajuste conforme necessário)
    $productGuid = (Get-ItemProperty "HKLM:SoftwareMicrosoftWindowsCurrentVersionUninstall*" |
                    Where-Object { $_.DisplayName -like "*ScreenConnect*" }).PSChildName
    
    if ($productGuid) {
        Write-Host "[*] Desinstalando ScreenConnect (GUID: $productGuid)..."
        & "$env:SystemRootSystem32msiexec.exe" /x $productGuid /quiet /norestart
    } else {
        Write-Warning "GUID do produto ScreenConnect não encontrado; a limpeza manual pode ser necessária."
    }
    
    # Remover o arquivo MSI copiado
    Remove-Item -Path "C:TempScreenConnect.msi" -Force -ErrorAction SilentlyContinue
    Write-Host "[+] Limpeza concluída."