El grupo INJ3CTOR3 ataca sistemas de telecomunicaciones con un nuevo malware

Una vulnerabilidad común en telefonía se convirtió en una toma completa del servidor. Los especialistas encontraron la web shell maliciosa EncystPHP, que se incrusta en FreePBX y otorga a los atacantes acceso administrativo persistente al sistema.
Los ataques comenzaron a principios de diciembre del año pasado. Los atacantes explotaron la vulnerabilidad CVE-2025-64328 en el módulo Endpoint Manager de la plataforma FreePBX en las versiones 17.0.2.36–17.0.3. El fallo permitía inyectar comandos tras acceder al panel administrativo. Como resultado, los atacantes subieron al servidor un cargador especial que desplegó EncystPHP.
La fuente de los ataques estaba en Brasil. El objetivo fue la infraestructura gestionada por una empresa tecnológica india que presta servicios en la nube y servicios de telecomunicaciones. El archivo malicioso se descargaba desde la dirección 45.234.176.202, asociada con el dominio crm.razatelefonia.pro. Al acceder a una ruta concreta, el servidor redirigía automáticamente a la víctima a otro cargador.
El análisis mostró la relación de la campaña con el grupo INJ3CTOR3. Desde 2020 el grupo explotó vulnerabilidades en plataformas de telecomunicaciones, y en 2022 cambió a la plataforma Elastix. La actividad actual repite técnicas previas, pero aprovecha una nueva vulnerabilidad en FreePBX.
EncystPHP actúa de manera cuidadosa y metódica. Primero el cargador modifica los permisos de archivos del sistema de FreePBX, dejándolos no legibles ni modificables. Luego el código malicioso extrae la configuración de la base de datos del archivo /etc/freepbx.conf, elimina tareas del programador y cuentas de usuario, incluyendo ampuser y svc_freepbx. Después el programa busca otros web shells mediante cadenas y funciones características y borra los archivos encontrados. Así los atacantes eliminan "competidores" y limpian el entorno.
Para afianzar su presencia, EncystPHP crea un nuevo usuario con privilegios root llamado newfpbx, asigna la misma contraseña a varias cuentas y eleva privilegios. Luego inserta su propia clave SSH y se asegura de que el puerto 22 permanezca abierto. El servidor obtiene un punto de acceso persistente incluso si se cambian las contraseñas.
El web shell se hace pasar por el archivo legítimo ajax.php en el directorio de FreePBX. El código está almacenado en formato Base64 y se descifra al ejecutarse. La autenticación es sencilla: la contraseña ingresada se calcula con MD5 y se compara con un valor predefinido. Tras el acceso se abre una interfaz llamada Ask Master. A través de ella el atacante inspecciona el sistema de archivos, procesos, canales activos de Asterisk, abonados SIP y la configuración de FreePBX y Elastix. El shell ejecuta comandos arbitrarios y puede iniciar llamadas salientes mediante la central telefónica comprometida.
Un cargador separado, k.php, replica el web shell en múltiples directorios dentro de /var/www/html/, incluyendo directorios que imitan componentes de telefonía. Las marcas temporales de los archivos se ajustan para parecer legítimas, de modo que el administrador no note la sustitución en una revisión rápida. Además, el código malicioso crea un archivo .htaccess con reglas de redirección y ejecuta scripts auxiliares que luego elimina para ocultar rastros.
El mecanismo de persistencia tiene varios niveles. El cargador añade tareas al cron que descargan nuevas copias de los archivos maliciosos cada minuto. Los scripts crean periódicamente la ilusión de que EncystPHP se ha eliminado, mostrando comandos rm sin ejecutarlos realmente. Un archivo separado license.php vuelve a descargar ambos cargadores, desactiva la salida de errores y limpia los registros. Incluso una eliminación parcial no garantiza que el servidor quede limpio.
Los especialistas de Fortinet subrayan que la explotación exitosa de CVE-2025-64328 supone un compromiso completo del sistema. EncystPHP se oculta entre los componentes legítimos de FreePBX y Elastix, por lo que detectar la infección no es sencillo. El riesgo afecta no solo al acceso al servidor, sino también al uso indebido de recursos telefónicos.
Paralelamente se publicó el informe Compromised Website Report con nivel de peligro crítico. El documento incluye sitios y dispositivos donde se detectaron remotamente web shells u otras señales de intrusión. En la lista aparecen web shells en Sangoma FreePBX relacionados con la explotación de CVE-2025-57819, así como compromisos de Microsoft SharePoint a través de CVE-2025-53770, Fortinet FortiWeb a través de CVE-2025-25257, SAP NetWeaver a través de CVE-2025-31324 y varios incidentes con dispositivos de Ivanti, Citrix, Palo Alto Networks y otras plataformas. Los autores advierten que una respuesta 404 al comprobar una dirección no significa ausencia de un web shell. La verificación debe realizarse del lado del servidor. Además, el mismo nodo suele ser utilizado por distintos grupos, por lo que al encontrar signos de intrusión se deben buscar huellas adicionales de presencia.
Las soluciones antivirus del fabricante ya detectan EncystPHP como PHP/EncystPHP.A!tr y BASH/EncystPHP.A!tr, y los sistemas de prevención de intrusiones bloquean intentos de explotar CVE-2025-64328. A los administradores de FreePBX se les recomienda instalar urgentemente las actualizaciones, comprobar los servidores en busca de cuentas ajenas y tareas cron, y, ante la menor duda, considerar el incidente como una toma completa de la infraestructura.