Un atacante de habla francesa irrumpió en una pequeña empresa automotriz francesa, instaló un registrador de teclas y robó credenciales bancarias y de correo electrónico.
Cosas ordinarias, hasta que uno se mueve cerca del final.
Antes de que su servidor de comando y control se apagara, instaló OpenSSH y Tailscale en la máquina de una víctima, construyendo un camino de regreso que no pasaba por el C2 en absoluto. Cuando el servidor Havoc se desconectó al día siguiente, su acceso no. Dieciocho días después, el C2 regresó, sus agentes se reconectaron por su cuenta y él siguió adelante.
Cato Networks capturó toda la operación comando por comando, 339 de ellos durante 33 días, después de que el operador dejara sus claves SSH y un manual paso a paso en un depósito de almacenamiento abierto. El artículo, publicado el martes por el investigador de Cato CTRL, Vitaly Simonovich, es una visión poco común de una intrusión desde el teclado del operador en lugar de los restos forenses.
La lección de los investigadores es contundente: desconectar un servidor C2 no es una solución si el atacante ya ha construido una puerta separada.
El actor, alias «Poisson», no es un APT. Los investigadores describen a un operador junior en lo que parece un horario escolar, activo después de las 3 p. m. CET con un largo intervalo al mediodía, todo ello funcionando con un kit de nivel gratuito: DuckDNS, Backblaze B2 y un VPS IONOS económico en Berlín. Su oficio era escaso.
Filtró su directorio de inicio cinco veces, nombró sus depósitos de almacenamiento con el nombre de su propio identificador y dejó un archivo de prueba de sus propias pulsaciones de teclas escritas una y otra vez dentro del paquete del registrador de teclas. Fracasó en aproximadamente la mitad de lo que intentó. De todos modos comprometió cuatro máquinas.
la cadena
El malware se ejecutó casi por completo en la memoria. Un stager de VBScript con un retardo de evasión de sandbox descifró un cargador PowerShell, que derribó un cargador .NET que ejecutaba el agente Demon de Havoc sin dejar caer el implante al disco. Para la elevación, utilizó Start-Process -Verb RunAs, que no es un bypass silencioso de UAC. Aparece el mensaje de consentimiento de Windows y espera a que alguien haga clic en Sí. Con una víctima, fueron necesarios una docena de intentos a lo largo de dos días.
Después de eso vino la definición: una tarea programada que se ejecuta en cada inicio de sesión con los privilegios más altos, código shell inyectado en Explorer.exe y un RustDesk personalizado como canal de respaldo. El capturador de credenciales era un registrador de teclas Python de 70 líneas que escribía las pulsaciones de teclas en un archivo local, sin baliza ni servidor exfil. Poisson simplemente inició sesión, tomó el archivo con la mano y ejecutó powercfg para evitar que las máquinas entraran en modo de suspensión, de modo que la recolección nunca se detuviera.
El movimiento que importa
El 7 de abril, en una sesión nocturna de cinco horas, instaló OpenSSH Server y Tailscale, unió la máquina de la víctima a su red privada de Tailscale y configuró SSH basado en claves y un túnel inverso. Ahora podía llegar a la máquina a través de la malla cifrada de Tailscale sin C2 ni puertos expuestos.
Al día siguiente, la infraestructura de Havoc quedó fuera de línea. Cato no dice por qué, y poco importa: la ruta Tailscale se encontraba en una red separada, por lo que el acceso estaba vivo.
Cuando el C2 regresó el 26 de abril, los agentes se volvieron a conectar automáticamente, sin necesidad de volver a comprometerse. Durante los últimos cinco días, ejecutó 145 comandos más, sondeó almacenes de tarjetas inteligentes y certificados (una señal de que estaba observando inicios de sesión basados en certificados), ejecutó dos ejecutables inexplicables de un archivo llamado Thales.zip durante aproximadamente 32 minutos en total, luego eliminó 17 archivos y se quedó en silencio el 1 de mayo.
Lo que quería era estrecho. Sin Mimikatz, sin movimientos laterales, sin ransomware y sin señales de que tomó los documentos que buscó, desde registros fiscales hasta seguros. Justo lo que la gente escribe: inicios de sesión bancarios, contraseñas de correo electrónico, portales gubernamentales. Para el propietario de una pequeña empresa, esa es una exposición financiera directa.
Ninguna de las herramientas es nueva, que es el punto. El APT31 de China utilizó Tailscale hasta 2024 y 2025 para salir silenciosamente de las empresas de TI rusas, Scattered Spider se ha apoyado en herramientas legítimas de acceso remoto como Ngrok y Fleetdeck, y RustDesk, el canal de respaldo de Poisson, aparece en las recientes intrusiones de ransomware Akira.
Los archivos binarios están firmados y son legítimos, por lo que la detección que se detiene en los archivos incorrectos, no en el mal comportamiento, los pasa por alto. Lo que Poisson añade es una prueba a nivel de comando de que el truco sobrevive a un derribo, ejecutado por alguien que claramente todavía está aprendiendo.
que mirar
La lista de caza de Catón es concreta:
- Alerta cuando OpenSSH Server se instala en una estación de trabajo Windows, lo cual rara vez es legítimo.
- Esté atento a tailscale.exe en máquinas que no tienen motivos para ejecutar una VPN.
- Busque túneles inversos ssh -R que se dirijan a hosts externos.
- Compruebe si wscript.exe ejecuta archivos .vbs fuera de las carpetas provisionales del usuario.
- Marque las tareas programadas configuradas con los privilegios más altos que inician intérpretes de scripts.
- Esté atento a los cambios en el tiempo de espera de powercfg que mantienen activas a las máquinas.
- Bloquear DuckDNS.
La más importante: cuando encuentre un C2, asuma que no es la única forma de entrar y busque la capa de persistencia silenciosa detrás de él.
Qué había en Thales.zip y qué hicieron esos dos programas en sus 32 minutos en la máquina es la pregunta que Cato deja abierta. La respuesta que importa más: el C2 nunca fue la intrusión, solo una vía de acceso. Elimínelo y deje OpenSSH, Tailscale, la tarea programada y el registrador de pulsaciones en ejecución, y el atacante aún tendrá una manera de regresar.
Esa es la parte que sigue faltando en la remediación.