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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2022-22057_SM-F926U | Kitploit
उपकरण/GitHubGitHub/diabl0w/cve-2022-22057_sm-f926u
एंड्रॉइड सुरक्षाविशेषाधिकार वृद्धिशोषण फ्रेमवर्कभेद्यता विश्लेषणशोषणमोबाइल सुरक्षाबाइनरी शोषण
GitHubdiabl0w/cve-2022-22057_sm-f926u

CVE-2022-22057_SM-F926U

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

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

सभी देखें →

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

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

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

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

फ़ोर्क

SM-F926U के लिए मेरा अनुकूलन, मूल exploit से यहाँ
m-y-mo को बहुत-बहुत धन्यवाद, जिन्होंने exploit की खोज की और SM-F926U पर इसे पोर्ट करने तथा उपयोग योग्य बनाने के मेरे सभी सवालों को लेकर अत्यधिक धैर्य रखा

मैंने Shizuku के कोड के आधार पर एक स्टार्टअप डेमॉन (libtimeline.so) जोड़ा है

टेम्प root समाधान को स्थिर बनाने के लिए एक dirty trick जोड़ी गई है (नीचे देखें)

अस्वीकरण: मैं नष्ट हुए डिवाइस, खोए डेटा, चोरी हुए डेटा, डिवाइस सुरक्षा के लिए ज़िम्मेदार नहीं हूँ
अस्वीकरण 2: मैं डेवलपर नहीं हूँ, बल्कि एक पेशेवर टिंकरर (tinkerer) हूँ। अगर आपको समस्याएँ आती हैं तो मैं मदद करने की कोशिश कर सकता हूँ, हो सकता है मैं इस थ्रेड को फिर कभी न देखूँ, अपने जोखिम पर आगे बढ़ें

आवश्यकताएँ:

  • फ़र्मवेयर संस्करण F926UXXS1BUL6 या उसके आस-पास हो, क्योंकि kallsym ऑफ़सेट विशिष्ट हैं (केवल F926USQS1BUL6 का परीक्षण किया गया है)

निर्देश:

  • पहले सभी निर्देश, ऊपर दिया गया अस्वीकरण और नीचे दी गई चेतावनियाँ पढ़ें
  • libtimeline.so (ndk-build का उपयोग करके) और timeline (make का उपयोग करके) कंपाइल करें
  • दोनों को /data/local/tmp में कॉपी करें
  • डीबगिंग के लिए: आप /data/local/tmp/timeline को सीधे चलाना चाहेंगे, क्योंकि आप देख सकते हैं कि exploit चल रहा है या हैंग हो गया है (नीचे चेतावनियाँ देखें)
  • प्रोडक्शन के लिए: /data/local/tmp/libtimeline.so चलाएँ
  • चेतावनी: आपके डिवाइस में kernel panic हो सकता है और वह रीबूट हो सकता है; अगर ऐसा होता है, तो बूट होने तक प्रतीक्षा करें, डिवाइस अनलॉक करें, डिवाइस को बूटअप से "शांत" होने के लिए कुछ मिनट दें, और फिर से कोशिश करें -- सैद्धांतिक रूप से, सबसे बुरा जो हो सकता है वह यह है कि आप मेमोरी में मौजूद कोई भी डेटा खो देंगे। इसलिए सुनिश्चित करें कि exploit चलाने से पहले आप कोई भी महत्वपूर्ण डेटा सेव कर लें
  • exploit समाप्त होने के बाद, और स्टार्टअप प्रोसेस अपने लूप में चला जाता है (ऐसा क्यों करते हैं, यह जानने के लिए नीचे चेतावनियाँ देखें):
    • adb सत्र में netcat 127.0.0.1 6969 टाइप करके रूट शेल से कनेक्ट करें
    • यदि यह कनेक्ट हो जाता है, तो आप id टाइप कर सकते हैं और यह आपके रूट क्रेडेंशियल दिखाएगा
    • आप इस तरह से भी कमांड भेज सकते हैं: `echo 'YOUR COMMAND' | netcat 127.0.0.1 6969

अतिरिक्त चेतावनियाँ:

  • वर्तमान में यह दिखाने के लिए कोई कार्यान्वयन नहीं है कि exploit सफलतापूर्वक चला। दूसरी ओर, आप timeline बाइनरी को सीधे (/data/local/tmp/timeline) चला सकते हैं और यह दिखाएगा कि exploit सफल हुआ या नहीं, लेकिन adb सत्र समाप्त करते ही डिवाइस क्रैश हो जाएगा, इसीलिए हम libtimeline.so से चलाते हैं
  • libtimeline.so से चलाने पर भी, अगर Android पृष्ठभूमि में timeline प्रोसेस को मार देता है, तो इससे फ़ोन रीबूट भी हो जाएगा। मेरा फ़ोन आमतौर पर प्रोसेस मारे जाने से पहले 8 घंटे से कुछ दिनों तक चलता है
  • libtimeline.so cpu को 100% लोड करता है: आप top में देखेंगे कि timeline लगभग 100% cpu उपयोग पर चल रहा है। मुझे यकीन नहीं है कि यह वैध है या नहीं। यह वास्तव में सिर्फ while(1) स्थिति में बैठा रहता है ताकि वह बंद न हो और डिवाइस को क्रैश न करे, इसलिए मुझे अभी तक नहीं पता चला है कि उच्च cpu उपयोग किस कारण से हो रहा है या यह गलत सकारात्मक (false positive) है ठीक कर दिया गया
  • यह एक टेम्प root समाधान है, जिसका अर्थ है: कोई magisk नहीं, कोई su मैनेजर नहीं, और defex अभी भी सक्षम है
  • चेतावनी: ** यह root विधि बहुत असुरक्षित है **
    • यह netcat के माध्यम से पोर्ट 6969 पर एक रूट शेल चालू रखता है, और कोई भी सेवा जो उस पोर्ट पर एक कमांड लिखती है, वह रूट विशेषाधिकारों के साथ कमांड निष्पादित करने में सक्षम होगी

मूल

Qualcomm CVE-2022-22057 के लिए Exploit

विस्तृत लेख यहाँ पाया जा सकता है। यह Qualcomm kgsl ड्राइवर में एक बग है जिसे मैंने नवंबर 2021 में रिपोर्ट किया था। इस बग का उपयोग अविश्वसनीय ऐप डोमेन से मनमाना kernel मेमोरी रीड और राइट प्राप्त करने के लिए किया जा सकता है, जिसका उपयोग SELinux को अक्षम करने और root प्राप्त करने के लिए किया जाता है।

Exploit का परीक्षण Samsung Galaxy Z Flip 3 (यूरोपीय संस्करण SM-F711B) पर फ़र्मवेयर संस्करण F711BXXS2BUL6, बेसबैंड F711BXXU2BUL4 और kernel संस्करण 5.4.86-qgki-23063627-abF711BXXS2BUL6 (EUX क्षेत्र) के साथ किया गया है। Exploit में ऑफ़सेट फ़र्मवेयर के उसी संस्करण को संदर्भित करते हैं। kernel इमेज के सामान्य ऑफ़सेट के अलावा, ion_utils.c में ion मेमोरी पूल के विभिन्न पते भी फ़र्मवेयर-विशिष्ट हैं। संदर्भ के लिए, मैंने ndk-21 में clang के साथ कंपाइल करने के लिए निम्न कमांड का उपयोग किया:

root@kitploit:~
android-ndk-r21d-linux-x86_64/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android30-clang -O2 timeline_wait.c sendmsg_spray.c signalfd_spray.c cpu_utils.c ion_utils.c fake_obj_util.c work_queue_utils.c -o timeline

Exploit काफी विश्वसनीय है (~70% परीक्षण किए गए डिवाइस पर), हालाँकि इसे चलाने से पहले स्टार्टअप के कुछ मिनट बाद तक प्रतीक्षा करनी पड़ती है, क्योंकि स्टार्टअप के पहले कुछ मिनटों में बहुत सारे टूटे/विफल binder कॉल होते हैं। (पूरी तरह से यकीन नहीं है कि यह Qualcomm या Samsung समस्या है)

परीक्षण के लिए, फ़ाइल को क्रॉस-कंपाइल करें और फिर adb के साथ निष्पादित करें:

root@kitploit:~
adb push timeline /data/local/tmp
adb shell
b2q:/ $ /data/local/tmp/timeline

सफल होने पर, यह SELinux को अक्षम कर देगा और id कमांड को root के रूप में चलाएगा और परिणाम /data/local/tmp/id.txt फ़ाइल में लिखेगा:

root@kitploit:~
b2q:/ $ /data/local/tmp/timeline
heap_id_mask 40
ion region 0x75a0ccf000
region start addr: ffffff8071800000
fence kernel addr: ffffff8071fe0040 192
created fake slab at ffffff8071840100
[+] reallocation data initialized!
[ ] initializing reallocation threads, please wait...
[+] 40 reallocation threads ready!
timeline_wait start
readpipe start
destroy start
readpipe
Caught signal: 10
 wait complete -1
readpipe finished
destroy finished
cb_list ffffffc02d943bf8 temp ffffffc02d943c48
mask 52424242 60
cpu_id 0
interval number 1
mask 7f8e7bfeff 7
thread number 0 7 20014
thread batch number 0
new mask 7f8e7bfeff ffffff8071840100
region_offset 40100
sprayed 1024 ion buffer
start searching for buffer
Found 7 ion regions
heap_ops ffffffc012e17180, kernel base: a00b8000
set enforcing to permissive
[+] successfully overwritten selinux_enforcing
wq_ptr_addr: ffffffc012dc2518
wq_addr: ffffff81f4cf1200
pwq_addr ffffff81e24ea100
pool_addr ffffff805ff7c000
worklist ffffff805ff7c020 ffffff805ff7c020
queue work
max_active 256 nr_active 0
queuing work, waiting to aquire spin lock
work_queued
work processed
complete 0
ret 0
nr_active 0
worklist ffffff805ff7c020
work next ffffff8071842c08
[+] successfully run command and added id.txt in /data/local/tmp
finished queue work
freeing ion dma fd
finished freeing ion dma fd
finished spraying
finished

wait complete -1 प्रिंट होने के बाद एक लंबा ठहराव आता है, जो एक मिनट से कम होना चाहिए, यह सामान्य है। कभी-कभी काम को कतार (queue) में लगाने में भी समय लग सकता है (queuing work, waiting to aquire spin lock प्रिंट होने के बाद, कुछ मिनट लग सकते हैं, बस धैर्य रखने की आवश्यकता है, हालाँकि यह आम नहीं है)। Exploit सामान्यतः कुछ मिनटों में पूरा हो जाता है।

/data/local/tmp/id.txt फ़ाइल यह पुष्टि करेगी कि कमांड root के रूप में चलाई गई थी:

root@kitploit:~
b2q:/ $ cat /data/local/tmp/id.txt
uid=0(root) gid=0(root) groups=0(root) context=u:r:kernel:s0

work_queue_utils.c में setup_sub_info के अंदर वेरिएबल cmd बदलकर एक अलग कमांड चलाई जा सकती है। (उदाहरण के लिए, रिवर्स रूट शेल पाने के लिए)।

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