Un malware conocido como «perfctl» ha estado atacando servidores y estaciones de trabajo Linux durante al menos tres años, logrando pasar en gran medida desapercibido gracias a sus avanzadas técnicas de evasión y el uso de rootkits.
De acuerdo con los investigadores de Aqua Nautilus, quienes descubrieron este malware, se estima que perfctl ha comprometido millones de servidores Linux en los últimos años, con miles de ellos posiblemente infectados.
Esta conclusión se apoya en numerosos reportes de víctimas que han descrito incidentes en foros en línea, todos presentando indicadores de compromiso vinculados específicamente con la actividad de perfctl.
El principal objetivo de perfctl, según Aqua Nautilus, es la criptominería, utilizando los servidores infectados para minar Monero, una criptomoneda difícil de rastrear. No obstante, este malware podría ser fácilmente empleado para llevar a cabo operaciones más destructivas.
Funcionamiento de la infección
Aqua Nautilus sostiene que los actores maliciosos aprovechan configuraciones erróneas o la exposición de secretos para comprometer servidores Linux.
Estas fallas incluyen desde archivos públicos que contienen credenciales hasta interfaces de inicio de sesión abiertas al acceso no autorizado.
Los investigadores también han detectado el utilizo de las vulnerabilidades CVE-2023-33246, una falla de ejecución remota de comandos que afecta a las versiones 5.1.0 y anteriores de Apache RocketMQ, y CVE-2021-4034 (PwnKit), una vulnerabilidad de elevación de privilegios en Polkit.
Una vez que los atacantes logran acceso inicial, descargan y ejecutan una archivo útil empaquetado y ofuscado llamada «httpd» desde su servidor. Este archivo luego se copia en el directorio /tmp bajo el nombre «sh», eliminando el binario original.
El nuevo proceso adopta el mismo nombre («sh»), camuflándose eficazmente entre las operaciones normales del sistema Linux.
Para garantizar la persistencia, se crean copias adicionales en otras ubicaciones del sistema, como «/root/.config», «/usr/bin/» y «/usr/lib», asegurando que el malware sobreviva a intentos de limpieza.
Principales mecanismos de operación y técnicas de evasión.
El criptominero se conecta a los grupos de minería a través de la red TOR, lo que oculta el tráfico y dificulta el rastreo de las ganancias generadas.
En algunos casos, Aqua Nautilus también ha identificado la implementación de software de proxy-jacking, que proporciona a los atacantes una fuente adicional de ingresos al vender el ancho de banda no utilizado a través de servicios como Bitping, Repocket, Speedshare, entre otros.
La mayoría de los usuarios sospechan que sus servidores están comprometidos al notar un uso del 100% de la CPU, causado por la minería de criptomonedas.
No obstante, el malware es altamente evasivo: detiene la actividad minera en cuanto un usuario inicia sesión en el servidor, esperando hasta que el sistema vuelva a estar inactivo para reanudar sus operaciones.
Solo me percaté del malware porque mi sistema de monitoreo me alertó sobre el uso del 100% de la CPU. El proceso se detenía inmediatamente cuando me conectaba vía SSH o consola, pero en cuanto cerraba sesión, el malware volvía a ejecutarse en cuestión de segundos o minutos.
Usuario en Reddit
El uso de rootkits dificulta aún más su detección y eliminación, ya que los procesos del malware quedan ocultos a las herramientas de monitoreo convencionales, lo que obliga a los usuarios a desconectar el equipo o arrancarlo desde un CD en vivo para inspeccionar el sistema de archivos.
Dado que la infección modifica y reemplaza archivos legítimos del sistema Linux, la recomendación más eficaz es formatear y reinstalar el dispositivo para asegurar la completa eliminación del malware.
Detectar y detener perfctl
Aqua Nautilus propone diversas estrategias para detectar y neutralizar perfctl, organizadas en cuatro categorías principales: monitoreo del sistema, análisis del tráfico de red, supervisión de la integridad de archivos y procesos, y mitigación proactiva.
En cuanto a la detección, Aqua Nautilus ofrece los siguientes consejos:
- Inspeccionar regularmente los directorios
/tmp
,/usr
y/root
en busca de binarios sospechosos que se hagan pasar por archivos legítimos del sistema. - Monitorear el uso de la CPU para identificar picos y procesos como
httpd
ysh
que se ejecutan desde ubicaciones inesperadas. - Examinar archivos como
~/.profile
,~/.bashrc
y/etc/ld.so.preload
en busca de modificaciones no autorizadas. - Capturar y analizar el tráfico de red en busca de conexiones basadas en TOR a direcciones IP externas.
- Buscar conexiones salientes a grupos de criptominería conocidos o servicios de proxy-jacking.
- Agregar las IPs listadas en la sección de Indicadores de Compromiso (IoC) del informe a una lista negra para interrumpir las comunicaciones con hosts maliciosos.
Además, se recomienda a los administradores de sistemas que solucionen todas las vulnerabilidades conocidas en las aplicaciones que permiten acceso a Internet, como los servidores RocketMQ (CVE-2023-33246) y Polkit (CVE-2021-4034).
Por último, es recomendable desactivar servicios HTTP no utilizados, implementar controles de acceso basados en roles y aplicar la opción «noexec» en directorios críticos como /tmp
y /dev/shm
.