El protocolo Finger, creado en 1977 para responder una pregunta simple —quién está conectado en un equipo remoto— sigue funcionando en 2026 como vector efectivo de distribución de malware en sistemas Windows sin configurar. Un caso reciente documentado por la firma de seguridad Artemis demuestra cómo un grupo de atacantes convirtió esta reliquia de internet en el primer eslabón de una cadena de intrusión completa que instaló un troyano de acceso remoto (RAT) escrito en Python en la portátil de un empleado corporativo. La infección permaneció activa durante días sin ser contenida, pese a que el sistema de detección de endpoints emitía alertas de forma continua.
El protocolo Finger opera sobre el puerto TCP 79 y prácticamente ningún servidor moderno mantiene el demonio activo. Sin embargo, el ejecutable finger.exe sigue incluido de fábrica en Windows. En 2020, el investigador John Page, conocido como hyp3rlinx, demostró que el binario podía transformarse en un descargador: al consultar un usuario en un host remoto, la respuesta del "servidor finger" podía canalizarse directamente hacia la línea de comandos. El proyecto LOLBAS conserva desde entonces la técnica canónica finger user@host | more +2 | cmd, que descarta las líneas de preámbulo del protocolo y deja únicamente los comandos del atacante.
En el caso analizado, la orden maliciosa llegó escrita con un truco de evasión: el nombre del binario aparecía como f^i^n^g^e^r, con caracteres de intercalación (^) intercalados. El circunflejo funciona como carácter de escape en cmd.exe —se descarta durante el análisis—, pero engaña a cualquier regla de detección que busque coincidencias literales en la línea de comandos. La técnica, documentada originalmente por Daniel Bohannon en su trabajo sobre DOSfuscation, se combina ahora con Finger como parte de campañas activas en 2025 y 2026.
El propósito de usar Finger es la evasión. No es HTTP, por lo que los proxies web y la inspección TLS no lo observan. Finger.exe es un binario legítimo firmado por Microsoft, de modo que las listas de aplicaciones permitidas lo dejan pasar. El puerto 79 es lo bastante inusual para carecer de reglas de monitoreo, y el binario es lo bastante común para que su ejecución parezca intrascendente de forma aislada.
Una vez ejecutada la orden, dos segundos después se lanzó el payload preparado y se instaló la persistencia. El intérprete utilizado fue pythonw.exe —el ejecutable oficial de Python firmado por la Python Software Foundation—, que los atacantes colocaron en una carpeta no estándar y apuntaron hacia su propio archivo compilado main.pyc. Esa es la maniobra de living-off-the-land: la lógica maliciosa reside en el .pyc, pero se ejecuta dentro de un binario que pasa cualquier verificación de firma o reputación. Simultáneamente, se añadió una clave de registro HKCU...\Run con el valor Py para que el RAT se relanzara en cada inicio de sesión, con la salida redirigida a nulo para no dejar rastro visible.
Alrededor de 59 minutos después de la infección inicial, el payload en ejecución generó un proceso de PowerShell que desplegó un segundo módulo en un directorio con nombre aleatorio lleno de caracteres especiales —una marca característica del staging automatizado—. El cambio de punto de entrada, de main.pyc a init.py, indica un implante distinto montado sobre la base inicial. El RAT se relanzó en cuatro inicios de sesión consecutivos durante el día siguiente.
Lo revelador del incidente no fue la falta de detección. La regla de comportamiento del agente de endpoints para ejecuciones sospechosas de Python estuvo disparándose durante toda la cadena. El problema fue doble: la regla estaba configurada solo para alertar, no para contener, y producía un volumen enorme de alertas en otras dos máquinas del entorno —una con herramientas de desarrollo, otra con un instalador de software científico—. Las alertas verdaderas y las falsas resultaban indistinguibles en el volumen. El equipo de seguridad no pudo conectar los eventos en una narrativa coherente. El cliente había conectado su telemetría de endpoints a la plataforma Artemis apenas dos días antes de que se detectara la intrusión, y fue esa correlación automatizada la que finalmente identificó el host genuinamente comprometido.
Las técnicas implicadas no son nuevas. Finger como descargador tiene cinco años y una entrada estable en LOLBAS; su primer adoptante real fue el troyano bancario Astaroth/Guildma en 2020. Tras un periodo de silencio, el resurgimiento como vector de entrega se reactivó a finales de 2025 dentro de las campañas ClickFix, con clústeres como KongTuke y SmartApeSG rastreados por SANS ISC entre noviembre y diciembre de ese año. El RAT de Python compilado como segunda etapa —con pythonw.exe firmado, payloads .pyc en directorios aleatorios de C:\ProgramData\ y persistencia en Run— coincide con documentaciones de familias como ModeloRAT, lspy o cargas de CastleLoader.
El incidente ilustra una brecha persistente en la ciberseguridad corporativa: la distancia entre una alerta que se dispara y alguien capaz de interpretarla. La telemetría estaba ahí, las firmas funcionaban, los eventos se registraban. Lo que faltaba era la capacidad de conectar miles de alertas benignas con la única alerta que representaba una intrusión real. Mientras protocolos de hace casi cinco décadas sigan presentes en sistemas operativos modernos, los atacantes continuarán encontrando rutas de entrada que eluden las defensas diseñadas pensando exclusivamente en el tráfico web contemporáneo.
