Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
exploit-CVE-2023-3460 — Explotación y análisis de CVE-2023-3460, una escalada de privilegios crítica en el plugin Ultimate Member de WordPress, con entorno de reproducción y guía de mitigación. | Kitploit
Herramientas/GitHubGitHub/julienbrs/exploit-cve-2023-3460
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebAprendizaje y EducaciónLabs y Práctica
GitHubjulienbrs/exploit-cve-2023-3460

exploit-CVE-2023-3460

Explotación y análisis de CVE-2023-3460, una escalada de privilegios crítica en el plugin Ultimate Member de WordPress, con entorno de reproducción y guía de mitigación.

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
hace 2 añosAún no revisado

title: "Seguridad de los SI - CVE 2023-38408"

Análisis y explotación de la CVE-2023-3460

CVE IDCVSS ScoreDiscoveredAffected PluginVulnerability Type
CVE-2023-3460Critical07/04/2023Ultimate MemberAcceso de Administrador No Autorizado

Sumario

  • Introducción
  • Mecanismo general de la vulnerabilidad
    • Mecanismo de gestión de roles en WordPress
    • Mala implementación de Ultimate Member
  • Objetivo de seguridad para CVE-2023-3460
    • Suposiciones
    • Usuarios típicos
    • Los bienes a proteger
    • Las amenazas
    • Las funciones de seguridad
  • Arquitectura Típica
  • Mitigación de la vulnerabilidad
  • Experimentación de la vulnerabilidad
    • Reproducción
    • Detalles sobre exploit.py
  • Anexo
    • Glosario
    • Fuentes

Introducción

Este estudio se centra en la CVE¹-2023-3460, una vulnerabilidad crítica que afecta al plugin "Ultimate Member" de WordPress, permitiendo una escalada de privilegios no autorizada. Este plugin está ampliamente extendido y se utiliza para la gestión de perfiles en sitios WordPress. Esta vulnerabilidad presenta un riesgo importante, ya que permite a un atacante obtener derechos de administrador y, por tanto, el control total del sitio. Por eso, esta falla ha sido clasificada como crítica y puntuada con 9.1 en la escala CVSS por el NIST².

Mecanismo general de la vulnerabilidad

La CVE-2023-3460 explota una falla en la gestión de roles y permisos del plugin. En WordPress, la función WP_Capabilities³ se utiliza para gestionar los roles y permisos de los usuarios. Esta función permite a los administradores definir capacidades específicas para cada rol de usuario. Sin embargo, un mal uso de esta función puede conducir a vulnerabilidades de elevación de privilegios.

En el caso de Ultimate Member, la vulnerabilidad permite a un atacante eludir la verificación de las capacidades de WP y obtener acceso a nivel de administrador al sitio. El plugin funciona utilizando una lista predefinida de claves de metadatos de usuario que no deberían ser manipuladas por los usuarios. Sin embargo, este enfoque de seguridad, basado en listas de bloqueo, suele ser insuficiente, ya que deja posibilidades de evasión.

Mecanismo de gestión de roles en WordPress

WordPress gestiona los roles y permisos de los usuarios a través de una estructura llamada wp_capabilities. Esta estructura es una representación serializada de los diferentes roles y permisos otorgados a los usuarios. Por ejemplo, un administrador tendrá un conjunto de capacidades diferente al de un editor o un colaborador. Estas capacidades se almacenan en la base de datos de WordPress como arrays serializados en la tabla wp_usermeta.

Mala implementación de Ultimate Member

La falla CVE-2023-3460 tiene su origen en la implementación de la gestión de roles y permisos por parte de Ultimate Member. El plugin opera utilizando una lista predefinida de claves de metadatos de usuario que los usuarios no deberían manipular. Esta lista se utiliza para verificar si los usuarios intentan guardar estas claves al crear una cuenta. Este enfoque es un anti-patrón de seguridad común, donde el bloqueo de entradas conocidas como dañinas (listas de bloqueo) puede parecer intuitivo, pero resulta más complejo de lo esperado y a menudo deja lugar a evasiones de seguridad.

Aquí, Ultimate Member utiliza una verificación insuficiente de los metadatos enviados durante el registro de usuarios. El plugin utiliza una función llamada is_metakey_banned para verificar si los metadatos enviados por el usuario están permitidos. Esta función comprueba si los metadatos enviados están presentes en la lista de metadatos prohibidos. Si es así, la función devuelve true y el registro del usuario se bloquea. De lo contrario, la función devuelve false y el registro del usuario se permite.

Sin embargo, WordPress acepta ciertos caracteres acentuados como caracteres por defecto. Si un usuario envía metadatos con caracteres acentuados, la función is_metakey_banned no los detectará y el registro del usuario se permitirá.

Objetivo de seguridad para CVE-2023-3460

Suposiciones

Seguridad organizacional

El plugin Ultimate Member se utiliza ampliamente en diversos entornos, desde pequeños blogs personales hasta grandes sitios de comercio electrónico. No se puede hacer ninguna suposición específica sobre las competencias en seguridad informática de los usuarios finales o de los administradores de los sitios.

Seguridad física

Los servidores que alojan sitios WordPress suelen estar ubicados en centros de datos seguros. Para sitios personales, la seguridad física depende del entorno individual del usuario.

Seguridad lógica

Se supone que el plugin Ultimate Member está instalado y configurado correctamente según las instrucciones oficiales. Se supone que el sitio WordPress se mantiene actualizado, con medidas de seguridad básicas implementadas.

Usuarios típicos

  • Administradores del sitio: Gestionan la configuración del plugin y la seguridad general del sitio.
  • Usuarios del sitio: Se registran e interactúan con el sitio a través del plugin Ultimate Member.
  • Desarrolladores: Personalizan y amplían las funcionalidades del plugin para necesidades específicas.

Los bienes a proteger

  • B1 Confidencialidad de los datos de usuario: Información personal e identificadores de conexión.
  • B2 Integridad del sitio web: Prevención contra modificaciones no autorizadas del contenido o la estructura del sitio.
  • B3 Integridad del plugin Ultimate Member: Código fuente y funcionalidades del plugin.

Las amenazas

  • M1 Acceso no autorizado: Un atacante obtiene privilegios de administrador a través de la vulnerabilidad.
  • M2 Inyección de código malicioso: Modificación del comportamiento del sitio mediante la inyección de código.
  • M3 Fuga de datos: Acceso no autorizado a los datos confidenciales de los usuarios.
  • M4 Deterioro de la reputación: Consecuencias negativas para la reputación debido a un compromiso del sitio.

Cobertura de los bienes por las amenazas

7.5 Las funciones de seguridad

  • F1 Gestión segura de roles: Mecanismos robustos para la gestión de roles y permisos.
  • F2 Validación de entradas: Verificaciones estrictas de los datos enviados para prevenir la inyección de datos maliciosos.
  • F3 Actualizaciones y parches de seguridad: Actualización regular del plugin para corregir vulnerabilidades conocidas.
  • F4 Formación y concienciación: Informar a los administradores y usuarios sobre las mejores prácticas de seguridad.

Arquitectura Típica

Servidor Web:

  • Aloja el sitio WordPress.
  • Típicamente, un servidor Apache o Nginx en una máquina Linux (puede variar según el proveedor de alojamiento o las preferencias del administrador).
  • Conectado a Internet para permitir el acceso al sitio web.

Sistema de Gestión de Base de Datos (SGBD):

  • Habitualmente MySQL o MariaDB.
  • Almacena los datos del sitio WordPress, incluidos los datos de usuario gestionados por Ultimate Member.

WordPress con Plugin Ultimate Member:

  • WordPress instalado con el plugin Ultimate Member para la gestión de perfiles de usuario, registro y gestión de roles.
  • Puede incluir otros plugins y temas, que pueden interactuar con Ultimate Member.

Red y Seguridad:

  • Firewall y otras medidas de seguridad de red para proteger el servidor.
  • SSL/TLS para asegurar las comunicaciones entre el cliente y el servidor.

Usuarios/Administradores:

  • Los administradores del sitio que gestionan y mantienen el sitio WordPress y el plugin Ultimate Member.
  • Los usuarios finales que se registran e interactúan con el sitio.

Servicios Externos (opcional):

  • Servicios de correo electrónico para notificaciones y gestión de cuentas.
  • Integraciones con redes sociales u otras plataformas para la conectividad y funcionalidades ampliadas.

Mitigación de la vulnerabilidad

Como administrador, estas son medidas concretas que se pueden tomar para mitigar los riesgos asociados a esta vulnerabilidad.

1. Restricción de los Metadatos Modificables

Validación de Entradas de Usuario: Implementar validaciones en el lado del servidor para verificar todas las entradas de usuario, especialmente aquellas que modifican metadatos como wp_capabilities. Utilizar expresiones regulares o listas de validación (whitelists) en lugar de listas de bloqueo para controlar las entradas.

2. Aseguramiento de los Formularios de Registro

CAPTCHA y Límites de Tasa: Integrar CAPTCHAs y límites de tasa en los formularios de registro para prevenir ataques automatizados. Verificaciones en el Lado del Cliente: Aunque las validaciones en el lado del cliente no son suficientes por sí solas, pueden ayudar a prevenir ataques automatizados y mejorar la experiencia del usuario.

3. Seguimiento y Análisis de Registros

Monitoreo de Logs: Implementar un sistema de monitoreo de logs para detectar cualquier modificación sospechosa de los roles de usuario o intentos de inyección de metadatos. Esto se puede hacer utilizando herramientas de análisis de logs.

4. Uso de Soluciones de Seguridad Web Avanzadas

Firewall de Aplicación Web (WAF): Configurar un WAF⁴ para bloquear ataques conocidos y desconocidos, incluidos los ataques por inyección de código malicioso. Sistemas de Detección de Intrusos (IDS/IPS)⁵: Implementar un IDS/IPS para detectar intentos de explotación de la vulnerabilidad.

5. Gestión de Permisos y Roles

Revisión de Roles de Usuario: Examinar regularmente los roles asignados a los usuarios para detectar cualquier elevación de privilegios anormal. Restricción de Permisos: Limitar los permisos otorgados por defecto a los nuevos usuarios y exigir una validación administrativa para la asignación de roles elevados, siguiendo el principio de mínimo privilegio. Ver detalles sobre este principio aquí.

6. Actualizaciones y Parches de Seguridad

Aplicación Rápida de Actualizaciones: Realizar actualizaciones de seguridad regulares para los plugins y WordPress en sí.

7. Concienciación y Formación de los Desarrolladores

Formar a los desarrolladores en las buenas prácticas de seguridad mencionadas anteriormente, y concienciarlos sobre los riesgos / impactos de una mala implementación.

Experimentación de la vulnerabilidad

Reproducción

Un Makefile está disponible para ayudarle a lanzar la explotación de la falla. Puede utilizarlo de la siguiente manera:

  • make up para lanzar WordPress con todas las instalaciones necesarias. Después de un tiempo de espera, esto lanzará un servidor WordPress, lo configurará e instalará la versión 2.6.5 del plugin Ultimate Member. Entonces podrá conectarse a WordPress en la página Login con las credenciales admin:password. Al ir a la pestaña Users, podrá ver que solo el usuario admin está presente. one_admin

    Nota: si tiene docker-compose y no docker compose, puede modificar el Makefile en consecuencia (variable DOCKER_COMPOSE= docker-compose).

Luego, puede lanzar la explotación de la falla:

  • make exploit Entonces podrá conectarse a WordPress en Login con las credenciales proporcionadas por el exploit y observar en la pestaña Users que se ha creado un nuevo usuario con el rol Administrator.

    two_admin

  • make down para detener el servidor WordPress y eliminar los datos.

Detalles sobre exploit.py

  • make exploit lanza el script exploit.py. Este script actúa en varias etapas: Detalles Técnicos del Exploit

1. Verificación de la Vulnerabilidad: Antes de proceder a la explotación, el script verifica si la versión del plugin Ultimate Member instalada en el sitio objetivo es vulnerable, es decir, inferior a la versión 2.6.7.

2. Obtención del Nonce de Seguridad: El script obtiene un nonce de seguridad³ desde la página de registro del sitio objetivo. Este nonce es necesario para que la solicitud de registro sea aceptada por WordPress. El nonce se obtiene analizando el código HTML de la página de registro.

3. Explotación de la Vulnerabilidad: El script envía entonces una solicitud POST a la página de registro, incluyendo un parámetro manipulado (wp_càpabilities[administrator]=1). Este parámetro utiliza un carácter acentuado (à) para eludir los controles de seguridad del plugin y serializar incorrectamente los datos, asignando así el rol de administrador al nuevo usuario creado.

4. Confirmación del Exploit: Después de enviar la solicitud, el script verifica si la operación tuvo éxito analizando la respuesta del servidor.

Anexo

Glosario

  1. CVE (Common Vulnerabilities and Exposures) : Sistema de referencia internacional para vulnerabilidades de seguridad informática. Más información.
  2. nvd.nist.gov : Base de datos de referencia para vulnerabilidades de seguridad informática. Sitio oficial.
  3. WP_Capabilities : Atributo serializado de WordPress utilizado para gestionar los roles y permisos de los usuarios. Más información sobre los roles y capacidades de WordPress, y cómo utilizarlos
  4. Nonce de Seguridad : Token utilizado en las comunicaciones informáticas para prevenir ciertas formas de ataques, como los ataques de tipo CSRF. Detalles aquí.
  5. WAF (Firewall de Aplicación Web) : Herramienta de seguridad para monitorear y filtrar el tráfico HTTP entre un servidor web e Internet. Profundización.
  6. IDS/IPS (Sistemas de Detección y Prevención de Intrusos) : Dispositivos o aplicaciones que monitorean una red o sistemas para detectar actividades maliciosas. Explicaciones complementarias.
  7. Cross-Site Request Forgery (CSRF) : Ataque que fuerza a un usuario conectado a ejecutar acciones no deseadas en una aplicación web. Más información.

Fuentes

Descargar herramienta
AmenazasB1 (Confidencialidad de los datos de usuario)B2 (Integridad del sitio web)B3 (Integridad del plugin Ultimate Member)
M1 Acceso no autorizadoXXX
M2 Inyección de código maliciosoXX
M3 Fuga de datosX
M4 Deterioro de la reputaciónX
NombreEnlace
NIST CVE-2023-3460https://nvd.nist.gov/vuln/detail/CVE-2023-3460
Ultimate Member Githubhttps://github.com/ultimatemember/ultimatemember
Versión del paquete utilizado para la explotación 2.6.5https://wordpress.org/plugins/ultimate-member/advanced/
Parche del exploithttps://github.com/ultimatemember/ultimatemember/commit/fae47c6065ce07e9a8b44501002fa5b4f16d2456
Revisión del exploithttps://thesecmaster.com/how-to-fix-cve-2023-3460-a-privilege-escalation-vulnerability-in-ultimate-member-wordpress-plugin/
OWASP Top 10 Application Security Riskshttps://owasp.org/www-project-top-ten/