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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2024-56426 — CVE-2024-56426 Exynos9830 Bootrom एक्सप्लॉइट - SM-G985F | Kitploit
उपकरण/GitHubGitHub/xcracker000/cve-2024-56426
एंड्रॉइड सुरक्षाएम्बेडेड सिस्टम सुरक्षाशोषणरिवर्स इंजीनियरिंगहार्डवेयर हैकिंगमोबाइल सुरक्षाहार्डवेयर सुरक्षापेलोड डेवलपमेंटफर्मवेयर विश्लेषणबाइनरी शोषण
GitHubxcracker000/cve-2024-56426
41271 महीना पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

CVE-2024-56426

CVE-2024-56426 Exynos9830 Bootrom एक्सप्लॉइट - SM-G985F

रिपॉजिटरी देखें

SM-G985F / Exynos9830 बूटरोम एक्सप्लॉइट

[!CAUTION] मौजूदा कुंजी बंडल और जनरेट की गई फ़ाइलें फ़्यूज़िंग-सक्षम हैं। एक बार डिवाइस फ़्यूज़ हो जाने पर, eFuse परिवर्तन अपरिवर्तनीय है और डिवाइस को फ़्यूज़ की गई कुंजी से मेल खाने वाले बूट इमेज और कुंजी सामग्री का उपयोग जारी रखना चाहिए। फ़्यूज़िंग व्यवहार के कारण इन फ़ाइलों या फ़्लो का उपयोग आपके अपने जोखिम पर है; सभी परिणामों की ज़िम्मेदारी उन्हें चलाने वाले उपयोगकर्ता की रहती है। eFuse फ़ाइल, निजी कुंजियाँ, हस्ताक्षरित FWBL1, LK / sboot.bin इमेज और लक्षित डिवाइस की पुष्टि करें, इससे पहले कि कोई फ़्यूज़िंग फ़्लो चलाया जाए।

सामग्री

  • रिपॉज़िटरी लेआउट
  • आवश्यकताएँ
  • इमेज तैयारी
  • पेलोड निर्माण
  • हस्ताक्षरित SBoot इमेज निर्माण
  • एक्सप्लॉइट मोड
  • Exynos 9830 बूट श्रृंखला
  • Exynos 9830 इमेज लेआउट
  • लोड पते
  • बूट स्रोत ID
  • /mem पेलोड डंप करें
  • अपस्ट्रीम श्रेय
  • क्रेडिट

रिपॉज़िटरी लेआउट

पथउद्देश्य
bootLoaderFiles/बूटलोडर बाइनरी, विभाजित बूटलोडर भाग, मूल इमेज, डिक्रिप्टेड इमेज और डंप आर्टिफ़ैक्ट।
bootromNotes/बूट ROM नोट्स, फ़्लोचार्ट और USB कॉन्टेक्स्ट ऑफ़सेट।
exploit/Python टूलिंग, एक्सप्लॉइट रनर, स्प्लिट/मर्ज स्क्रिप्ट, पेलोड निर्माण सहायक और SoC डेटा।
exploit/extra/images/एक्सप्लॉइट फ़्लो द्वारा उपयोग की जाने वाली कार्यशील बूटलोडर इमेज।
exploit/extra/payloads/external/payloads/ से कॉपी की गई निर्मित पेलोड बाइनरी।
external/पेलोड स्रोत, निर्माण Makefile, डीकंपाइल नोट्स, साझा कुंजी सामग्री और सहायक उपकरण।
external/keys/exynos9830_crecker/हस्ताक्षरित-लोडर फ़्लो द्वारा उपयोग किया जाने वाला साझा Exynos9830 / Exynos990 कस्टम-कुंजी बंडल।
exynos990reverseEng/Exynos 990 रिवर्स इंजीनियरिंग प्रोजेक्ट फ़ाइलें।

आवश्यकताएँ

Linux टूलचेन

sudo apt-get update
sudo apt-get install -y gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu

macOS टूलचेन

brew tap messense/macos-cross-toolchains
brew install aarch64-unknown-linux-gnu

Python निर्भरताएँ

python3 -m pip install -r requirements.txt

requirements.txt में coloredlogs, cryptography, hexdump, libusb, pyusb और pycryptodome शामिल हैं।

Windows USB ड्राइवर

Windows पर, BootROM USB डिवाइस 04e8:1234 को PyUSB द्वारा खोले जाने से पहले WinUSB/libusb-संगत ड्राइवर का उपयोग करना चाहिए। exploit/windows/README.md देखें।

रिपॉज़िटरी में exploit/windows/Exynos_USB_Device.inf पर एक WinUSB ड्राइवर पैकेज शामिल है, जिसके साथ उसी निर्देशिका में मेल खाता कैटलॉग और प्रमाणपत्र आयात फ़ाइल भी है।

इमेज तैयारी

sboot.bin विभाजित करें

python3 exploit/split.py bootLoaderFiles/originalSboot_K/sboot.bin -o exploit/extra/images

स्प्लिट स्क्रिप्ट इमेज भागों और एक split_manifest.json फ़ाइल को आउटपुट निर्देशिका में लिखती है।

LK कस्टम कुंजी पैच करें

LK इमेज को कस्टम-कुंजी फ़्लो के लिए ROM सिक्योर बूट कुंजी 2 कमांड ID का उपयोग करना चाहिए:

कुंजी 1 कमांडमानकुंजी 2 कमांडमान
CMD_W_ROM_SEC_BOOT_KEY10x001CMD_W_ROM_SEC_BOOT_KEY20x016
CMD_W_USE_ROM_SEC_BOOT_KEY10x002CMD_W_USE_ROM_SEC_BOOT_KEY20x017
CMD_C_ROM_SEC_BOOT_KEY10x100CMD_C_ROM_SEC_BOOT_KEY20x114
CMD_R_USE_ROM_SEC_BOOT_KEY10x101CMD_R_USE_ROM_SEC_BOOT_KEY20x115

Ghidra प्रोजेक्ट के अंदर LK पैच TSV लागू करते समय, सहायक को Ghidra हेडलेस के माध्यम से इस प्रकार कॉल किया गया था:

GHIDRA=/path/to/ghidra_12.0.4_PUBLIC
REPO=$(pwd)
"$GHIDRA/support/analyzeHeadless" "$REPO/exynos990reverseEng" exynos990 \
  -process lk.bin \
  -noanalysis \
  -scriptPath "$REPO/external/ghidra" \
  -postScript ApplyLkPatches.java "$REPO/external/ghidra/lk_985_selected_patches.tsv"

स्टॉक कुंजी को प्रतिस्थापित करते हुए, 32-बाइट eFuse कुंजी को ऑफ़सेट 0x205008 पर lk.bin में एम्बेड करें:

dd if=external/keys/exynos9830_crecker/crecker.efuse of=exploit/extra/images/lk.bin bs=1 seek=$((0x205008)) count=32 conv=notrunc
xxd -g1 -s $((0x205008)) -l 32 exploit/extra/images/lk.bin

विभाजित भागों को मर्ज करें

python3 exploit/merge.py exploit/extra/images Exynos9830

मर्ज स्क्रिप्ट वर्तमान कार्यशील निर्देशिका में sboot.bin लिखती है।

पेलोड निर्माण

external/payloads/ के अंतर्गत पेलोड प्रोजेक्ट बनाएं और परिणामी बाइनरी को exploit/extra/payloads/ में कॉपी करें:

./exploit/build_payloads.sh
पेलोडआउटपुट पथउद्देश्य
mem.binexploit/extra/payloads/mem.binBoot ROM मेमोरी डंप पेलोड।
loader.binexploit/extra/payloads/loader.bin--ufs द्वारा उपयोग किया जाने वाला UFS पथ पेलोड।
Exynos990_boot_custom_key.binexploit/extra/payloads/Exynos990_boot_custom_key.bin--signed द्वारा उपयोग किया जाने वाला कस्टम-कुंजी हस्ताक्षरित-लोडर पेलोड।

UFS लोडर और कस्टम-कुंजी पेलोड निर्माण समय पर एक 32-बाइट efuse फ़ाइल एम्बेड करते हैं। डिफ़ॉल्ट रूप से Makefile external/keys/exynos9830_crecker/crecker.efuse पढ़ता है; ज़रूरत पड़ने पर इसे CUSTOM_KEY_EFUSE=/path/to/crecker.efuse से ओवरराइड करें।

हस्ताक्षरित SBoot इमेज निर्माण

exploit/exploit.py द्वारा चलाया जाने वाला प्रीफ़्लाइट चरण प्रत्येक हस्ताक्षरित रन से पहले exploit/extra/images/ में मौजूद SBoot इमेज सेट को उसी स्थान पर पुनः-हस्ताक्षरित करता है। कोई अलग हस्ताक्षरित आउटपुट नहीं रखा जाता। हस्ताक्षर चरण जानबूझकर ट्रैक किए गए साझा कुंजी बंडल external/keys/exynos9830_crecker/ का उपयोग करता है।

संपूर्ण इमेज सेट के लिए समकक्ष रिपॉज़िटरी-रूट कमांड:

python3 external/tools/sign_sboot_images.py \
  --images-dir exploit/extra/images \
  --keys-dir external/keys/exynos9830_crecker

यह इन पर हस्ताक्षर करता है:

इमेजउपयोग की गई कुंजी सामग्रीरोलबैक रिवीज़न
fwbl1.imgBL1 निजी कुंजी + Stage2 TEE/REE सार्वजनिक कुंजियाँ23
epbl.imgStage2 TEE निजी कुंजी23
bl2.imgStage2 REE निजी कुंजी23
lk.binStage2 REE निजी कुंजी23
el3_mon.imgStage2 TEE निजी कुंजी23
ldfw.imgStage2 TEE निजी कुंजी, आंतरिक + बाहरी23
tzsw.imgStage2 TEE निजी कुंजी, आंतरिक + बाहरी23

बैच साइनर प्रत्येक इमेज के लिए दशमलव 23 पास करता है और किसी मौजूदा फ़ुटर में पहले से मौजूद पुराने रोलबैक मान का पुनः उपयोग नहीं करता।

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