Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2025-15030 — User Profile Builder < 3.15.2 - Restablecimiento arbitrario de contraseña no autenticado | Kitploit
Herramientas/GitHubGitHub/nxploited/cve-2025-15030
Ataques de ContraseñasAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónRed Teaming
GitHubnxploited/cve-2025-15030

CVE-2025-15030

User Profile Builder < 3.15.2 - Restablecimiento arbitrario de contraseña no autenticado

Ver Repositorio
1115hace 6 mesesAún no revisado

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

CVE-2025-15030

User Profile Builder < 3.15.2 - Restablecimiento de contraseña arbitrario sin autenticación

CVE-2025-15030

User Profile Builder — Restablecimiento de contraseña sin autenticación → Toma de control de administrador + Subida de shell

 ____  _     _____      ____  ____  ____  ____        _  ____  ____ _____  ____
/   _\/ \ |\/  __/     /_   \/  _ \/_   \/ ___\      / \/ ___\/  _ \\__  \/  _ \
|  /  | | //|  \ _____  /   /| / \| /   /|    \_____ | ||    \| / \|  /  || / \|
|  \__| \// |  /_\____\/   /_| \_/|/   /_\___ |\____\| |\___ || \_/| _\  || \_/|
\____/\__/  \____\     \____/\____/\____/\____/      \_/\____/\____//____/\____/

CVE CVSS Plugin Auth Python Author


❶ Vulnerabilidad

CampoDetalle
CVECVE-2025-15030
CVSS9.8 CRÍTICO — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
ADPCISA-ADP
PluginUser Profile Builder for WordPress
Versiones afectadasTodas las versiones anteriores a 3.15.2
AutenticaciónNo se requiere
TipoRestablecimiento de contraseña incorrecto — Toma de control de cuenta sin autenticación
CWECWE-640 · Mecanismo de recuperación de contraseña débil

Causa raíz:
El flujo de recuperación de contraseña del plugin Profile Builder (action2=recover_password2) no valida correctamente la clave de restablecimiento ni aplica la caducidad del token. Al enviar una solicitud POST manipulada con un password_recovery_nonce_field2 válido extraído de la página de restablecimiento, un atacante no autenticado puede establecer una nueva contraseña para cualquier usuario de WordPress — incluidos los administradores — con solo conocer su nombre de usuario. No se requiere interacción por correo electrónico ni un token de restablecimiento válido.


❷ Qué hace la herramienta

Esta herramienta implementa dos cadenas de ataque independientes contra cada objetivo, ambas seguidas de un despliegue opcional de shell:

┌────────────────────────────────────────────────────────────────────┐
│  CHAIN 1 · CORE  (wp-login native reset abuse)                    │
│                                                                    │
│  POST /wp-login.php?action=lostpassword  (trigger reset)          │
│  GET  /wp-login.php?action=rp&key=...    (follow reset link)      │
│  POST /wp-login.php?action=resetpass     (inject new password)    │
│  Enumerate usernames  →  brute strict login  →  verify /wp-admin/ │
├────────────────────────────────────────────────────────────────────┤
│  CHAIN 2 · PB  (Profile Builder reset-from-link)                  │
│                                                                    │
│  Load reset URLs from pb_reset_links.txt                          │
│  GET  <reset_url>  →  extract nonce + userData                    │
│  POST action2=recover_password2  →  set new password              │
│  Strict login  →  verify /wp-admin/ access                        │
├───────────────────────────────────────────────────────────��────────┤
│  SHELL UPLOAD  (runs after any confirmed admin hit)               │
│                                                                    │
│  Method 1  →  plugin-install.php upload  (Nxploited.zip)          │
│  Method 2  →  REST API  /wp-json/wp/v2/plugins                    │
│  Method 3  →  Plugin/Theme editor  (write Nx.php directly)        │
│  Verify    →  GET /wp-content/plugins/Nxploited/Nx.php            │
│  Log       →  scan_results/shells.txt                             │
└────────────────────────────────────────────────────────────────────┘

❸ Configuración

git clone https://github.com/Nxploited/CVE-2025-15030.git
cd CVE-2025-15030
pip install -r requirements.txt

requirements.txt

requests>=2.28.0
urllib3>=1.26.0
colorama>=0.4.6
rich>=13.0.0

Coloca Nxploited.zip en el mismo directorio que el script para habilitar la subida de shell. La herramienta funciona sin él, pero el despliegue de shell se omitirá.


❹ Uso

python3 CVE-2025-15030.py

Indicaciones

Targets list file (one URL per line):            list.txt
Threads (concurrent sites) [5]:                  5
HTTP timeout (seconds) [10]:                     10
Output file for core wp-login reset successes:   scan_results/wp_login_reset_success.txt
Output file for Nxploited shells:                scan_results/shells.txt
Profile Builder reset links file (optional):     pb_reset_links.txt

La contraseña utilizada para todos los intentos de restablecimiento e inicio de sesión está fijada internamente:

Nxploited_adminSA

❺ Archivos de entrada

list.txt — Objetivos (obligatorio)

https://target1.com
target2.com
http://target3.com/wordpress

pb_reset_links.txt — Enlaces de restablecimiento de Profile Builder (opcional)

Si has capturado enlaces de correo de restablecimiento de contraseña de Profile Builder, pégalos aquí, uno por línea. La herramienta:

  1. Cargar la página de restablecimiento y extraer password_recovery_nonce_field2 + userData
  2. Enviar la nueva contraseña mediante action2=recover_password2
  3. Intentar un inicio de sesión estricto de administrador con las nuevas credenciales
https://target1.com/wp-login.php?action=rp&key=ABC123&login=admin
https://target2.com/?page_id=5&action=recover_password&key=XYZ&login=editor

❻ Enumeración de nombres de usuario

La herramienta descubre automáticamente los nombres de usuario de WordPress mediante tres métodos antes de intentar el inicio de sesión:

MétodoEndpoint
Redirección de autor/?author=1 → /?author=10
API REST/wp-json/wp/v2/users
Heurística de hostnamePrimera etiqueta del nombre de dominio
Respaldo predeterminadoadmin siempre incluido

❼ Verificación de administrador

Cada intento de inicio de sesión se verifica estrictamente antes de escribir los resultados. La herramienta comprueba:

/wp-admin/index.php       →  id="adminmenu", id="wpadminbar"
/wp-admin/users.php       →  users.php indicator
/wp-admin/plugins.php     →  plugins.php indicator
/wp-admin/plugin-install.php  →  upload-plugin, plugin-install-tab

Un resultado solo se escribe en disco cuando se confirman ≥ 3 marcadores de administrador.


❽ Métodos de subida de shell

Tras una sesión de administrador confirmada, la herramienta intenta tres métodos de escalada en orden:

MétodoEndpointDisparador
Subida de plugin/wp-admin/update.php?action=upload-pluginSube Nxploited.zip mediante el formulario de instalación
API REST/wp-json/wp/v2/pluginsPOST ZIP directo
Escritura en editor/wp-admin/plugin-editor.phpEscribe Nx.php mediante el editor de archivos

Verificación de shell: GET /wp-content/plugins/Nxploited/Nx.php → HTTP 200


❾ Archivos de salida

ArchivoContenido
scan_results/wp_login_reset_success.txtAccesos de administrador confirmados mediante la cadena CORE
scan_results/shells.txtURLs de shell desplegadas con credenciales

Formato

wp_login_reset_success.txt

[2025-06-01T14:22:10] https://target.com | https://target.com/wp-login.php | account=admin  pass=Nxploited_adminSA
Descargar herramienta