Una sofisticada campaña de ataques aprovecha una vulnerabilidad crítica en FreePBX para desplegar una webshell persistente denominada "EncystPHP", permitiendo a los actores de amenazas obtener control administrativo completo sobre sistemas VoIP comprometidos. La campaña, iniciada a principios de diciembre de 2025, explota la CVE-2025-64328, una falla de inyección de comandos post-autenticación en el Endpoint Manager de FreePBX.
Una sofisticada campaña de ataque está aprovechando una vulnerabilidad crítica en FreePBX para desplegar un webshell persistente denominado “EncystPHP”, permitiendo a los actores de amenazas obtener control administrativo completo sobre sistemas VoIP comprometidos.
La campaña, lanzada a principios de diciembre de 2025, explota CVE-2025-64328, una falla de inyección de comandos post-autenticación en la interfaz administrativa del FreePBX Endpoint Manager.
La actividad maliciosa es atribuida a INJ3CTOR3, un grupo de hackers con motivaciones financieras identificado por primera vez en 2020, cuando atacaron CVE-2019-19006 en sistemas FreePBX.
En 2022, el actor de amenazas evolucionó sus tácticas al cambiar su enfoque hacia sistemas Elastix mediante la explotación de CVE-2021-45461. El grupo ha demostrado consistentemente un patrón de atacar infraestructuras VoIP con fines de monetización, principalmente a través de generación no autorizada de llamadas y fraude telefónico.
Explotación de la vulnerabilidad y acceso inicial
CVE-2025-64328 está clasificada como una vulnerabilidad crítica de inyección de comandos en el módulo Endpoint Manager, específicamente dentro de la función check_ssh_connect() del componente Filestore.
La vulnerabilidad permite a atacantes autenticados ejecutar comandos arbitrarios en el shell como el usuario asterisk, proporcionando un punto de apoyo para una compromisión más profunda del sistema. El tráfico de ataque se originó en Brasil y tuvo como objetivo entornos de víctimas gestionados por una empresa tecnológica india especializada en soluciones en la nube y servicios de comunicación.
Fortinet observó que los atacantes descargaron el dropper de EncystPHP desde la dirección IP 45[.]234[.]176[.]202, que resuelve al dominio crm[.]razatelefonia[.]pro, un sitio web que se hace pasar por un sistema de gestión VoIP con funcionalidad de inicio de sesión. Al acceder a la ruta “new/” en la fuente de descarga, las solicitudes son redirigidas automáticamente a otro dropper llamado k.php.
El webshell EncystPHP exhibe capacidades avanzadas, incluyendo ejecución remota de comandos, mecanismos de persistencia en múltiples etapas y técnicas sofisticadas de evasión.
Tras su despliegue, el malware modifica los permisos de archivos de componentes legítimos de FreePBX para evitar su detección y elimina otros webshells competidores del sistema comprometido.
El webshell establece persistencia creando una cuenta de usuario a nivel de root llamada “newfpbx” con credenciales codificadas, restablece las contraseñas de múltiples cuentas de usuario a un único valor e inyecta claves públicas SSH para mantener acceso de puerta trasera. El malware también modifica configuraciones del sistema para garantizar que el puerto SSH 22 permanezca abierto, proporcionando acceso remoto continuo a los atacantes.
EncystPHP se hace pasar por un archivo legítimo de FreePBX llamado ajax.php, lo que le permite integrarse sin problemas en la estructura de la aplicación y evadir inspecciones casuales. El webshell emplea autenticación con hash MD5, comparando contraseñas en texto plano ingresadas a través de la interfaz web con valores hash codificados en el código.
Una vez autenticado, el webshell expone una interfaz interactiva titulada “Ask Master” que incluye comandos operativos predefinidos para enumeración del sistema de archivos, inspección de procesos, consulta de canales Asterisk activos, listado de peers SIP y recuperación de archivos de configuración de FreePBX y Elastix.
Al aprovechar privilegios elevados dentro de los contextos administrativos de Elastix y FreePBX, el webshell permite la ejecución arbitraria de comandos e inicia actividad de llamadas salientes a través del entorno PBX comprometido.
Arquitectura de persistencia en múltiples etapas
El ataque implementa un mecanismo de persistencia en cuatro etapas para garantizar acceso a largo plazo. La persistencia inicial se establece mediante entradas en crontab que descargan el dropper secundario k.php cada minuto.
Las etapas posteriores despliegan droppers adicionales en múltiples directorios bajo /var/www/html/, incluyendo digium_phones/, rest_phones/, phones/ y freepbxphones/, creando puntos de acceso redundantes que aumentan la resiliencia frente a intentos de eliminación.
El malware falsifica marcas de tiempo para coincidir con archivos legítimos y despliega instancias del webshell en al menos doce rutas de archivo diferentes, asegurando que rutas de acceso alternativas permanezcan disponibles si las instancias principales son detectadas y eliminadas. EncystPHP también manipula archivos de registro y desactiva la generación de informes de errores para obstaculizar el análisis forense y los esfuerzos de detección.
Las organizaciones que operan sistemas FreePBX sin parches deben tratar cualquier explotación exitosa como una compromisión total que requiere remediación inmediata, monitoreo exhaustivo y endurecimiento de la seguridad.
El incidente subraya que los sistemas VoIP y PBX siguen siendo objetivos de alto valor para actores de amenazas que buscan monetizar el acceso no autorizado mediante fraude telefónico y abuso de recursos de telefonía.
Indicadores de compromiso (IoCs)
| Tipo | Indicador | Descripción |
|---|---|---|
| URL | hxxp://45[.]234[.]176[.]202/new/c | Ubicación de descarga del dropper EncystPHP |
| URL | hxxp://45[.]234[.]176[.]202/new/k.php | Ubicación de descarga del dropper secundario |
| Dominio | crm[.]razatelefonia[.]pro | Dominio malicioso que resuelve al servidor C2 |
| IPv4 | 45[.]234[.]176[.]202 | Dirección IP del servidor de comando y control |
| IPv4 | 187[.]108[.]1[.]130 | Infraestructura maliciosa asociada |
| SHA256 | 71d94479d58c32d5618ca1e2329d8fa62f930e0612eb108ba3298441c6ba0302 | Componente del webshell EncystPHP |
| SHA256 | 7e3a47e3c6b82eb02f6f1e4be6b8de4762194868a8de8fc9103302af7915c574 | Hash del archivo del componente dropper |
| SHA256 | fc514c45fa8e3a49f003eae4e0c8b6a523409b8341503b529c85ffe396bb74f2 | Hash del script de persistencia |
| SHA256 | 285fac34a5ffdac7cb047d412862e1ca5e091e70c0ac0383b71159fdd0d20bb2 | Hash del componente de configuración |
| SHA256 | 29d74963f99563e711e5db39261df759f76da6893f3ca71a4704b9ee2b26b8c7 | Componente adicional de malware |
| Ruta de archivo | /var/www/html/admin/views/ajax.php | Ubicación principal de despliegue del webshell |
| Ruta de archivo | /var/www/html/rest_phones/ajax.php | Ruta alternativa de despliegue del webshell |
| Ruta de archivo | /var/www/html/admin/modules/core/ajax.php | Ubicación de persistencia del webshell |
| Cuenta de usuario | newfpbx | Cuenta de usuario maliciosa a nivel de root |
| CVE | CVE-2025-64328 | Vulnerabilidad explotada en FreePBX |
| Detección | PHP/EncystPHP.A!tr | Firma antivirus de FortiGuard |
| Detección | BASH/EncystPHP.A!tr | Firma antivirus de FortiGuard |
| Firma IPS | 59448 | FreePBX.Administration.GUI.filestore.Command.Injection |
Fuentes:
https://cybersecuritynews.com/freepbx-vulnerability-exploited/

No hay comentarios:
Publicar un comentario