Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
spd_flasher — CVE-2022-38694 हार्डन्ड एक्सप्लॉइट - Unisoc डिवाइसों के लिए RP2350 USB होस्ट ऑटो फ्लैशर | Kitploit
उपकरण/GitHubGitHub/leochen-coremind/spd_flasher
एम्बेडेड सिस्टम सुरक्षाशोषणरिवर्स इंजीनियरिंगहार्डवेयर हैकिंगमोबाइल सुरक्षालर्निंग और शिक्षा
GitHubleochen-coremind/spd_flasher

spd_flasher

CVE-2022-38694 हार्डन्ड एक्सप्लॉइट - Unisoc डिवाइसों के लिए RP2350 USB होस्ट ऑटो फ्लैशर

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

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

सभी देखें →

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

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

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

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

CVE-2022-38694 हार्डन्ड एक्सप्लॉइट — RP2350 USB होस्ट ऑटो फ्लैशर

中文版 README

ट्यूटोरियल

  • UDX710 बूट चेन रिवर्स इंजीनियरिंग और RP2350 हार्डन्ड बूट ट्यूटोरियल

CVE-2022-38694 Unisoc BootROM भेद्यता का दोहन Raspberry Pi RP2350 USB होस्ट के माध्यम से किया गया है, ताकि बूट के समय स्वचालित रूप से SPL लोडर भेजा जा सके और मनमाना u-boot प्रारंभ किया जा सके।

एक्सप्लॉइट चेन — जिसके लिए मूल रूप से एक PC + spd_dump की आवश्यकता थी — अब RP2350 माइक्रोकंट्रोलर पर स्थानांतरित हो गई है। डिवाइस प्लग इन करें, स्वचालित रूप से फ्लैश करें, निरंतर फ्लैशिंग का समर्थन करता है।

यह कैसे काम करता है

CVE-2022-38694 Unisoc BootROM में एक बार की सिग्नेचर सत्यापन बायपास है। एक विशिष्ट मेमोरी पते पर exec स्टब भेजने से, रिटर्न एड्रेस ओवरराइट हो जाता है, सिग्नेचर जाँचें बायपास हो जाती हैं और BootROM को मनमाना FDL1 स्वीकार करने और निष्पादित करने की अनुमति मिलती है।

मुख्य बिंदु: FDL1 और SPL लोडर एक ही लोड एड्रेस (0x28007000) साझा करते हैं, इसलिए FDL1 के स्थान पर एक पैच्ड SPL लोडर भेजा जा सकता है, जिससे मनमाना u-boot बूट होता है।

हार्डनिंग प्रक्रिया (दो चरण)

चरण 1: प्रारंभिक अनलॉक (PC + spd_dump)

पहली बार सेटअप के लिए spd_dump वाले PC की आवश्यकता होती है:

┌──────────────────────────────────────────────────────────────────────────┐
│                    Stage 1: PC-side Initial Unlock                       │
├──────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Step 1: Exploit CVE-2022-38694 to boot patched SPL                     │
│  ┌────────────┐    ┌────────────┐    ┌─────────────────┐                │
│  │ Exec Stub  │───►│ spl-unlock │───►│ Device boots    │                │
│  │ @0x3F28    │    │ @0x28007000│    │ into DL mode    │                │
│  └────────────┘    └────────────┘    └────────┬────────┘                │
│                                               │                          │
│  Step 2: Send patched FDL2 via spd_dump, flash u-boot without           │
│          secure boot, erase splloader                                    │
│                                               │                          │
│  ┌─────────────────┐    ┌──────────────────────▼───────────┐            │
│  │ Send fdl2-dl    │───►│ Write u-boot (secure boot removed│            │
│  │ (patched FDL2)  │    │ + Erase splloader partition)     │            │
│  └─────────────────┘    └──────────────────────────────────┘            │
│                                                                          │
│  ★ After erasing splloader, device enters BootROM DL mode on every boot │
└──────────────────────────────────────────────────────────────────────────┘

चरण:

  1. CVE-2022-38694 का उपयोग करके spl-unlock.bin भेजें और डिवाइस को बूट करें
  2. पैच्ड fdl2-dl.bin भेजें (सिक्योर बूट सत्यापन हटाए गए FDL2)
  3. uboot पार्टीशन में सिक्योर बूट रहित u-boot लिखने के लिए FDL2 का उपयोग करें
  4. splloader पार्टीशन मिटाएँ → डिवाइस सामान्य बूट खो देता है, हर पावर-ऑन पर BootROM DL मोड में प्रवेश करता है

चरण 2: हार्डन्ड संचालन (RP2350 ऑटो फ्लैश)

splloader मिटाए जाने के बाद, डिवाइस हर पावर-ऑन पर BootROM डाउनलोड मोड में प्रवेश करता है। RP2350 USB होस्ट स्वचालित रूप से एक्सप्लॉइट चेन को संभालता है:

┌──────────────────────────────────────────────────────────────────────────┐
│                   Stage 2: RP2350 Automated Boot                        │
├──────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Power on → no splloader → BootROM download mode                        │
│                                                                          │
│  ┌─────────┐    ┌────────────┐    ┌─────────────┐    ┌──────────────┐  │
│  │ BootROM │───►│ Exec Stub  │───►│ spl-unlock  │───►│ U-Boot       │  │
│  │ Handshk │    │ Bypass sig │    │ as FDL1     │    │ (no secboot) │  │
│  └─────────┘    └────────────┘    └─────────────┘    │ Boot OK ✓    │  │
│                                                       └──────────────┘  │
│                                                                          │
│  ★ Fully automatic. Unplug → auto-reset → ready for next device.       │
└──────────────────────────────────────────────────────────────────────────┘

splloader क्यों मिटाएँ?

  • सामान्य बूट चेन: BootROM → SPL Loader → u-boot → System
  • SPL लोडर u-boot के सिग्नेचर की जाँच करता है — यह संशोधित u-boot को अस्वीकार कर देगा
  • splloader मिटाए जाने पर, BootROM को SPL नहीं मिल पाता → यह डाउनलोड मोड में चला जाता है
  • CVE-2022-38694 spl-unlock भेजता है (सिग्नेचर जाँच को स्किप करता है) → सिक्योर बूट के बिना सफलतापूर्वक u-boot बूट करता है

एक्सप्लॉइट चेन (RP2350 निष्पादन)

┌─────────────┐     ┌──────────────────┐     ┌───────────────────┐     ┌──────────────┐
│  BootROM    │     │  Exec Stub       │     │  SPL Loader       │     │  U-Boot      │
│  Handshake  │ ──► │  @0x3F28 (136B)  │ ──► │  @0x28007000      │ ──► │  Boot OK     │
│  CHECK_BAUD │     │  Bypass sig chk  │     │  Replaces FDL1    │     │              │
└─────────────┘     └──────────────────┘     └───────────────────┘     └──────────────┘
  1. BootROM हैंडशेक — CHECK_BAUD + CONNECT, BSL संचार स्थापित करें
  2. Exec स्टब भेजें — 0x3F28 पर 136 बाइट्स लोड करें, रिटर्न एड्रेस ओवरराइट करने के लिए CVE-2022-38694 का दोहन करें, सिग्नेचर सत्यापन बायपास करें
  3. SPL लोडर भेजें — FDL1 और SPL लोडर लोड एड्रेस 0x28007000 साझा करते हैं, सिग्नेचर पहले ही बायपास हो चुका है
  4. U-Boot बूट करें — spl-unlock सिग्नेचर जाँचों को स्किप करता है, सिक्योर बूट रहित u-boot बूट करता है

पूर्वापेक्षाएँ: फर्मवेयर पैच करें

इस प्रोजेक्ट में सार्वभौमिक पैच्ड फर्मवेयर शामिल नहीं है। आपको अपने डिवाइस के फर्मवेयर को स्वयं पैच करना होगा।

पैच ट्यूटोरियल

TomKing062 की Wiki देखें:

  • 🇬🇧 patch_do_cboot — SPL (अंग्रेज़ी)
  • 🇨🇳 patch_do_cboot — SPL (中文)

पैच किए जाने वाले फर्मवेयर

फर्मवेयरपैचआउटपुटउद्देश्य
FDL2 (u-boot/lk)सिक्योर पार्टीशन राइट जाँचों को NOP करेंfdl2-dl.binचरण 1: पार्टीशन राइट के लिए spd_dump के माध्यम से भेजा जाता है
U-Bootसिक्योर बूट हटाने के लिए do_cboot() को पैच करेंसंशोधित ubootचरण 1: डिवाइस पर लिखा जाता है, स्टॉक uboot की जगह लेता है
SPL लोडरsigncheck() और रिज़ल्ट जाँचों को NOP करेंspl-unlock.binचरण 1 और 2: CVE-2022-38694 के माध्यम से भेजा जाता है

spl-unlock.bin को हेडर में बदलें

xxd -i spl-unlock.bin > fdl1_data.h

कोड संदर्भों से मेल खाने के लिए fdl1_data.h में ऐरे नाम और मैक्रोज़ अपडेट करें।

समर्थित प्लेटफ़ॉर्म

यह प्रोजेक्ट वर्तमान में UDX710 exec स्टब (custom_exec_3f28.bin) का उपयोग करता है।

अन्य चिप्स के लिए अनुकूलित करने हेतु, custom_exec_data.h में exec स्टब और लोड एड्रेस बदलें:

प्लेटफ़ॉर्मexec एड्रेससंदर्भ
UDX7100x3F28यह प्रोजेक्ट (डिफ़ॉल्ट)
UMS312 / UMS5120x3EE8exec_addr_v2
UMS92300x65017F08exec_addr_v2
SC9820E / SC9832E0x4F18 / 0x4EE8CVE-2022-38694

पूर्ण समर्थन सूची: SupportList

हार्डवेयर आवश्यकताएँ

टूल डाउनलोड करें