
بعض المختبرات التي تفحص ثغرة الباب الخلفي في xz (CVE-2024-3094)
مختبرات عملية وآمنة لـفهم الباب الخلفي في سلسلة توريد xz-utils — صُمّمت للمدافعين والطلاب وفرق الدفاع (blue team).
[!WARNING] يتعامل هذا المشروع مع برمجيات خبيثة حقيقية منتشرة في البرية (الباب الخلفي xz 5.6.0 / 5.6.1). وهو مقدَّم لأغراض التعليم الدفاعي والبحث المصرّح به فقط. يعمل كل شيء داخل ضيف معزول قابل للتخلص منه ولا يوجد له أي مسار إلى الإنترنت. لا تقم بتشغيل هذه القطع الأثرية على جهاز يهمّك، أو على شبكة لا تتحكم بها، أو ضد أي نظام غير مصرّح لك باختباره. راجع SECURITY.md.
| المختبر | ما الذي يفعله | هل ينفّذ الحمولة؟ |
|---|---|---|
| المختبر 1 — الفحص | شغّل بيئة رملية (sandbox) مؤقتة قابلة للتخلص منها، واحصل على الحزمة المضغوطة الخبيثة دون اتصال، وشاهد التمويه: فرق build-to-host.m4 بين نسخة git والحزمة المضغوطة، وحمولات تجهيزات الاختبار، والعلامة السحرية. | لا — فحص ثابت فقط |
| المختبر 2 — التفجير | أنشئ شبكة معزولة من ثلاث أجهزة افتراضية (analyst / compromised / normal، بدون Docker). من جهاز القفز (jumpbox) الخاص بالمحلل، اتصل بالمضيفين عبر SSH لمقارنة زمن الاستجابة وملفات التقاط الحزم (pcaps)، ثم فعّل sshd المزوّد بالباب الخلفي على compromised باستخدام مفتاح Ed448 خاص بك (عبر xzbot) لتنفيذ أوامر عن بُعد (RCE) بصلاحيات الجذر قبل المصادقة — بينما يبقى normal محصّنًا. | نعم — أجهزة افتراضية معزولة، دون اتصال، مفتاحك الخاص |
منحت حملة هندسة اجتماعية استمرت عامين مطوّرًا خبيثًا سلطة إصدار النسخ على مشروع xz-utils. وصلت الحمولة داخل الحزمة المضغوطة للنسخة الرسمية فقط (وليس في git)، مخبّأة في تجهيزات الاختبار، وتُفعَّل وقت البناء على أنظمة x86-64 glibc. في زمن التشغيل، استخدمت خطاف IFUNC في glibc على RSA_public_decrypt (يمكن الوصول إليه عبر sshd → libsystemd → liblzma) لتمنح حامل المفتاح تنفيذ أوامر قبل المصادقة (pre-auth RCE) — أمرًا مخفيًا في معامل RSA الخاص بشهادة SSH، مشفّرًا بـChaCha20 ومُوقَّعًا بـEd448. إنها ليست C2 (قيادة وتحكم) وليست تسجيل دخول سحريًا. اكتُشفت على يد Andres Freund في 29 مارس 2024 عبر تباطؤ قدره ~500 ميلي ثانية في SSH، قبل أن تصل إلى التوزيعات المستقرة.
make setup # install/preflight checks (Multipass or Docker, tcpdump, etc.)
make lab1 # inspection sandbox
make lab2 # build the isolated 3-VM detonation network, then: multipass shell analyst
make clean # tear everything down, purge VMs / pcaps / generated keys
المتطلبات الأساسية والشروحات خطوة بخطوة لكل مختبر موجودة في docs/.
sshd المزوّد بالباب الخلفي في المختبر 2 يرتبط بـالحلقة المحلية (loopback) / الجسر الداخلي فقط، ويرفض المختبر العمل إذا كان بإمكان الضيف الوصول إلى الإنترنت.MIT.