
أداة تحليل تقني وبحث مراعية للسلامة لثغرة CVE-2019-6447 في تطبيق ES File Explorer لنظام Android
أداة بحث وتحليل فني مطبقة بشكل مستقل وموجهة للأمان لثغرة CVE-2019-6447، وهي خدمة HTTP غير موثقة تتعرض لها الإصدارات الضعيفة من ES File Explorer لنظام Android.
بحث مرخص فقط. استخدم هذا المشروع فقط ضد الأجهزة التي تمتلكها أو لديك إذن صريح لاختبارها. الوضع الافتراضي لسطر الأوامر هو اختبار TCP غير تدخلي. العمليات التي تطلب بيانات الجهاز أو الملفات تتطلب علمًا صريحًا بالترخيص المخبري.
| الخاصية | القيمة |
|---|---|
| المنتج المتأثر | مدير ملفات ES File Explorer لنظام Android |
| الإصدارات المتأثرة | 4.1.9.7.4 والإصدارات الأقدم |
| الخدمة المكشوفة | خادم HTTP غير موثق على TCP/59777 |
| شرط الهجوم | القرب من شبكة الجهاز المحمول |
| الأثر | تعداد الجهاز/التطبيقات، قراءة ملفات عشوائية، وتشغيل التطبيقات |
| الضعف الجذري | CWE-306 — عدم وجود مصادقة للوظائف الحرجة |
| خطورة NVD | CVSS 3.1: 8.1 عالية (AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N) |
بمجرد تشغيل التطبيق، يمكن أن تظل الخدمة المدمجة قابلة للوصول عبر شبكة Wi-Fi المحلية. تقبل أوامر JSON دون مصادقة المتصل. وهذا يحول واجهة إدارة داخلية للتطبيق إلى سطح هجوم يمكن الوصول إليه عبر الشبكة.
flowchart LR
A["مهاجم من الشبكة المجاورة"] -->|"HTTP POST / TCP 59777"| B["خدمة ES HTTP المدمجة"]
B --> C["موزع الأوامر"]
C --> D["بيانات الجهاز والتطبيق"]
C --> E["ملفات التخزين المشترك"]
C --> F["تشغيل تطبيق Android"]للتحليل الكامل، انظر 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
هذا يحاول فقط اتصال TCP بالمنفذ 59777. المنفذ المفتوح ليس بحد ذاته دليلاً على أن الهدف ضعيف.
esfile-6447 command \
--target 192.168.56.10 \
--name getDeviceInfo \
--i-understand-this-is-an-authorized-lab
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 وطلبات HTTP تحتوي على حقول JSON command. يمكن لضوابط الشبكة تقليل التعرض، لكن الإصلاح الدائم هو إزالة التطبيق الضعيف أو ترقيته. يجب أن ترتبط خدمات الإدارة المدمجة بـ loopback ما لم يكن الوصول عن بُعد ضروريًا، ومصادقة كل طلب، وتفويض كل عملية، وإنهاء الخدمة عند عدم الحاجة إليها.
python -m unittest discover -s tests -v
تبدأ الاختبارات خادم HTTP محاكيًا مقيدًا بالحلقة المحلية. لا تتصل بأجهزة خارجية.
هذا المشروع مخصص للتحقق الدفاعي والتعليم وأبحاث الثغرات المرخصة. لقد تم حذف المسح الضوئي للشبكات الفرعية عن عمد، والوضع الافتراضي هو اختبار الاتصال فقط. الوصول إلى جهاز دون إذن قد يخالف القانون والسياسة حتى لو لم يتم الاحتفاظ بأي ملفات.
يُنسب اكتشاف الثغرة وإثبات المفهوم العام الأصلي إلى الباحثين المشار إليهم أعلاه. التنفيذ في هذا المستودع هو إعادة تنفيذ تعليمي مستقل.