SOC Prime Bias: Alto

17 Jun 2026 13:03 UTC

Operación Poisson: Desglosando Toda una Operación Cibercriminal

Author Photo
SOC Prime Team linkedin icon Seguir
Operación Poisson: Desglosando Toda una Operación Cibercriminal
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Un actor de amenaza con pocas habilidades conocido como «Poisson» llevó a cabo una campaña de robo de credenciales de múltiples etapas dirigida a individuos franceses y a una pequeña empresa. El atacante utilizó Havoc C2, un keylogger personalizado en Python, y construyó un acceso resiliente a través de OpenSSH y una malla VPN de Tailscale. Esta configuración permitió al operador mantener el acceso incluso después de que se interrumpiera la infraestructura principal de comando y control.

Investigación

Cato CTRL realizó una revisión post-incidente en profundidad cubriendo 33 días de actividad del atacante y 339 comandos registrados. La investigación reveló el uso de servicios de nivel gratuito como Backblaze B2, DuckDNS e IONOS, junto con un diseño de persistencia destinado a sobrevivir a eliminaciones de C2. Los investigadores también recuperaron el libro de jugadas SSH del operador y las claves SSH de las víctimas, que habían sido expuestas por error en un depósito de almacenamiento público.

Mitigación

Los defensores deben generar alertas para el despliegue del servidor OpenSSH en estaciones de trabajo y monitorear la actividad de VPN de Tailscale en sistemas donde no se espera. Las organizaciones también necesitan detectar túneles inversos SSH y rastrear tareas programadas sospechosas ejecutándose con privilegios elevados. Una remediación efectiva debe ir más allá de eliminar el acceso al C2 y debe incluir la eliminación de mecanismos de persistencia basados en mallas VPN.

Respuesta

Cuando se identifique esta actividad, los equipos de seguridad deben localizar e interrumpir inmediatamente cualquier conexión de malla activa de Tailscale o SSH. Los investigadores deben revisar todas las tareas programadas y los accesos directos de inicio para detectar persistencia no autorizada. Se recomienda encarecidamente un restablecimiento completo de credenciales para todos los usuarios, ya que el uso de un keylogger crea una alta probabilidad de compromiso de credenciales.

Flujo de Ataque

Ejecución de Simulación

Prerequisito: Comprobación Pre-vuelo de Telemetría y Línea Base debe haber pasado.

Justificación: Esta sección detalla la ejecución precisa de la técnica de adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y tienen como objetivo generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados llevarán a un diagnóstico erróneo.

  • Narrativa de Ataque y Comandos: El adversario, simulando al grupo «Poisson», busca establecer un punto de acceso remoto. Primero, preparan una carga creando un archivo llamado thales.zip en un directorio temporal. Para escalar privilegios, ejecutan un comando de PowerShell usando el RunAs verbo, que es un método común para activar las solicitudes de UAC. Finalmente, ejecutan rustdesk.exe para proporcionar un canal secundario de comunicación de escritorio remoto. Esta secuencia imita el patrón de comportamiento específico (elevación de UAC + RustDesk + archivo zip específico) definido en la regla de detección.

  • Guion de Prueba de Regresión:

    # Guion de Simulación: Emulación de TTP Poisson
    
    # 1. Preparar el archivo 'thales.zip' (requerido por la lógica de detección)
    $targetZip = "$env:TEMPthales.zip"
    New-Item -Path $targetZip -ItemType File -Force
    Write-Host "[+] Preparado $targetZip"
    
    # 2. Simular intento de elevación de UAC via PowerShell (requerido por la lógica de detección)
    # Nota: Esto activará una solicitud de UAC en un entorno real.
    Write-Host "[+] Intentando elevación de UAC via Start-Process -Verb RunAs..."
    Start-Process powershell.exe -ArgumentList "-Command Write-Host 'Intento de Elevación'" -Verb RunAs
    
    # 3. Simular ejecución de RustDesk (requerido por la lógica de detección)
    # Crearemos un dummy rustdesk.exe en la carpeta temp para activar la detección sin instalación real
    $rustdeskPath = "$env:TEMPrustdesk.exe"
    New-Item -Path $rustdeskPath -ItemType File -Force
    Write-Host "[+] Ejecutando RustDesk simulado en $rustdeskPath"
    Start-Process $rustdeskPath
  • Comandos de Limpieza:

    # Limpieza de Artefactos de Simulación
    Remove-Item -Path "$env:TEMPthales.zip" -Force -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPrustdesk.exe" -Force -ErrorAction SilentlyContinue
    Write-Host "[+] Limpieza completa."