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

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

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

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

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

श्रेणियाँ

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

GhostLock-for-OnePlus

(CVE-2026-43499)कर्नेल एक्सप्लॉइट प्रोग्राम, अनलॉक न किए गए बूटलोडर वाले OnePlus डिवाइसों के लिए उपयुक्त।

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

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

सभी देखें →

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

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

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

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

GhostLock — OnePlus

中文

लॉक्ड-बूटलोडर OnePlus डिवाइसों को लक्षित करने वाला कर्नेल एक्सप्लॉइट। CVE-2026-43499 का उपयोग करके बूटलोडर को अनलॉक किए बिना या boot.img को संशोधित किए बिना रूट एक्सेस प्राप्त करता है।

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


विषय-सूची

  • भेद्यता अवलोकन
  • समर्थित डिवाइस
  • पूर्वापेक्षाएँ
  • निर्माण
  • उपयोग
  • रन मोड
  • तकनीकी विवरण
  • फ़ाइल संरचना
  • नए डिवाइस जोड़ना
  • FAQ

भेद्यता अवलोकन

आइटमविवरण
CVECVE-2026-43499
प्रकारFutex PI (Priority Inheritance) Use-After-Free
दायराLinux कर्नेल 2.6.39 ~ 7.1
फिक्स हुआMainline 7.1 (कमिट 3bfdc63936dd)
Android स्थितिGKI 6.12.x अभी भी असुरक्षित

मूल कारण

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

श्रृंखला

futex PI UAF (CVE-2026-43499)
  ├─ Forge rt_mutex_waiter object
  ├─ Control kernel stack via pselect/select fd_set layout
  ├─ Trigger rt_mutex PI operation for arbitrary write
  ├─ Write 1: selinux_state.enforcing = 0
  └─ Write 2: cred → init_cred (uid=0, full capabilities)

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

डिवाइसकोडनेमSoCकर्नेलफ़र्मवेयरस्थिति
OnePlus Ace 6TPLR110SM8845 (Snapdragon 8s Elite)6.12.38-android16-5-...-ab14275539-4kColorOS 16.0.2.403✅ सत्यापित
OnePlus Ace 6TPLR110SM8845 (Snapdragon 8s Elite)6.12.38-android16-5-...-ab14552068-4kColorOS 16.0.8.301✅ सत्यापित
OnePlus 15PLK110SM8845 (Snapdragon 8s Elite)6.12.23-android16-5-...-ab14541642-4k—✅ सत्यापित

समान SoC परिवार, Android 16, या कर्नेल 6.12.x वाले अन्य OnePlus डिवाइसों को boot.img ऑफ़सेट निष्कर्षण के माध्यम से अनुकूलित किया जा सकता है।


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

ksud (KernelSU के लिए आवश्यक)

GhostLock विशेषाधिकार एस्केलेशन संभालता है। KernelSU इंस्टॉलेशन के लिए ksud आवश्यक है (KMI-विशिष्ट kernelsu.ko के साथ बंडल):

स्रोतनोट्स
ReSukiSU APK (अनुशंसित)ReSukiSU इंस्टॉल करें; APK में libksud.so बंडल होता है
CI रिलीज़ReSukiSU CI से डाउनलोड करें (ksud-aarch64-linux-android.zip)

ksud के बिना, एक्सप्लॉइट फिर भी uid=0 रूट शेल प्राप्त करता है, लेकिन KernelSU इंस्टॉल नहीं होगा और su स्थायी नहीं रहेगा।


निर्माण

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

  • Android NDK (r25+)
  • ANDROID_NDK_HOME या ANDROID_NDK_ROOT सेट करें

निर्माण

# Default (API 35)
make

# Specify API level
make API=34

# Specify NDK path
NDK=/path/to/android-ndk make

आर्टिफैक्ट

ghostlock — स्टैटिक रूप से लिंक्ड ARM64 ELF एक्ज़ीक्यूटेबल।


उपयोग

एक-बार सेटअप

# 1. Enable ADB TCP mode
adb tcpip 5555

# 2. Push ADB key (required for bootstrap mode)
adb push ~/.android/adbkey /data/local/tmp/a/adbkey

# 3. Push the exploit
adb push ghostlock /data/local/tmp/a/e
adb shell chmod 755 /data/local/tmp/a/e

पहली सफलता के बाद, resetprop स्वचालित रूप से persist.adb.tcp.port=5555 सेट करता है, जिससे बाद के रीबूटों पर पूर्णतः स्वचालित रन संभव हो जाते हैं।


रन मोड

फुल एक्सप्लॉइट (ADB शेल संदर्भ)

/data/local/tmp/a/e
  • perf उपलब्ध, सटीक चाइल्ड task_struct लीकिंग
  • दो-चरणीय: W1 SELinux अक्षम करें → W2 विशेषाधिकार एस्केलेशन → KernelSU लोड

बूटस्ट्रैप मोड (ऐप संदर्भ, seccomp प्रतिबंधित)

/data/local/tmp/a/e --bootstrap
  1. राइट 1 → SELinux अक्षम करें
  2. मुक्त अनुमतियों का उपयोग करके setprop से ADB TCP 5555 सक्षम करें
  3. बिल्ट-इन Mini ADB क्लाइंट 127.0.0.1:5555 से कनेक्ट होता है
  4. पहले से पुश की गई कुंजी के साथ RSA प्रमाणीकरण
  5. ADB शेल के माध्यम से फुल एक्सप्लॉइट निष्पादन (कोई seccomp नहीं)

केवल राइट 1

/data/local/tmp/a/e --write1
  • अधिकतम 20 प्रयास
  • डिबगिंग या अस्थायी SELinux अक्षमीकरण के लिए उपयोगी

तकनीकी विवरण

1. रनटाइम कर्नेल मैचिंग

ऑफ़सेट src/devices/offsets.h लुकअप टेबल में संग्रहीत होते हैं, जो uname -r द्वारा कुंजीबद्ध होते हैं। प्रोग्राम स्टार्टअप पर स्वतः मैच करता है; अज्ञात कर्नेल अस्वीकार कर दिए जाते हैं।

static const struct kernel_offsets known_offsets[] = {
  OFFSETS_ENTRY("6.12.38-android16-5-...-ab14275539-4k", ...),
  OFFSETS_ENTRY("6.12.38-android16-5-...-ab14552068-4k", ...),
  OFFSETS_ENTRY("6.12.23-android16-5-...-ab14541642-4k", ...),
  { .uname_r = NULL }  /* sentinel */
};

ऑफ़सेट स्रोत

प्रकारगिनतीनिष्कर्षण
kallsyms ग्लोबल सिंबल28tools/extract_target.py
BTF स्ट्रक्चर फ़ील्ड57tools/extract_btf.py
व्युत्पन्न मान9स्वतः-गणना
निश्चित स्थिरांक12हार्डकोडेड

BTF-सत्यापित स्ट्रक्चर

स्ट्रक्चरफ़ील्डउद्देश्य
task_struct17प्रोसेस डिस्क्रिप्टर, cred, seccomp
rt_mutex_waiter6UAF फोर्ज लक्ष्य
cred4क्रेडेंशियल, कैपेबिलिटीज़
seccomp3Seccomp फ़िल्टर स्थिति
pipe_inode_info11पाइप बफर संचालन
file_operations13नकली fops टेबल
mm_struct1मेमोरी डिस्क्रिप्टर स्वामी

2. KASLR बायपास

SLIDE मोड — boot_id लीक

जब कर्नेल पॉइंटर प्रतिबंधित हों (kptr_restrict), तो कर्नेल एड्रेस के साथ अधिलेखित boot_id के माध्यम से बेस एड्रेस लीक करें:

Read /proc/sys/kernel/random/boot_id
  └─ UUID contains nfulnl_logger address
      └─ KASLR slide = leaked_addr - image_offset
          └─ kaslr_base

FOPS/CFI मोड — fops टेबल लीक

जब ashmem डिवाइस सुलभ हो, तो ashmem fops टेबल से फ़ंक्शन पॉइंटर पढ़ने और KASLR ऑफ़सेट की गणना करने के लिए configfs रीड/राइट प्रिमिटिव का उपयोग करें।

3. कर्नेल हीप स्प्रे

ऑर्डर-3 (32KB) पेजों पर कर्नेल ऑब्जेक्ट फोर्ज करें:

  • नकली file_operations — ashmem miscdevice fops पॉइंटर हाईजैक करें
  • नकली rt_mutex_waiter — PI चेन वेटर नोड का अनुकरण करें
  • नकली task_struct — PI ट्रैवर्सल के दौरान टास्क संदर्भ
  • नकली rt_mutex (लॉक) — सही वेटर/स्वामी जानकारी

SKB (सॉकेट बफर) + KernelSnitch के माध्यम से कार्यान्वित:

  • KernelSnitch — mm_struct एड्रेस लीक करने के लिए futex हैश कोलिजन
  • SKB स्प्रे — कर्नेल हीप भरने के लिए sendmsg

4. फिजिकल मेमोरी R/W (पाइप)

KASLR बेस प्राप्त करने के बाद, फिजिकल-स्तरीय मेमोरी एक्सेस के लिए पाइप बफर का उपयोग करें:

1. Locate pipe buffer in physmap
2. Forge pipe_buffer ops table pointing to known pipe_buf_ops
3. Hijack pipe_buffer.page to target physical address
4. Arbitrary physical read/write via normal pipe operations

समर्थित: pipe_read64, pipe_write64, pipe_phys_read_data, pipe_phys_write_data

5. दो-चरणीय राइट

राइट 1 — SELinux अक्षम करें

Target: selinux_state.enforcing (offset 0x00)
Method: child-node PI write → forge waiter __rb_parent_color
        pointing to selinux_enforcing - 8
        rb-tree rebalance writes 0x00

राइट 2 — रूट तक एस्केलेट करें

Target: child process cred pointer
Method: 1. fork child → perf_find_task() locate task_struct
        2. calculate cred field offset
        3. child-node PI write → cred = init_cred (uid=0, full caps)
        4. clear seccomp (TIF_SECCOMP + seccomp struct zeroed)

cred अधिलेखन के बाद कैपेबिलिटी रीडबैक सत्यापन किया जाता है।

6. बिल्ट-इन Mini ADB क्लाइंट

src/core/miniadb.c — बूटस्ट्रैप मोड के लिए हल्का ADB प्रोटोकॉल क्लाइंट:

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