El directorio /wp-content/mu-plugins/ aloja los plugins de uso obligatorio (Must-Use Plugins) de WordPress, una característica legítima pero que también es un objetivo prioritario para los atacantes debido a su naturaleza sigilosa y persistente.
¿Qué es un "MU-Plugin"?
Son un tipo especial de plugin que, a diferencia de los normales:
- Se activan automáticamente al estar presentes en el directorio, sin necesidad de activación manual desde el panel de administración.
- No se pueden desactivar desde la interfaz de WordPress; la única forma de desactivarlos es eliminando el archivo del servidor.
- No aparecen en la lista de plugins por defecto, haciéndolos invisibles para la mayoría de los administradores a menos que se filtre específicamente por "Must-Use".
- Se cargan antes que los plugins normales, lo que les otorga alta prioridad y los hace útiles para funcionalidades críticas o ajustes de rendimiento.
Usos legítimos
En su uso correcto, esta carpeta es una herramienta poderosa para desarrolladores que buscan:
- Implementar reglas de seguridad que no puedan ser desactivadas accidentalmente por otros administradores.
- Aplicar funcionalidad personalizada que no dependa de un tema en particular, lo que la hace "portable" incluso si se cambia de tema.
- Forzar características en redes Multisitio para todos los sitios de la red.
- Alojar características específicas del hosting, como plugins que tu proveedor instala para optimizar su servicio.
⚠️ El lado oscuro: Un escondite perfecto para malware
La misma invisibilidad y carga forzosa que hacen útiles a los MU-Plugins los convierten en un vector de ataque muy atractivo para los ciberdelincuentes. Varios informes de seguridad han documentado el abuso masivo de este directorio.
¿Cómo operan los ataques?
Instalación sigilosa: Un atacante sube un archivo PHP malicioso a /wp-content/mu-plugins/. No necesita ser "activado" y no aparecerá en el listado normal, por lo que puede pasar desapercibido durante mucho tiempo.
Persistencia total: Al no poder desactivarse desde el panel de administración, el malware se mantiene ejecutándose en cada carga de página, incluso si el administrador elimina otros plugins infectados o cambia la contraseña.
Funcionalidades maliciosas: Los investigadores han encontrado varios tipos de payloads en este directorio, incluyendo:
redirect.php: Redirige a los visitantes (excepto a administradores y bots) a sitios de phishing o que muestran falsas actualizaciones del navegador para instalar malware.index.php(webshell): Actúa como una puerta trasera que permite al atacante ejecutar código remotamente, tomar control total del servidor, y robar datos.custom-js-loader.php: Inyecta JavaScript malicioso que puede reemplazar imágenes con contenido explícito o secuestrar enlaces para abrir ventanas emergentes no deseadas.- Backdoor avanzado (2025): Se ha visto un malware
wp-index.phpque además de crear un usuario administradorofficialwp, cambia las contraseñas de usuarios comunes ("admin", "root") a una controlada por el atacante, y reinfecta el sitio si se detecta su eliminación.
¿Es una vulnerabilidad?
No. La existencia de la carpeta mu-plugins es completamente normal en WordPress.
El problema aparece si:
- Es posible listar el contenido del directorio.
- Se exponen archivos PHP, copias de seguridad o archivos de configuración.
- Hay plugins vulnerables dentro de esa carpeta.
Riesgos asociados
Listado de directorios
Si el servidor tiene habilitado el Directory Listing, un atacante podría acceder a: https://tudominio.com/wp-content/mu-plugins/
y ver algo como:
Esto permite conocer:
- Qué plugins personalizados utiliza el sitio.
- Nombres de archivos internos.
- Posibles objetivos para buscar vulnerabilidades conocidas.
Exposición de archivos sensibles
Es relativamente frecuente encontrar por error:
o incluso:
Estos archivos pueden revelar información sensible.
Plugins vulnerables
Si un MU Plugin contiene una vulnerabilidad (por ejemplo, ejecución remota de código, subida de archivos o SQL Injection), un atacante podría explotarla igual que cualquier otro plugin.
¿Cómo comprobar si está expuesto?
Accede a: https://tudominio.com/wp-content/mu-plugins/
Los posibles resultados son:
- 403 Forbidden ✅ (correcto).
- 404 Not Found ✅ (también aceptable).
- Index of... ❌ (riesgo por listado de directorios).
- Descarga o visualización de archivos ❌ (riesgo).
¿Cómo mitigar el riesgo?
En Apache (.htaccess):
En Nginx, evita la directiva:
En resumen, /wp-content/mu-plugins/ no es una vulnerabilidad en sí misma. El riesgo depende de si el servidor expone el contenido del directorio o contiene archivos inseguros que puedan ser accedidos desde la web.