Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-15030 — User Profile Builder < 3.15.2 - Réinitialisation de mot de passe arbitraire non authentifiée | Kitploit
Outils/GitHubGitHub/nxploited/cve-2025-15030
Attaques de Mots de PasseAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionRed Teaming
GitHubnxploited/cve-2025-15030

CVE-2025-15030

User Profile Builder < 3.15.2 - Réinitialisation de mot de passe arbitraire non authentifiée

Voir le dépôt
1115il y a 6 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2025-15030

User Profile Builder < 3.15.2 - Réinitialisation de mot de passe non authentifiée

CVE-2025-15030

User Profile Builder — Réinitialisation de mot de passe non authentifiée → Prise de contrôle admin + Téléversement de shell

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

CVE CVSS Plugin Auth Python Author


❶ Vulnérabilité

ChampDétail
CVECVE-2025-15030
CVSS9.8 CRITIQUE — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
ADPCISA-ADP
PluginUser Profile Builder pour WordPress
Versions affectéesToutes les versions antérieures à 3.15.2
AuthentificationAucune requise
TypeRéinitialisation de mot de passe incorrecte — Prise de contrôle de compte non authentifiée
CWECWE-640 · Mécanisme de récupération de mot de passe faible

Cause racine :
Le flux de récupération de mot de passe du plugin Profile Builder (action2=recover_password2) ne valide pas correctement la clé de réinitialisation et n'impose pas d'expiration de jeton. En soumettant une requête POST spécialement conçue avec un password_recovery_nonce_field2 valide extrait de la page de réinitialisation, un attaquant non authentifié peut définir un nouveau mot de passe pour n'importe quel utilisateur WordPress — y compris les administrateurs — en ne connaissant que leur nom d'utilisateur. Aucune interaction par e-mail ni jeton de réinitialisation valide n'est requis.


❷ Ce que fait l'outil

Cet outil implémente deux chaînes d'attaque indépendantes contre chaque cible, toutes deux suivies d'un déploiement de shell optionnel :

┌────────────────────────────────────────────────────────────────────┐
│  CHAÎNE 1 · CŒUR (abus de réinitialisation native wp-login)       │
│                                                                    │
│  POST /wp-login.php?action=lostpassword  (déclencher réinit.)     │
│  GET  /wp-login.php?action=rp&key=...    (suivre lien réinit.)    │
│  POST /wp-login.php?action=resetpass     (injecter nouveau mdp)   │
│  Énumérer les noms d'utilisateur → brute force strict → vérif /wp-admin/ │
├────────────────────────────────────────────────────────────────────┤
│  CHAÎNE 2 · PB (Profile Builder réinitialisation par lien)        │
│                                                                    │
│  Charger les URL de réinit. depuis pb_reset_links.txt             │
│  GET  <reset_url>  →  extraire nonce + userData                   │
│  POST action2=recover_password2  →  définir nouveau mot de passe |
│  Connexion stricte → vérifier accès /wp-admin/                    │
├────────────────────────────────────────────────────────────────────┤
│  TÉLÉVERSEMENT DE SHELL (exécuté après toute confirmation admin)  │
│                                                                    │
│  Méthode 1  →  téléversement plugin-install.php (Nxploited.zip)   │
│  Méthode 2  →  API REST  /wp-json/wp/v2/plugins                  │
│  Méthode 3  →  Éditeur de plugin/thème (écrire Nx.php directement)│
│  Vérifier    →  GET /wp-content/plugins/Nxploited/Nx.php          │
│  Journal     →  scan_results/shells.txt                           │
└────────────────────────────────────────────────────────────────────┘

❸ Installation

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

Placez Nxploited.zip dans le même répertoire que le script pour activer le téléversement du shell. L'outil s'exécute sans, mais le déploiement du shell sera ignoré.


❹ Utilisation

python3 CVE-2025-15030.py

Invites

Fichier de liste de cibles (une URL par ligne) :            list.txt
Threads (sites simultanés) [5] :                            5
Délai d'attente HTTP (secondes) [10] :                      10
Fichier de sortie pour les succès de réinit. cœurs         scan_results/wp_login_reset_success.txt
Fichier de sortie pour les shells Nxploited :               scan_results/shells.txt
Fichier de liens de réinitialisation Profile Builder (facultatif) : pb_reset_links.txt

Mot de passe utilisé pour toutes les réinitialisations et connexions est fixé en interne :

Nxploited_adminSA

❺ Fichiers d'entrée

list.txt — Cibles (obligatoire)

https://cible1.com
cible2.com
http://cible3.com/wordpress

pb_reset_links.txt — Liens de réinitialisation Profile Builder (facultatif)

Si vous avez capturé des liens de réinitialisation de mot de passe par e-mail depuis Profile Builder, collez-les ici, un par ligne. L'outil va :

  1. Charger la page de réinitialisation et extraire password_recovery_nonce_field2 + userData
  2. Soumettre le nouveau mot de passe via action2=recover_password2
  3. Tenter une connexion admin stricte avec les nouvelles identifiants
https://cible1.com/wp-login.php?action=rp&key=ABC123&login=admin
https://cible2.com/?page_id=5&action=recover_password&key=XYZ&login=editor

❻ Énumération des noms d'utilisateur

L'outil découvre automatiquement les noms d'utilisateur WordPress via trois méthodes avant de tenter la connexion :

MéthodePoint de terminaison
Redirection auteur/?author=1 → /?author=10
API REST/wp-json/wp/v2/users
Heuristique de nom d'hôtePremier label du nom de domaine
Repli par défautadmin toujours inclus

❼ Vérification admin

Chaque tentative de connexion est strictement vérifiée avant d'écrire les résultats. L'outil vérifie :

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

Un résultat n'est écrit sur le disque que lorsque ≥ 3 marqueurs admin sont confirmés.


❽ Méthodes de téléversement de shell

Après une session admin confirmée, l'outil tente trois méthodes d'escalade dans l'ordre :

MéthodePoint de terminaisonDéclencheur
Téléversement de plugin/wp-admin/update.php?action=upload-pluginTéléverse Nxploited.zip via le formulaire d'installation
API REST/wp-json/wp/v2/pluginsPOST ZIP direct
Écriture dans l'éditeur/wp-admin/plugin-editor.phpÉcrit Nx.php via l'éditeur de fichiers

Vérification du shell : GET /wp-content/plugins/Nxploited/Nx.php → HTTP 200


❾ Fichiers de sortie

FichierContenu
scan_results/wp_login_reset_success.txtHits admin confirmés via la chaîne CŒUR
scan_results/shells.txtURL des shells déployés avec identifiants

Format

wp_login_reset_success.txt

[2025-06-01T14:22:10] https://cible.com | https://cible.com/wp-login.php | compte=admin  motdepasse=Nxploited_adminSA
Télécharger l’outil