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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-3094 — مختبر تعليمي يعيد إنتاج الباب الخلفي XZ Utils (CVE-2024-3094) مع زوج مفاتيح Ed448 مخصص. يتضمن liblzma مصححًا وخدمة systemd وعميل استغلال للبحث الأمني المصرح به. | Kitploit
أدوات/GitHubGitHub/h3raklez/cve-2024-3094
تحليل الثغرات الأمنيةالاستغلالتحليل البرمجيات الخبيثةالتشفيراختبار الاختراقأمن سلسلة التوريدالتعلم والتعليممختبرات وتدريب عملي
GitHubh3raklez/cve-2024-3094

CVE-2024-3094

مختبر تعليمي يعيد إنتاج الباب الخلفي XZ Utils (CVE-2024-3094) مع زوج مفاتيح Ed448 مخصص. يتضمن liblzma مصححًا وخدمة systemd وعميل استغلال للبحث الأمني المصرح به.

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

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة

CVE-2024-3094 — باب خلفي في XZ Utils

لأغراض تعليمية وبحث أمني مصرح به فقط.

وصف الثغرة

ثغرة CVE-2024-3094 هي باب خلفي تم تقديمه في الإصدارين 5.6.0 و5.6.1 من XZ Utils (liblzma)، تم اكتشافها في 29 مارس 2024 بواسطة باحث الأمن أندريس فرويند. تم تخصيص درجة CVSS 10.0 (حرجة).

هذا هجوم على سلسلة التوريد تم تنفيذه على مدى أكثر من عامين بواسطة جهة تهديد تُعرف باسم "Jia Tan" (JiaT75)، التي بنت الثقة داخل المشروع حتى حصلت على حالة المشارك في الصيانة وأدخلت الباب الخلفي مباشرة في حزم التوزيع المضغوطة.

الآلية التقنية

يعمل الباب الخلفي على النحو التالي:

  1. يقوم liblzma.so الخبيث بربط دالة RSA_public_decrypt() في OpenSSH عبر آلية IFUNC الخاصة بـ glibc، مما يعترض عملية مصادقة SSH.
  2. عندما يتصل عميل، يقوم الباب الخلفي بتقييم حقل معين في شهادة SSH المقدمة.
  3. إذا كان هذا الحقل يحتوي على حمولة مشفرة باستخدام ChaCha20 وموقعة بمفتاح خاص Ed448 محدد، يقوم الباب الخلفي بتنفيذ الأمر المضمن عبر system() بصلاحيات sshd (الجذر).
  4. إذا كان التوقيع غير صالح، يستمر sshd في تدفقه الطبيعي دون أي خلل.

متطلبات الاستغلال

  • نظام يحتوي على glibc (دعم IFUNC)
  • XZ Utils 5.6.0 أو 5.6.1 مثبتة
  • sshd يتم تشغيله من systemd (شرط حاسم — لا يتم تنشيط ربط IFUNC إذا تم تشغيل sshd يدويًا من سطر الأوامر)
  • نظام x86-64

التوزيعات المتأثرة أصلاً

  • Fedora Linux 40 beta / Rawhide
  • Debian غير المستقر، الاختباري، التجريبي
  • Kali Linux
  • Arch Linux (الصور بين 2024-02-24 و2024-03-28)

بيئة المختبر

يعيد هذا المختبر إنتاج آلية الباب الخلفي باستخدام مفاتيح Ed448 مخصصة بدلاً من مفاتيح الجهة الأصلية (التي لم تُنشر أبدًا).

لماذا نستخدم chroot

في الأنظمة المتأثرة الحقيقية لم يكن هناك chroot. عمل الباب الخلفي مباشرة على sshd النظام، الذي قام بتحميل liblzma.so الخبيث مثل أي مكتبة مشتركة أخرى — بشفافية تامة للنظام ومسؤوليه.

في هذا المختبر نستخدم chroot فقط لسبب عملي: نحتاج إلى تشغيل sshd بإصدار معين من liblzma.so دون استبدال مكتبات النظام المضيف. هذا قرار تصميمي لبيئة البحث، وليس انعكاسًا لكيفية عمل الباب الخلفي في الإنتاج.

المكونات

المكونالوصف
env_fs/نظام ملفات Ubuntu 22.04 الأدنى المستخدم كـ chroot
env_fs/usr/lib/x86_64-linux-gnu/liblzma.so.5liblzma 5.6.1 مُصحح بمفتاح Ed448 مخصص
/etc/systemd/system/xzback.serviceخدمة systemd تُطلق sshd الضعيف على المنفذ 2024
/xzbot/xzbotعميل الاستغلال المُجمّع من المصدر

مجموعة التقنيات المستهدفة

  • Ubuntu 22.04.1 LTS AMD64
  • glibc 2.35
  • OpenSSH 8.9p1
  • systemd 249
  • liblzma 5.6.1 (مُصحح)

التعديلات التي تم إجراؤها لهذا الهدف

يتطلب الباب الخلفي الأصلي شروطًا محددة جدًا لا توجد تلقائيًا في بيئة المختبر. كانت التعديلات التالية ضرورية:

1. استبدال liblzma.so

يستخدم liblzma.so.5 الموجود في مستودع MagpieRYL الأصلي مفتاح Ed448 غير معروف غير متوافق مع ثنائي xzbot المضمن. تم تنزيل liblzma.so.5.6.1 الأصلي والحقيقي من لقطة Debian (تم التحقق من sha256) وتصحيحه باستخدام patch.py من amlweems/xzbot مع seed=0:

root@kitploit:~
original sha256:  605861f833fc181c7cdcabd5577ddb8989bea332648a8f498b4eef89b8f85ad4
patched sha256:   ea7206ab4b0c3479ff1b478c8803adc9e7aeba243254a9f601b626ef8aa80e3d
patched offset:   0x24470

تم استبدال المفتاح العام Ed448 للجهة الأصلية بما يلي:

root@kitploit:~
5b 3a fe 03 87 8a 49 b2 82 32 d4 f1 a4 42 ae bd
e1 09 f8 07 ac ef 7d fd 9a 7f 65 b9 62 fe 52 d6
54 73 12 ca ce cf f0 43 37 50 8f 9d 25 29 a8 f1
66 91 69 b2 1c 32 c4 80 00

2. Type=simple في خدمة systemd

تستخدم الخدمة الأصلية Type=notify، والتي تتطلب من sshd إرسال إشعار بدء التشغيل إلى systemd. لا يرسل sshd داخل chroot هذا الإشعار، مما يسبب انتهاء المهلة. تم التغيير إلى Type=simple.

3. أدلة chroot المؤقتة

يتطلب sshd وجود /run/sshd لفصل الامتيازات. هذا الدليل غير موجود في chroot ويتم مسحه في كل إعادة تشغيل لأن run/ هي tmpfs. تم الحل باستخدام ExecStartPre التي تعيد إنشاؤه تلقائيًا قبل كل بدء خدمة.


الاستخدام

الاستغلال من نفس الجهاز

root@kitploit:~
./xzbot -addr 127.0.0.1:2024 -cmd 'echo pwned > /tmp/result'
cat /home/user/CVE-2024-3094-backdoor-env-container/env_fs/tmp/result

الاستغلال من جهاز آخر

root@kitploit:~
./xzbot -addr <TARGET_IP>:2024 -cmd 'echo pwned > /tmp/result'

موقع الملفات الناتجة عن الاستغلال

يتم تنفيذ الأمر داخل chroot، لذا أي ملف يتم إنشاؤه تحت /tmp/ ضمن سياق الباب الخلفي يُخزن في:

root@kitploit:~
/home/user/CVE-2024-3094-backdoor-env-container/env_fs/tmp/

أي إذا كان الأمر echo pwned > /tmp/result، فسيتم العثور على الملف في:

root@kitploit:~
/home/user/CVE-2024-3094-backdoor-env-container/env_fs/tmp/result

لتحديد موقع أي ملف ناتج عن الاستغلال:

root@kitploit:~
find /home/user/CVE-2024-3094-backdoor-env-container/env_fs/tmp/ -type f

ملاحظة حول فشل المصافحة: EOF

الرسالة ssh: handshake failed: EOF هي السلوك المتوقع والصحيح. يقوم الباب الخلفي بتنفيذ الأمر ويغلق الاتصال دون إنشاء جلسة SSH. لا تشير إلى فشل.


هام

يستخدم هذا المختبر زوج مفاتيح تشفير مخصص (seed=0). يقبل liblzma.so المُصحح فقط الحمولات الموقعة بالمفتاح الخاص المقابل، وهو المستخدم بواسطة xzbot المُجمّع في هذه البيئة. أي عميل آخر سيتلقى EOF دون تنفيذ.


المراجع

  • الإفصاح الأصلي من Openwall
  • amlweems/xzbot
  • MagpieRYL/CVE-2024-3094-backdoor-env-container
  • شرح مختبرات أمن Datadog
  • ويكيبيديا — الباب الخلفي لـ XZ Utils

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

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

تنزيل الأداة