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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
ghostlock-k419-adapter — 4.19.152-perf+ Android कर्नेल के लिए GhostLock (CVE-2026-43499) अडैप्टर | Kitploit
उपकरण/GitHubGitHub/xiaobailovesstirring/ghostlock-k419-adapter
एंड्रॉइड सुरक्षाविशेषाधिकार वृद्धिशोषण फ्रेमवर्कशोषणपोस्ट-शोषणपेनिट्रेशन टेस्टिंगमोबाइल सुरक्षापेलोड डेवलपमेंटबाइनरी शोषण

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
GitHubxiaobailovesstirring/ghostlock-k419-adapter

ghostlock-k419-adapter

4.19.152-perf+ Android कर्नेल के लिए GhostLock (CVE-2026-43499) अडैप्टर

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

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

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

OnePlus Ace 6T पर KernelSU (LKM, Jailbreak मोड) के साथ चल रहा GhostLock

भेद्यता

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

Linux कर्नेल 2.6.39 ~ 7.1 को प्रभावित करता है। मेनलाइन 7.1 में ठीक किया गया (कमिट 3bfdc63936dd)। Android GKI 6.12.x असुरक्षित बना हुआ है।

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

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

सत्यापित

डिवाइसSoCकर्नेलस्थिति
OnePlus Ace 6T (PLR110)SM88456.12.38-...-ab14275539काम कर रहा है
OnePlus Ace 6T (PLR110)SM88456.12.38-...-ab14552068काम कर रहा है
OnePlus 15 (CPH2749)SM88506.12.23-...-ab14541642काम कर रहा है
Xiaomi 17 (pudding)SM88506.12.23-...-abogki463945075काम कर रहा है
Xiaomi 17 (pudding)SM88506.12.69-...-abogki514973465काम कर रहा है (अगस्त 2026 अपडेट)
OnePlus 13 (IN2060)SM87506.6.89-...-abogki446052083काम कर रहा है (PSELECT_SHIFT=-2)
OPPO Pad 4 ProSM87506.6.89-...-ab14358676काम कर रहा है (PSELECT_SHIFT=-2)

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

डिवाइसSoCकर्नेलनोट्स
OnePlus 15T (PLZ110)SM88456.12.38-...-ab14552068Ace 6T के समान कर्नेल। QEMU सत्यापित SP diff=-64।

संभव नहीं (स्टैक लेआउट असंगत)

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

डिवाइसSoCकर्नेलकारण
OPPO Find X9 UltraSM87506.12.58-android16-6PGO do_futex फ्रेम को हटा देता है → SP diff=+32, वेटर वर्ड=14। कोई सुरक्षित शिफ्ट मौजूद नहीं है।
OPPO Find X7—6.1.1576.1 GKI: वेटर वर्ड 13 पर (सभी 6.1 OPLUS/GKI डिवाइस)
realme RMX5070SM66506.1.1416.1 GKI: वेटर वर्ड 13 पर
realme RMX3852SM86356.1.141RMX5070 के समान 6.1 ब्रांच
OnePlus 13R / Ace 5SM86506.1.xसमान 6.1 ब्रांच
OnePlus 12SM86506.1.1416.1 GKI: do_futex PGO इनलाइन, वेटर वर्ड=13/19
OPPO Pad 5 (OPD2502)MT68786.1.134समान 6.1 ब्रांच
OPPO PKW110—5.15.180do_futex फ्रेम 0x140 (सामान्य से 4.5x) → वेटर वर्ड=-29, पहुंच योग्य नहीं
Motorola Edge 60 FusionMT68786.1.1456.1 GKI: वेटर वर्ड 13 पर (गैर-OPLUS, समान परिणाम)
iQOO Z9 5G—5.15.178do_futex फ्रेम बहुत बड़ा, वेटर पहुंच योग्य नहीं। OPLUS डिवाइस नहीं है (vivo)।

एक्सप्लॉइट फ्लो

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

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

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

PI write (mode=4)  →  redirect miscdevice fops to fake fops (via W0 pi_tree)
                      configfs r/w established
                   →  pipe physrw (1-byte precise kernel r/w)
                   →  SELinux enforcing = 0 (single byte, no policycap corruption)
                   →  UMH: inject work_struct into system_unbound_wq
                      kernel executes /data/local/tmp/a/e --umh as UID 0
                   →  root script → ksud late-load → KSU installed

पथ B से लाभ:

  • 1-बाइट SELinux राइट — selinux_state.policycap को दूषित नहीं करता (OnePlus 13 पर नेटवर्क समस्याएँ ठीक करता है)
  • कोई perf_event_open नहीं — seccomp प्रतिबंधों के अंतर्गत काम करता है
  • कोई क्रेडेंशियल पैचिंग नहीं — लाइव task_struct को संशोधित करने से बचता है

वर्तमान में उपलब्ध: OnePlus 13 (कर्नेल 6.6, C ashmem)। Rust ashmem डिवाइसों (6.12 GKI) पर उपलब्ध नहीं — miscdevice हीप-आवंटित है, पता कंपाइल समय पर अनुमानित नहीं किया जा सकता।

पथ B: डायरेक्ट PI राइट (फ़ॉलबैक, सभी डिवाइस)

जब UMH ऑफसेट या C ashmem misc_fops उपलब्ध नहीं होते तब उपयोग किया जाता है।

Write 1 (mode=1)  →  SELinux enforcing = 0
                      (low byte of kernel ptr = 0x00, 8-byte write)

Write 2 (mode=2)  →  task->cred = init_cred
                      (uid=0, all capabilities)

Root shell         →  ksud late-load (KernelSU LKM)
                   →  su -c load_policy (fix SELinux policycap)
                   →  dynamic manager registration

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

App (seccomp)  →  Write 1 (no perf needed)
               →  mini-adb connect TCP (port from /data/local/tmp/a/adb_port, default 5555)
               →  adb shell: full exploit (perf works, no seccomp)
               →  root → KSU → network fix

ऑटो-बूट (ReSukiSU इंटीग्रेशन के माध्यम से)

BOOT_COMPLETED → BootCompletedReceiver
  ├─ su available → skip (soft reboot / already rooted)
  └─ no root → GhostlockService → setsid exploit --bootstrap

स्टैक लेआउट व्यवहार्यता

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

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

एक्सप्लॉइट नकली वेटर फ़ील्ड (task, lock) को fd_set इनपुट बिटमैप्स में लिखता है। इसके काम करने के लिए, वेटर के task और lock फ़ील्ड नियंत्रणीय क्षेत्र (वर्ड 0-14) में आने चाहिए।

Ace 6T ✅ (waiter at word 2):
  ░░████████████████░░│░░░░░░░░░░░░░░░░░░
    ▲waiter      t  l │
    task/lock controllable

RMX5070 ❌ (waiter at word 13):
  ░░░░░░░░░░░░░████│██████████████░░░░░░
                 ▲  │    t     l
               waiter  task/lock ZEROED

व्यवहार्यता नियम: वेटर वर्ड + 11 (rt_waiter_node में लॉक ऑफसेट) ≤ 14 होना चाहिए। अधिकतम व्यवहार्य वेटर वर्ड 3 है।

वेटर की स्थिति कंपाइलर के स्टैक फ्रेम लेआउट (PGO + LTO + BOLT ऑप्टिमाइज़ेशन प्रोफाइल) द्वारा निर्धारित होती है, जो प्रति SoC ब्रांच अलग-अलग होती है। समान कर्नेल संस्करण के अलग-अलग SoC पर अलग-अलग लेआउट हो सकते हैं।

kernel_phys_load

सभी कर्नेल राइट इमेज के लीनियर-मैप एलियास से होकर जाते हैं:

data_addr(x) = PAGE_OFFSET + (kernel_phys_load - PHYS_OFFSET) + (x - KIMAGE_TEXT_BASE)

बूटलोडर kernel_phys_load चुनता है, इसलिए यह प्रति SoC अलग-अलग होता है और boot.img या DT में नहीं होता। struct kernel_offsets में प्रति-डिवाइस फ़ील्ड; 0 = target.h डिफ़ॉल्ट का उपयोग करें।

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

गलत मान चुपचाप विफल हो जाता है — राइट फिर भी मैप की गई RAM में पहुंचता है, इसलिए कोई क्रैश नहीं होता और कोई प्रभाव नहीं पड़ता। इसे PSELECT_SHIFT समस्या मत समझिए। इसे उसी मॉडल के रूटेड यूनिट पर पढ़ें (Kernel code _stext पर शुरू होता है; _text 0x10000 नीचे है):

su -c 'grep -i "Kernel code" /proc/iomem'   # c7810000-... -> 0xc7800000

PSELECT_SHIFT

अलग-अलग कर्नेल वेटर को नियंत्रणीय क्षेत्र के भीतर अलग-अलग स्थितियों पर रखते हैं। समायोजन के लिए PSELECT_SHIFT का उपयोग करें:

# Default (Ace 6T + OnePlus 15, 6.12): shift=0
/data/local/tmp/a/e

# OnePlus 13 (6.6): shift=-2
PSELECT_SHIFT=-2 /data/local/tmp/a/e
टूल डाउनलोड करें