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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-20700 — CVE-2026-20700 के लिए PoC जो arm64e पर PAC साइनिंग ओरेकल के रूप में dyld के पेज-इन लिंकिंग को प्रदर्शित करता है। इसमें हाथ से तैयार किए गए Mach-O जनरेटर, चेन्ड-फिक्सअप विश्लेषण उपकरण, और iOS 18.5 के लिए निर्धारित क्रैश/एक्सप्लॉइट प्रीसेट शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/r3n3r0/cve-2026-20700
भेद्यता विश्लेषणशोषणरिवर्स इंजीनियरिंगशेलकोडCTFहार्डवेयर सुरक्षापेपर और शोधलर्निंग और शिक्षापेलोड डेवलपमेंटबाइनरी शोषणलैब और अभ्यास
GitHub
1032 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
r3n3r0/cve-2026-20700

CVE-2026-20700

CVE-2026-20700 के लिए PoC जो arm64e पर PAC साइनिंग ओरेकल के रूप में dyld के पेज-इन लिंकिंग को प्रदर्शित करता है। इसमें हाथ से तैयार किए गए Mach-O जनरेटर, चेन्ड-फिक्सअप विश्लेषण उपकरण, और iOS 18.5 के लिए निर्धारित क्रैश/एक्सप्लॉइट प्रीसेट शामिल हैं।

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

dyld-signing-oracle-poc

dyld के पेज-इन लिंकिंग और चेन्ड फिक्सअप मशीनरी का एक नियंत्रित अन्वेषण, जो CVE-2026-20700 के संदर्भ में PAC साइनिंग ओरेकल के रूप में कार्य करता है।

arm64e पर, हर फंक्शन पॉइंटर हार्डवेयर-प्रमाणित होता है। यहाँ का उद्देश्य यह दिखाना है कि dyld को स्वयं — एक हस्त-निर्मित Mach-O के माध्यम से — निर्देशित किया जा सकता है ताकि वह अपने सामान्य फिक्सअप तंत्र का उपयोग करके आक्रमणकारी-चयनित स्लॉट में PAC-वैध पॉइंटर्स उत्पन्न कर सके।

परीक्षण: iPhone 14 (iOS 18.5, arm64e) पर।


यह क्या प्रदर्शित करता है

  1. नियंत्रित चेन्ड-फिक्सअप बाइंड — dyld एक हस्त-निर्मित Mach-O dylib स्वीकार करता है और अपने __DATA में चयनित स्लॉट में PAC-वैध फंक्शन पॉइंटर्स लिखता है।
  2. fixupPage64 में नियतात्मक क्रैश — दोषपूर्ण page_start/next मान dyld को पेज सीमा से बाहर ले जाते हैं, जो ब्रांच की पहुँच को साबित करता है।
  3. डिस्पैच इवेंट लूप निष्पादन — dyld द्वारा लिखा गया PAC-वैध पॉइंटर एक dispatch_source_t टाइमर हैंडलर के रूप में पंजीकृत होता है और इवेंट लूप के माध्यम से स्वाभाविक रूप से कॉल किया जाता है, बिना PoC कोड से सीधे आमंत्रण के।

रिपॉजिटरी संरचना

root@kitploit:~
dyld-signing-oracle-poc/
├── Makefile                        ← पूरी पाइपलाइन का आयोजन करता है
├── src/
│   └── launcher.c                  ← iOS लॉन्चर (2 थ्रेड + डिस्पैच चेन-क्लोज़)
├── generators/
│   ├── gen_exports.py              ← exports.c उत्पन्न करता है (N डमी सिंबल)
│   ├── gen_client.py               ← client.c उत्पन्न करता है (N इम्पोर्ट, dyld गेट स्ट्रेस)
│   └── gen_malformed_dylib.py      ← libmalformed.dylib उत्पन्न करता है (हस्त-निर्मित Mach-O)
├── tools/
│   ├── scan_pointers.py            ← Mach-O पॉइंटर सेक्शन को W/R के रूप में वर्गीकृत करता है
│   └── inspect_fixups.py           ← LC_DYLD_CHAINED_FIXUPS हेडर को पार्स करता है
└── blog/
    ├── it/
    │   └── dyld-signing-oracle.md  ← पूर्ण विवरण इतालवी में
    └── en/
        └── dyld-signing-oracle.md  ← पूर्ण विवरण अंग्रेज़ी में

बिल्ड आउटपुट (कमिट नहीं किए गए)


आवश्यकताएँ

  • macOS जिसमें Xcode कमांड-लाइन टूल्स हों
  • iOS SDK (xcrun --sdk iphoneos --show-sdk-path)
  • Python 3
  • डिवाइस परीक्षण के लिए: Sideloadly या एक डेवलपर प्रमाणपत्र + प्रोविज़निंग प्रोफ़ाइल

बिल्ड

root@kitploit:~
# डिफ़ॉल्ट पूर्ण बिल्ड (arm64, 99k सिंबल)
make

# पुनरावृत्ति के लिए तेज़ बिल्ड
make SYMBOLS=10000

प्रीसेट

root@kitploit:~
# fixupPage64 में नियतात्मक क्रैश (ब्रांच पहुँच प्रमाण)
make stress

# स्थिर अंतर-इमेज राइट-व्हाट-व्हेयर
make exploit

# dyld PAC-वैध पॉइंटर लिखता है → dispatch इसे स्वाभाविक रूप से कॉल करता है
make chain_close

विश्लेषण उपकरण

root@kitploit:~
# उत्पन्न चेन्ड-फिक्सअप ब्लॉब लेआउट सत्यापित करें
make verify

# libmalformed.dylib के LC_DYLD_CHAINED_FIXUPS हेडर को पार्स करें
make inspect

# संकलित बाइनरीज़ में पॉइंटर सेक्शन (GOT/गैर-आलसी) स्कैन करें
make scan

समायोज्य चर


डिवाइस पर स्थापित करना

root@kitploit:~
# एड-हॉक हस्ताक्षरित (Sideloadly)
make chain_close
# PoCApp.ipa को Sideloadly में खींचें

# वास्तविक प्रमाणपत्र
make resign IDENTITY="iPhone Developer: ..." PROFILE=embedded.mobileprovision

# लॉग मॉनिटर करें
idevicesyslog | grep "POC"

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

PoCApp के अंदर रनटाइम लोड क्रम:

  1. libexports.dylib — पहले लोड किया गया (RTLD_GLOBAL), किसी भी बाद के dlopen को write_target_value और attacker_hook प्रदान करता है।
  2. libclient.dylib — थ्रेड B (128KB स्टैक) द्वारा लोड किया गया; ~99k बाइंड लक्ष्य dyld पेज-इन लिंकिंग गेट पर दबाव डालते हैं।
  3. libmalformed.dylib — थ्रेड A द्वारा लोड किया गया; हस्त-निर्मित चेन्ड-फिक्सअप श्रृंखला dyld को _write_target_value (और वैकल्पिक रूप से _attacker_hook) को __DATA+0x10 / +0x20 में हल करने और लिखने के लिए बाध्य करती है।
  4. थ्रेड A लिखे गए स्लॉट को पढ़ता है, कैनरी को सत्यापित करता है, और dyld द्वारा लिखे गए फंक्शन पॉइंटर को कॉल करता है।
  5. chain_close मोड में, main __DATA+0x20 को टाइमर हैंडलर के रूप में पंजीकृत करता है — इवेंट लूप इसे 1 सेकंड बाद बिना PoC कोड से सीधे आमंत्रण के कॉल करता है।

ब्लॉग

पूर्ण तकनीकी विवरण इतालवी और अंग्रेज़ी में। इसमें शामिल है: PAC हार्डवेयर यांत्रिकी, पॉइंटर निर्माता के रूप में dyld, शून्य से चेन्ड-फिक्सअप एन्कोडिंग, पेज-इन लिंकिंग गेट यांत्रिकी, Mach-O इंजीनियरिंग खामियाँ (sizeofcmds, सेक्शन गणना, स्ट्राइड), कैनरी-सत्यापित डेटा लेआउट, 99k सिंबल गेट, पहुँच का क्रैश प्रमाण, स्थिर अंतर-इमेज प्रिमिटिव, arm64e साइनिंग ओरेकल अवधारणा, डिस्पैच टाइमर चेन-क्लोज़।

  • 🇮🇹 इतालवी — blog/it/dyld-signing-oracle.md
  • 🇬🇧 अंग्रेज़ी — blog/en/dyld-signing-oracle.md
टूल डाउनलोड करें
फ़ाइलद्वारा उत्पन्न
exports.cgenerators/gen_exports.py + Makefile sentinel symbols
client.cgenerators/gen_client.py
libmalformed.dylibgenerators/gen_malformed_dylib.py
libexports.dylibclang from exports.c
libclient.dylibclang from client.c
PoCAppclang from src/launcher.c
PoCApp.ipaMakefile package step
चरडिफ़ॉल्टविवरण
SYMBOLS99000libclient में बाइंड लक्ष्य गणना (पूर्व-26.3 गेट के लिए < 100k, 26.3+ के लिए < 64k)
STACK_KB128वर्कर थ्रेड स्टैक आकार KB में
BURN_KB0dlopen से पहले उपभोग करने के लिए स्टैक KB (0 = स्वचालित)
MARGIN_KB24स्वचालित-बर्न मार्जिन
ARM64E0DYLD_CHAINED_PTR_ARM64E_USERLAND24 प्रारूप का उपयोग करें
MALFORM_PAGEIN0दोषपूर्ण पेज-इन चेन सक्षम करें
MALFORM_TARGET_OFFSET—__DATA के अंदर लक्ष्य ऑफ़सेट (जैसे 0x10)
CHAIN_CLOSE0दूसरा स्लॉट → _attacker_hook, dispatch डेमो सक्षम करें
dispatch_source_t