En este artículo documentamos el proceso completo de detección y limpieza de esta infección en sitios Joomla con SP Page Builder 6.6.1 o versiones posteriores: cómo identificar los webshells, eliminar los backdoors persistentes en .htaccess y .user.ini, revocar el acceso SSH no autorizado, limpiar los crontabs maliciosos y cerrar definitivamente la vulnerabilidad actualizando a SP Page Builder 6.6.2.
1. Identificar que efectivamente la web tiene esta infección
Revisar todos los `.htaccess` buscando en este archivo `auto_prepend_file`
Revisar todos los `.user.ini` buscando en este archivo `auto_prepend_file`
Abrir el archivo referenciado, si tiene `shell_exec`, `exec`, `system` es un webshell
2. Detener la persistencia primero
Verificar y limpiar Cron Jobs en cPanel
Buscar y eliminar `/home/usuario/authorized_keys` si existe o en .ssh/authorized_keys
Buscar archivos PHP ocultos en `/images/`, `/media/`, `/tmp/` (En nuestro caso utilizamos FIleZilla para detectar esos archivos)
3. Limpiar los archivos maliciosos
Eliminar todos los webshells y sus carpetas
Limpiar la línea `auto_prepend_file` de `.htaccess` y `.user.ini`
Revisar `templates/***/index.php` — eliminar `@include_once` malicioso al inicio
Revisar `configuration.php` — eliminar `@include_once` malicioso al inicio
4. Limpiar Joomla
Eliminar usuarios Superadmin con email `@secure.local`
Verificar extensiones instaladas en BD buscando componentes no reconocidos
Revisar contenido modificado recientemente
5. Cerrar accesos
Cambiar contraseña de cPanel
Cambiar contraseñas de todas las bases de datos o de los usuarios de las bases de datos
Actualizar `configuration.php` con las nuevas credenciales de acceso y usuarios a bases de datos
Cambiar contraseñas admin de Joomla
Si le es posible activar 2FA en el admin de Joomla
6. Cerrar la vulnerabilidad
Actualizar SP Page Builder a 6.6.2
Verificar en BD: `SELECT element, JSON_UNQUOTE(JSON_EXTRACT(manifest_cache, '$.version')) as version FROM prefijo_extensions WHERE element = 'com_sppagebuilder';`
Actualizar extensiones de terceros semanalmente. Este ataque fue posible por una extensión desactualizada, no por el core de Joomla. Una extensión vulnerable es suficiente para comprometer toda la cuenta de hosting.
Contáctenos llamando o escribiendo por WhatsApp al +57 3332423060 si requieres ayuda con esta vulnerabilidad.