SOC Prime Bias: Alto

17 Jun 2026 13:03 UTC

Operação Poisson: Desvendando Toda uma Operação Cibercriminoso

Author Photo
SOC Prime Team linkedin icon Seguir
Operação Poisson: Desvendando Toda uma Operação Cibercriminoso
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Um agente de ameaça de baixa qualificação conhecido como “Poisson” realizou uma campanha de roubo de credenciais em várias etapas, visando indivíduos franceses e uma pequena empresa. O atacante usou Havoc C2, um keylogger Python personalizado, e construiu acesso resiliente por meio do OpenSSH e de uma malha VPN Tailscale. Essa configuração permitiu que o operador mantivesse o acesso mesmo após a interrupção da infraestrutura principal de comando e controle.

Investigação

A Cato CTRL conduziu uma revisão pós-incidente aprofundada que cobriu 33 dias de atividade do atacante e 339 comandos registrados. A investigação revelou o uso de serviços gratuitos como Backblaze B2, DuckDNS e IONOS, juntamente com um design de persistência destinado a sobreviver a remoções de C2. Os pesquisadores também recuperaram o playbook SSH do operador e chaves SSH das vítimas, que foram expostos por engano em um bucket de armazenamento público.

Mitigação

Os defensores devem gerar alertas para a implantação de servidores OpenSSH em estações de trabalho e monitorar a atividade do Tailscale VPN em sistemas onde isso não é esperado. As organizações também precisam detectar túneis reversos SSH e rastrear tarefas agendadas suspeitas que são executadas com privilégios elevados. A remediação eficaz deve ir além da remoção de acesso C2 e incluir a eliminação de mecanismos de persistência baseados em VPN em malha.

Resposta

Quando essa atividade for identificada, as equipes de segurança devem imediatamente localizar e desmontar quaisquer conexões de malha Tailscale ou SSH ativas. Os investigadores devem revisar todas as tarefas agendadas e atalhos de inicialização para persistência não autorizada. É fortemente recomendado um reset completo de credenciais para todos os usuários, já que o uso de um keylogger cria uma alta probabilidade de comprometimento de credenciais.

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Check de Pré-voo de Telemetria & Baseline deve ter sido aprovado.

Justificativa: Esta seção detalha a execução precisa da técnica de 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. Exemplos abstratos ou não relacionados levarão a diagnósticos errados.

  • Narrativa do Ataque & Comandos: O adversário, simulando o grupo “Poisson”, visa estabelecer uma base de acesso remoto. Primeiro, eles preparam um payload criando um arquivo chamado thales.zip em um diretório temporário. Para elevar privilégios, eles executam um comando PowerShell usando o verbo RunAs , que é um método comum para acionar prompts UAC. Finalmente, eles executam rustdesk.exe para fornecer um canal de comunicação de área de trabalho remota secundário. Esta sequência imita o padrão comportamental específico (elevação de UAC + RustDesk + arquivo zip específico) definido na regra de detecção.

  • Script de Teste de Regressão:

    # Script de Simulação: Emulação de TTP Poisson
    
    # 1. Preparar o arquivo 'thales.zip' (necessário pela lógica de detecção)
    $targetZip = "$env:TEMPthales.zip"
    New-Item -Path $targetZip -ItemType File -Force
    Write-Host "[+] Preparado $targetZip"
    
    # 2. Simular tentativa de Elevação de UAC via PowerShell (necessário pela lógica de detecção)
    # Nota: Isto acionará um prompt de UAC em um ambiente real.
    Write-Host "[+] Tentando Elevação de UAC via Start-Process -Verb RunAs..."
    Start-Process powershell.exe -ArgumentList "-Command Write-Host 'Elevação Tentada'" -Verb RunAs
    
    # 3. Simular execução do RustDesk (necessário pela lógica de detecção)
    # Criamos um rustdesk.exe fictício na pasta temporária para acionar a detecção sem instalação real
    $rustdeskPath = "$env:TEMPrustdesk.exe"
    New-Item -Path $rustdeskPath -ItemType File -Force
    Write-Host "[+] Executando RustDesk simulado em $rustdeskPath"
    Start-Process $rustdeskPath
  • Comandos de Limpeza:

    # Limpeza de Artefatos de Simulação
    Remove-Item -Path "$env:TEMPthales.zip" -Force -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPrustdesk.exe" -Force -ErrorAction SilentlyContinue
    Write-Host "[+] Limpeza completa."