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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
ghostlock-oneplus — # GhostLock (CVE-2026-43499) लॉक्ड बूटलोडर वाले Android डिवाइसों के लिए कर्नेल एक्सप्लॉइट | Kitploit
उपकरण/GitHubGitHub/joinchang/ghostlock-oneplus
एंड्रॉइड सुरक्षाविशेषाधिकार वृद्धिशोषण फ्रेमवर्कभेद्यता विश्लेषणपेनिट्रेशन टेस्टिंगमोबाइल सुरक्षालर्निंग और शिक्षाबाइनरी शोषण
GitHubjoinchang/ghostlock-oneplus

ghostlock-oneplus

# GhostLock (CVE-2026-43499) लॉक्ड बूटलोडर वाले Android डिवाइसों के लिए कर्नेल एक्सप्लॉइट

रिपॉजिटरी देखें
235462311 दिन पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

GhostLock — लॉक्ड बूटलोडर जेलब्रेक

लॉक्ड बूटलोडर वाले Android डिवाइसों के लिए कर्नेल एक्सप्लॉइट। बूटलोडर अनलॉक किए बिना या बूट इमेज संशोधित किए बिना अस्थायी रूट + KernelSU इंस्टॉलेशन प्राप्त करता है। मल्टी-डिवाइस ऑफसेट टेबल के साथ कर्नेल संस्करण का रनटाइम स्वतः-पता लगाना।

GhostLock running on OnePlus Ace 6T with KernelSU (LKM, Jailbreak mode)

भेद्यता

CVE-2026-43499 — Futex PI (प्रायोरिटी इनहेरिटेंस) यूज़-आफ्टर-फ्री

Linux कर्नेल 5.7 ~ 7.1 को प्रभावित करता है। स्थिर 6.1.175, 6.6.140, 6.12.86 में ठीक किया गया। सितंबर 2026 तक अधिकांश Android डिवाइस पैच रहित हैं।

pselect6 syscall fd_set डेटा को कर्नेल स्टैक पर कॉपी करता है। जब futex PI वेटर तंत्र के साथ संयोजित किया जाता है, तो एक मुक्त स्टैक फ्रेम को rt_mutex_waiter संरचना के रूप में पुनः प्राप्त किया जा सकता है। PI चेन वॉक के दौरान rb-tree रीबैलेंस तब नियंत्रित मानों को मनमाने कर्नेल पतों पर लिखता है।

समर्थित डिवाइस

सत्यापित कार्यशील

ऑफसेट निकाले गए (डिवाइस परीक्षण लंबित)

संभव नहीं

pselect स्टैक ओवरले के लिए आवश्यक है कि मुक्त rt_mutex_waiter उपयोगकर्ता-नियंत्रित stack_fds क्षेत्र (words 0–14) के भीतर आए। यह कहाँ आता है यह कर्नेल संस्करण के बजाय कंपाइलर PGO/LTO प्रोफाइल द्वारा निर्धारित होता है। देखें स्टैक लेआउट।

6.1 संभाव्यता पर नोट: OPLUS 6.1 कर्नेल PGO द्वारा do_futex इनलाइन करने के कारण लगातार असंभव हैं। हालाँकि, कुछ गैर-OPLUS 6.1 कर्नेल (vivo) मानक कॉल चेन बनाए रखते हैं और संभव हैं (vivo T4, X Fold3 Pro)। संभाव्यता प्रति-डिवाइस जाँची जानी चाहिए।

एक्सप्लॉइट प्रवाह

दो रूट पथ, डिवाइस क्षमताओं के आधार पर स्वचालित रूप से चुने जाते हैं:

पथ A: UMH रूट (पसंदीदा, C ashmem डिवाइस)

off_ashmem_misc_fops != 0 की आवश्यकता है (BSS में स्थिर miscdevice के साथ C ashmem)।

root@kitploit:~
PI लेखन (mode=4)  →  miscdevice fops को नकली fops पर पुनर्निर्देशित करें
                   →  configfs r/w → pipe physrw (1-बाइट सटीक कर्नेल r/w)
                   →  SELinux enforcing = 0 (एकल बाइट, कोई policycap भ्रष्टाचार नहीं)
                   →  UMH: system_unbound_wq में work_struct इंजेक्ट करें
                   →  रूट स्क्रिप्ट → ksud लेट-लोड → KSU इंस्टॉल

उपलब्ध: OnePlus 13, OPPO Pad 4 Pro, 5.10/6.1 C ashmem डिवाइस। Rust ashmem (6.12 GKI) पर उपलब्ध नहीं — हीप-आवंटित miscdevice।

पथ B: प्रत्यक्ष PI लेखन (फ़ॉलबैक)

root@kitploit:~
लेखन 1 (mode=1)  →  SELinux enforcing = 0 (8-बाइट लेखन, आसन्न बाइट्स को भ्रष्ट करता है)
लेखन 2 (mode=2)  →  task->cred = init_cred (uid=0, सभी क्षमताएँ)
रूट शेल         →  ksud लेट-लोड → KSU → SELinux नीति सुधार

W1+W2 के बाद, एक्सप्लॉइट SELinux नीति बाइनरी के config फ़ील्ड को पैच करता है (ANDROID_NETLINK_ROUTE + GETNEIGH के लिए |= 0xC0000000) और नेटवर्क कनेक्टिविटी बहाल करने के लिए /sys/fs/selinux/load के माध्यम से पुनः लोड करता है।

बूटस्ट्रैप मोड (फोन स्टैंडअलोन)

root@kitploit:~
ऐप (seccomp)  →  लेखन 1 → mini-adb TCP → adb shell: पूर्ण एक्सप्लॉइट → रूट

ऑटो-बूट

बूट-समय लॉन्चर अलग GhostLock Anchor ऐप द्वारा प्रदान किया जाता है।

स्टैक लेआउट संभाव्यता

NFDS=320 के साथ, core_sys_select कर्नेल स्टैक पर 256-बाइट stack_fds बफर आवंटित करता है:

root@kitploit:~
stack_fds:  0    5    10   14 | 15   20   25   29
            ├─in─┤─out─┤─ex──┤ ├res_in┤res_out┤res_ex┤
            ◄── USER CONTROLLED ──►│◄── KERNEL ZEROED ──►

एक्सप्लॉइट fd_set इनपुट बिटमैप्स में नकली वेटर फ़ील्ड (task, lock) रखता है। 6.12 नेस्टेड वेटर (14 words) के लिए: अधिकतम संभव वेटर word = 3। 5.10/6.1 कॉम्पैक्ट वेटर (10 words) के लिए: अधिकतम संभव वेटर word = 7।

वेटर स्थिति कॉल चेन गहराई पर निर्भर करती है:

kernel_phys_load

सभी कर्नेल लेखन लीनियर-मैप उपनाम का उपयोग करते हैं। बूटलोडर kernel_phys_load चुनता है, जो प्रति SoC भिन्न होता है:

SoCkernel_phys_load
SM8845 (Ace 6T, 15T)0xa8000000
SM8750 (OnePlus 13, OPPO Pad 4 Pro)0xa8000000

गलत मान चुपचाप विफल हो जाता है। इसे रूटेड यूनिट पर पढ़ें:

root@kitploit:~
su -c 'grep -i "Kernel code" /proc/iomem'   # c7810000-... → 0xc7800000

रनटाइम पर ओवरराइड करें: KPHYS=0xc7800000 /data/local/tmp/a/e

PSELECT_SHIFT

root@kitploit:~
/data/local/tmp/a/e                        # डिफ़ॉल्ट (shift=0)
PSELECT_SHIFT=-2 /data/local/tmp/a/e       # OnePlus 13 (6.6)

KIMAGE_TEXT_BASE

5.10 कर्नेल 0xffffffc008000000 (VA_BITS=39, 6.x डिफ़ॉल्ट 0xffffffc080000000 से भिन्न) का उपयोग करते हैं। यह डिवाइस ऑफसेट प्रविष्टि में kimage_text_base फ़ील्ड के माध्यम से स्वचालित रूप से संभाला जाता है।

बिल्ड

root@kitploit:~
make NDK_ROOT=/path/to/android-ndk

या सीधे:

root@kitploit:~
NDK=/path/to/android-ndk
"$NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android35-clang" \
  -O2 -Wall -Isrc/core -Isrc/devices -DTARGET_CONFIG_H=\"target.h\" \
  src/core/main.c src/core/util.c src/core/slide.c \
  src/core/fops.c src/core/pipe_physrw.c src/core/root.c \
  src/core/miniadb.c src/core/umh_root.c \
  -o ./ghostlock -fPIE -pie -pthread

पूर्वापेक्षाएँ

ksud (KSU इंस्टॉलेशन के लिए आवश्यक)

GhostLock अस्थायी रूट प्रदान करता है। KernelSU इंस्टॉलेशन के लिए ksud की आवश्यकता होती है जो प्रत्येक KMI संस्करण के लिए kernelsu.ko बंडल करता है।

विधिचरण
ReSukiSU APK (अनुशंसित)ReSukiSU या यह fork इंस्टॉल करें। बंडल करता है।

सेटअप

root@kitploit:~
adb shell mkdir -p /data/local/tmp/a
adb push ./ghostlock /data/local/tmp/a/e
adb shell chmod 755 /data/local/tmp/a/e
adb shell /data/local/tmp/a/e

बूट पूरा होने और ADB तैयार होने के बाद चलाएँ।

नए डिवाइस जोड़ना

केवल boot.img की आवश्यकता है — कोई रूट, कोई डिवाइस एक्सेस आवश्यक नहीं।

1. कर्नेल और kallsyms निकालें

पूर्ण वर्कफ़्लो के लिए kallsyms टूल्स गाइड देखें, या:

root@kitploit:~
python tools/extract_target.py --kallsyms kallsyms.txt
python tools/extract_btf.py kernel

2. संभाव्यता निर्धारित करें

कर्नेल बाइनरी में futex_wait_requeue_pi को लक्षित करने वाले सभी ब्रांच निर्देशों की खोज करके जाँचें कि क्या do_futex PGO-इनलाइन है। यदि __arm64_sys_futex इसे सीधे कॉल करता है (do_futex को बायपास करते हुए), तो डिवाइस संभवतः संभव नहीं है।

3. डिवाइस प्रविष्टि बनाएँ

निकाले गए ऑफसेट के साथ src/devices/<name>/offsets.h जोड़ें और इसे src/devices/offsets.h में शामिल करें। उपयुक्त struct offsets मैक्रो का उपयोग करें:

5.10/6.1 कॉम्पैक्ट वेटर डिवाइसों के लिए, .kimage_text_base=0xffffffc008000000ULL भी सेट करें।

फ़ाइलें

लाइसेंस

केवल अधिकृत सुरक्षा अनुसंधान और शैक्षिक उद्देश्यों के लिए।

टूल डाउनलोड करें
डिवाइसSoCकर्नेलGKI शाखाSHIFT
OnePlus Ace 6T (PLR110)SM88456.12.38android16-50
OnePlus 15 (CPH2745/2747/2749)SM88506.12.23android16-50
Xiaomi 17 (pudding)SM88506.12.23 / 6.12.69android16-5 / android16-60
OnePlus 13 (IN2060)SM87506.6.89android15-8-2
OPPO Pad 4 ProSM87506.6.89android15-8-2
डिवाइसSoCकर्नेलनोट्स
OnePlus 15T (PLZ110)SM88456.12.38Ace 6T के समान कर्नेल
OPPO Reno10 Pro+ (CPH2521)SM84755.10.2365.10 कॉम्पैक्ट वेटर, वेटर word=0
Vivo X Fold3 Pro (PD2337)SM86506.1.1246.1 कॉम्पैक्ट वेटर, वेटर word=3
Vivo T4SM86506.1.1456.1 कॉम्पैक्ट वेटर, वेटर word=3
डिवाइसSoCकर्नेलमूल कारण
OPPO Find X9 UltraSM87506.12.58PGO do_futex को समाप्त करता है → वेटर word=14
OnePlus 12SM86506.1.141PGO do_futex को इनलाइन करता है → वेटर word=13/19
OnePlus 13R / Ace 5SM86506.1.xOPLUS 6.1: वेटर word=13
realme RMX5070SM66506.1.141OPLUS 6.1: वेटर word=13
OPPO Pad 5 (OPD2502)MT68786.1.134OPLUS 6.1: वेटर word=13
Motorola Edge 60 FusionMT68786.1.145गैर-OPLUS 6.1: समान परिणाम
iQOO Neo 10 CNSM86506.1.84do_futex फ्रेम 0xD0 → वेटर word=-11
OPPO PKW110—5.15.180do_futex फ्रेम 0x140 → वेटर word=-29
iQOO Z9 5G—5.15.178do_futex फ्रेम बहुत बड़ा
CPH2763 (OPPO)—6.1.115OPLUS 6.1: PGO इनलाइन, वेटर word=24
पैटर्नकॉल चेनसंभव
android16-5 (6.12)sys_futex → do_futex → fwrpi✅ वेटर word=2
android15-8 (6.6)sys_futex → do_futex → fwrpi✅ वेटर word=2 (SHIFT=-2)
vivo 6.1sys_futex → do_futex → fwrpi✅ वेटर word=3
OPLUS 6.1sys_futex → fwrpi (PGO इनलाइन)❌ वेटर word=13+
android16-6 (X9 Ultra)sys_futex → fwrpi (PGO इनलाइन)❌ वेटर word=14
5.10 OPLUSsys_futex → do_futex → fwrpi✅ वेटर word=0
SM8650 (vivo T4, X Fold3 Pro)
0xa8000000
SM8850 (OnePlus 15, Xiaomi 17)0xc7800000
libksud.so
CI रिलीज़ReSukiSU CI से डाउनलोड करें
कर्नेलवेटर लेआउटमैक्रो
6.12.xनेस्टेड (14 words)STRUCT_OFFSETS_6_12
6.6.xनेस्टेड (14 words)STRUCT_OFFSETS_6_6
6.1.x (vivo)कॉम्पैक्ट (10 words)STRUCT_OFFSETS_6_1
5.10.xकॉम्पैक्ट (10 words)STRUCT_OFFSETS_5_10
फ़ाइलविवरण
src/core/main.cएक्सप्लॉइट प्रवेश, W1/W2, UMH पथ, बूटस्ट्रैप, रूट स्क्रिप्ट, SELinux नीति सुधार
src/core/fops.cpselect मार्ग, PI लेखन, CFI चरण, कॉम्पैक्ट वेटर समर्थन
src/core/util.cहीप स्प्रे, KernelSnitch, स्लैब ड्रेन, पेलोड सेटअप
src/core/pipe_physrw.cपाइप बफर भौतिक मेमोरी r/w
src/core/umh_root.cवर्कक्यू इंजेक्शन के माध्यम से UMH रूट
src/core/miniadb.cमिनी ADB क्लाइंट (TCP + RSA प्रमाणीकरण)
src/core/target.hमेमोरी लेआउट, struct फ़ील्ड डिफ़ॉल्ट (6.12)
src/core/runtime_struct_offsets.hप्रति-डिवाइस struct फ़ील्ड ओवरराइड
src/devices/offsets.hडिवाइस ऑफसेट टेबल + STRUCT_OFFSETS_* मैक्रो
tools/extract_target.pykallsyms से ऑफसेट निष्कर्षण
tools/extract_btf.pyBTF से struct ऑफसेट निष्कर्षण
tools/kallsyms/एंड-टू-एंड kallsyms पुनर्प्राप्ति वर्कफ़्लो