Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
bitpixie — اختراق تشفير BitLocker بناءً على ثغرة CVE-2023-21563 | Kitploit
أدوات/GitHubGitHub/lr2006-robot/bitpixie
تصعيد الامتيازاتأدوات التشفير/فك التشفيرتحليل الثغرات الأمنيةالاستغلالما بعد الاستغلالأمن الأجهزةالتعلم والتعليممختبرات وتدريب عملي
GitHublr2006-robot/bitpixie

bitpixie

اختراق تشفير BitLocker بناءً على ثغرة CVE-2023-21563

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

الأكثر شعبية

عرض الكل →

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

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

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

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

bitpixie

انقر هنا للمقالة الكاملة

المراجع الرئيسية

  • مقالة syss
  • مستودع Syss على GitHub

تنفيذ اختراق Bitpixie لـ BitLocker

إعادة الإنتاج على آلة افتراضية. يستخدم الجهاز المحلي (المهاجم) نظام Ubuntu 22.04.5 LTS، والجهاز الضحية هما Windows 10 21H2 19041.1 و Windows 11 21H2 22000.318، وكلاهما ممكّن للتشفير بـ BitLocker. يتم استخدام QEMU كمدير للآلات الافتراضية، و virt-manager للإدارة. هنا أستخدم الآلة الافتراضية Windows 11 للعمل.

ملفات إعادة الإنتاج الخاصة بي مأخوذة من مستودع Syss على GitHub، وقد قمت بتعديل إصدارات الأدوات ومعالجة بعض الحالات الاستثنائية بناءً عليها. يمكن تنزيلها واستخدامها مباشرة، أو تعديلها حسب الحاجة. ملفات صور الآلة الافتراضية مأخوذة من UUP Dump، الذي يوفر تحميل إصدارات Windows المختلفة. بعد التحميل، يتم تنفيذ ملف cmd أو sh للحصول على ملف ISO.

إعداد بيئة الآلة الافتراضية الضحية

لن يتم شرح تثبيت واستخدام QEMU و virt-manager هنا. ومع ذلك، بالنسبة للمستخدمين الجدد، في virt-manager، قم بتفعيل تحرير XML عبر "Edit -> Preferences -> General -> Enable XML editing" لتمكين تحرير ملفات تكوين XML للآلة الافتراضية.

عند إنشاء الآلة الافتراضية، اختر "Local install media (ISO image or CDROM)" وحدد ملف ISO الخاص بنظام Windows 11 الذي تم تنزيله. قم بتخصيص الموارد المناسبة (CPU، الذاكرة، مساحة القرص، إلخ)، وتأكد من اختيار "Customize configuration before install" قبل التثبيت، حتى نتمكن من تحرير ملف التكوين قبل التثبيت. هنا، قد يكون هناك مشكلة في التعرف على النظام تلقائيًا، في هذه الحالة يمكننا تحديد "Microsoft Windows 10/11" يدويًا.

الآن نبدأ في التهيئة. الشيء الأكثر أهمية (لأنه لا يمكن تغييره لاحقًا، بينما يمكن تعديل البقية بعد الإنشاء): في علامة التبويب Overview، اختر Firmware كـ "UEFI x86_64: /usr/share/OVMF/OVMF_CODE_4M.ms.fd". إذا لم يتم تحديد هذا، فاحذف الآلة الافتراضية وأعد إنشائها، فهذا ليس بالأمر الصعب. تكوين نظرة عامة للآلة الافتراضية

ثم انتقل إلى علامة التبويب "Boot Options"، وتأكد من تحديد "SATA CDROM 1"، وإلا فلن نتمكن من تثبيت النظام. يمكنك نقل "SATA CDROM 1" إلى أعلى القائمة لجعل الإقلاع أسهل. في هذه المرحلة، يمكنك إنشاء الآلة الافتراضية مباشرة. بعد تثبيت النظام، سنقوم بإجراء التعديلات المتبقية على التهيئة.

هل ترى "Press any key to boot from CD or DVD..."؟ اضغط أي مفتاح للدخول إلى واجهة التثبيت، واتبع التعليمات لإكمال التثبيت. إذا وصلت إلى الصفحة التالية عن طريق الخطأ، فلا داعي للذعر. اختر "Boot Manager" ثم حدد "UEFI: QEMU DVD-ROM" للعودة إلى الواجهة الأصلية واضغط أي مفتاح للإقلاع. Boot Manager

الآن قم بتثبيت النظام. حدد "ليس لدي مفتاح منتج" وقم بتثبيت الإصدار Pro. بعد ذلك، ستكون هناك خطوات تسجيل حساب وما شابه ذلك. يُنصح باختيار "الإعداد دون اتصال" لتجنب المتاعب. إذا لم يكن هذا الخيار متاحًا، استخدم Shift + F10 لفتح موجه الأوامر، واكتب OOBE\BYPASSNRO لتفعيل خيار إنشاء حساب دون اتصال.

بعد الدخول العادي، يمكنك كتابة msinfo32 في المحطة الطرفية لعرض معلومات النظام (تحقق مما إذا كان الجهاز المادي يستخدم UEFI)، ثم قم بإيقاف التشغيل وتعديل التهيئة:

  1. أضف "TPM 2.0" في "Add Hardware". إذا لم يكن TPM موجودًا، أضف TPM من "Add Hardware".
  2. في "SATA CDROM 1"، استبدل ملف ISO بملف virtio image الذي أعددناه مسبقًا.
  3. في "Boot Options"، قم بتحديد "NIC" أيضًا.
  4. في "NIC"، غيّر "Device model" إلى "virtio"، وأضف <rom enabled="no"/> في XML لتمكين الإقلاع عبر الشبكة. فيما يلي مثال:
<interface type="network">
  <mac address="52:54:00:2f:53:4e"/>
  <source network="default"/>
  <model type="virtio"/>
  <boot order="2"/>
  <rom enabled="no"/>
  <address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0"/>
</interface>

استخدام تكوين شبكة virtio يستفيد من خاصية "شبه الافتراضية" للأجهزة الشبكية، والتي تتصل مباشرة بالمضيف. في نفس الوقت، إيقاف تشغيل ROM الإقلاع الشبكي يسمح للبرنامج الثابت UEFI بالتواصل مع بطاقة شبكة virtio عبر بروتوكول PXE المدمج، مما يمنع التداخل غير الضروري أثناء عملية الإقلاع، ويضمن أننا نتمكن من الدخول إلى النظام بسلاسة وإجراء التهيئة والاختبارات اللاحقة.

ادخل إلى الآلة الافتراضية، وقم بتثبيت برنامج تشغيل virtio من محرك الأقراص المضغوطة. سيقوم النظام تلقائيًا بإعداد الإعدادات. يمكنك اختبار ما إذا كانت الشبكة تعمل بشكل طبيعي. ثم قم بتشفير BitLocker. يمكنك إنشاء ملف flag على سطح المكتب للتحقق لاحقًا.

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

اكتملت تهيئة الجهاز الضحية. ثم قم بإيقاف التشغيل مباشرة. الآن يمكننا متابعة الخطوات المحددة في مبدأ استغلال الثغرة لتنفيذ الاستغلال.

تكوين الجهاز المهاجم وهجوم Bitpixie

نقدم هنا مخططًا مرجعيًا لعملية الهجوم الكاملة. يمكنك إلقاء نظرة عامة على العملية أولاً، وسنقوم بتنفيذها خطوة بخطوة لاحقًا: مخطط الهجوم

يجب تثبيت الحزم التالية على الجهاز المحلي (المهاجم):

  • dnsmasq
  • impacket-smbserver
  • hivexregedit

على Ubuntu أو Debian، يمكن تثبيتها باستخدام الأمر التالي:

sudo apt install dnsmasq libwin-hivex-perl python3-impacket

في الملفات المقدمة في المشروع، قم بتنفيذ ملف build.sh لإنشاء bitpixie-initramfs. إذا كنت تريد تعديله ليتناسب مع البيئة المحلية، يمكنك تعديل build.sh لتكوين الأدوات وإصدارات الملفات التي تريدها، ثم قم بتنفيذه مرة أخرى لإنشاء bitpixie-initramfs.

ثم، في المحطة الطرفية، اكتب ifconfig لاستعلام البوابة الافتراضية للجهاز المحلي (المهاجم). أدناه مثال لجهازي:

virbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.123.1  netmask 255.255.255.0  broadcast 192.168.123.255
        ether 52:54:00:23:11:39  txqueuelen 1000  (Ethernet)
        RX packets 46749  bytes 4384179 (4.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 67170  bytes 414459630 (414.4 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

استخدم الأوامر التالية لبدء خادم TFTP المستخدم في عملية الإقلاع PXE وخادم SMB المستخدم لنقل البرنامج النصي لتعديل ملف BCD. أدخل ما استعلمنا عنه للتو، وهو virbr0 في حالتي.

# Start the TFTP and the DHCP server
./start-server.sh pxe <interface>
# Start the SMB server for the transfer of the BCD file
./start-server.sh smb <interface>

المشكلة الرئيسية هي أن أمر bcdedit لا يمكن تشغيله إلا كمسؤول محلي. ومع ذلك، نظرًا لأن ملف BCD موجود على قسم EFI غير المشفر لمحرك الأقراص، فهناك عدة طرق لاستخراجه. إحدى الطرق هي إزالة القرص الصلب فعليًا واستخراج ملف BCD على نظام آخر. لكن الطريقة الأسهل والأقل تدخلاً هي الإقلاع إلى خيارات بدء التشغيل المتقدمة. في معظم الأنظمة، يمكن القيام بذلك عبر Shift + إعادة التشغيل. حتى على شاشة تسجيل الدخول، تعمل هذه الطريقة. الآن يمكننا الوصول إلى موجه الأوامر تحت "استكشاف الأخطاء وإصلاحها -> الخيارات المتقدمة -> موجه الأوامر". خلال هذه العملية، من المحتمل ظهور شاشة استرداد BitLocker، ويمكن تخطيها باستخدام زر "تخطي محرك الأقراص هذا".

الآن، في المحطة الطرفية، اكتب أولاً ipconfig للتحقق من حالة الشبكة. إذا ظهر عنوان IP كـ 10.13.37.xxx، يمكنك تخطي الخطوات التالية. إذا لم يظهر، فستحتاج إلى تكوين الشبكة يدويًا. أولاً، تحقق من المسار الصحيح، وحدد محرك الأقراص وإصدار الآلة الافتراضية:

dir D:\NetKVM\w11\amd64
dir E:\NetKVM\w11\amd64
تنزيل الأداة