
एंड्रॉयड के लिए ES File Explorer में CVE-2019-6447 के लिए तकनीकी विश्लेषण और सुरक्षा-सचेत अनुसंधान हार्नेस
एक स्वतंत्र रूप से कार्यान्वित, सुरक्षा-चेतना अनुसंधान हार्नेस और CVE-2019-6447 के लिए तकनीकी विश्लेषण, जो एंड्रॉइड के लिए ES फ़ाइल एक्सप्लोरर के असुरक्षित संस्करणों द्वारा उजागर एक अप्रमाणित HTTP सेवा है।
केवल अधिकृत अनुसंधान। इस प्रोजेक्ट का उपयोग केवल उन उपकरणों के विरुद्ध करें जिनके आप मालिक हैं या जिनके परीक्षण की स्पष्ट अनुमति है। CLI डिफ़ॉल्ट रूप से एक गैर-आक्रामक TCP प्रोब करता है। डिवाइस डेटा या फ़ाइलों का अनुरोध करने वाले संचालन के लिए स्पष्ट प्रयोगशाला-प्राधिकरण फ़्लैग की आवश्यकता होती है।
| Property | Value |
|---|---|
| प्रभावित उत्पाद | एंड्रॉइड के लिए ES फ़ाइल एक्सप्लोरर फ़ाइल प्रबंधक |
| प्रभावित संस्करण | 4.1.9.7.4 और पहले |
| उजागर सेवा | TCP/59777 पर अप्रमाणित HTTP सर्वर |
| हमले की पूर्वापेक्षा | एंड्रॉइड डिवाइस के लिए नेटवर्क निकटता |
| प्रभाव | डिवाइस/ऐप गणना, मनमाना फ़ाइल पठन, और एप्लिकेशन लॉन्च |
| मूल कमजोरी | CWE-306 — महत्वपूर्ण कार्य के लिए प्रमाणीकरण की कमी |
| NVD गंभीरता | CVSS 3.1: 8.1 High (AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N) |
एक बार एप्लिकेशन लॉन्च होने के बाद, एम्बेडेड सेवा स्थानीय वाई-फाई नेटवर्क पर पहुंच योग्य रह सकती है। यह कॉलर को प्रमाणित किए बिना JSON कमांड स्वीकार करता है। यह ऐप-आंतरिक प्रबंधन इंटरफ़ेस को नेटवर्क-सुलभ हमले की सतह में बदल देता है।
flowchart LR
A["Adjacent-network attacker"] -->|"HTTP POST / TCP 59777"| B["Embedded ES HTTP service"]
B --> C["Command dispatcher"]
C --> D["Device and app metadata"]
C --> E["Shared-storage files"]
C --> F["Android app launch"]पूर्ण विश्लेषण के लिए, देखें docs/technical-analysis.md।
git clone https://github.com/acloudinthebluesky/CVE-2019-6447-ES-File-Explorer.git
cd CVE-2019-6447-ES-File-Explorer
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .
esfile-6447 probe --target 192.168.56.10
यह केवल पोर्ट 59777 पर TCP कनेक्शन का प्रयास करता है। एक खुला पोर्ट अपने आप में नहीं है कि लक्ष्य असुरक्षित है।
esfile-6447 command \
--target 192.168.56.10 \
--name getDeviceInfo \
--i-understand-this-is-an-authorized-lab
यह सेवा सक्रिय है और प्रतिक्रिया देती है यह सत्यापित करने के लिए एक JSON कमांड भेजता है। केवल पृथक प्रयोगशाला में उपयोग करें।
esfile-6447 pull \
--target 192.168.56.10 \
--remote-path /sdcard/lab-marker.txt \
--output ./evidence/lab-marker.txt \
--i-understand-this-is-an-authorized-lab
यह साझा भंडारण से एक फ़ाइल पढ़ता है और इसे स्थानीय रूप से लिखता है। केवल सिंथेटिक फ़ाइलों का उपयोग करें। प्रभाव के प्रमाण के रूप में व्यक्तिगत डेटा एकत्र न करें।
रक्षक TCP/59777 पर अप्रत्याशित श्रोताओं और JSON command फ़ील्ड वाले HTTP अनुरोधों की खोज कर सकते हैं। नेटवर्क नियंत्रण एक्सपोज़र को कम कर सकते हैं, लेकिन स्थायी समाधान असुरक्षित एप्लिकेशन को हटाना या अपग्रेड करना है। एम्बेडेड प्रबंधन सेवाओं को लूपबैक पर बाइंड होना चाहिए जब तक कि दूरस्थ पहुंच आवश्यक न हो, प्रत्येक अनुरोध को प्रमाणित करें, प्रत्येक ऑपरेशन को अधिकृत करें, और जब आवश्यक न हो तब समाप्त करें।
python -m unittest discover -s tests -v
परीक्षण केवल लूपबैक मॉक HTTP सर्वर शुरू करते हैं। वे बाहरी होस्ट से संपर्क नहीं करते हैं।
यह प्रोजेक्ट रक्षात्मक सत्यापन, शिक्षा, और अधिकृत भेद्यता अनुसंधान के लिए है। यह जानबूझकर सबनेट स्कैनिंग को छोड़ देता है और डिफ़ॉल्ट रूप से केवल कनेक्टिविटी प्रोब करता है। अनुमति के बिना किसी डिवाइस तक पहुंचना कानून और नीति का उल्लंघन कर सकता है, भले ही कोई फ़ाइल न रखी गई हो।
भेद्यता की खोज और मूल सार्वजनिक प्रूफ ऑफ कॉन्सेप्ट का श्रेय ऊपर संदर्भित शोधकर्ताओं को जाता है। इस रिपॉजिटरी में कार्यान्वयन एक स्वतंत्र शैक्षिक पुनःकार्यान्वयन है।