欢迎访问Sunbet官网(www.sunbet.us),Allbet欧博官网(www.ALLbetgame.us)!

首页Sunbet_新闻事件正文

小米Redmi 5 Plus 身份验证绕过漏洞分析

admin2020-06-1568漏洞

0x01 漏洞描述

小米Second Space取代了MIUI设备上的Android用户配置文件。它允许管理员和第二用户通过主屏幕上的图标或锁定屏幕来切换配置文件,这两个用户空间都可以用PIN或密码保护。

在小米MIUI系统中发现了一种方法,该方法允许用户在不提供密码或PIN的情况下在空格之间切换。这需要启用“第二空间”和“密码/ PIN”屏幕锁定以及USB调试。

该漏洞是由ADB命令触发的,该命令发送意图以绕过密码提示的标志启动SwitchUserService服务。结果,用户可以在不知道密码的情况下立即切换空间。

问题是在Redmi 5 Plus设备中发现的,但已确认会影响多个最新的MIUI版本。

0x02 漏洞验证

验证全新的Redmi 5 plus设备:

1. 设立“第二空间”的功能,如果提示不能设置,从设置锁屏密码或PIN 设置>第二空间;

2. 导航到“设置”>“关于手机”并在MIUI版本上点击7次以激活“开发人员选项”;

3. 从设置>其他设置>开发人员选项> USB调试中启用USB调试;

2. 出现提示后,连接USB线并授权计算机;

5. 键入以下命令来获取Second Space用户的ID,然后绕过密码/ PIN提示切换到该ID。

 $ SECOND_USER=`adb shell pm list users | grep -o "{[0-9]*" | tr -d '{' | tail -n 1`
 $ adb shell am start-service --ez params_check_password False --ei params_target_user_id $SECOND_USER -a com.miui.xspace.TO_CHANGE_USER

无需提供密码即可从“第二空间”切换到“第一空间”

 $ adb shell是启动服务-e params_check_password否-e params_target_user_id 0  -a com.miui.xspace.TO_CHANGE_USER

下面的视频演示了该过程  (建议全屏观看)。

https://labs.f-secure.com/assets/Uploads/demo3.mp4


记录了以下操作:

1.(00:02)切换到第二个空间,当屏幕变黑时请求并提供PIN输入,可通过短暂显示的“设置”活动看到;

2.(00:13)切换回主要空间,要求并提供PIN输入。再次简要显示“设置”活动;

3.(00:29)切换到没有PIN的第二个空格,不弹出“设置”;

4.(00:43)切换回主要空间,更改params_target_user_id,无PIN时未弹出“设置”;

5.(01:23)再次切换到第二空间以在相关设置中显示PIN输入要求。

0x03 技术细节

负责大多数“第二空间”功能的系统应用程序/程序包是com.miui.securitycore 。对以下设置中“在空间之间切换”选项的静态分析使我们指向SecondSpaceSettingsFragment 类,该类通过调用switchToOwnerSpace()方法来实现此切换  。依次启动com.miui.securityspace.service。

SwitchUserService服务


在此服务的实现中, startCommand()重写调用处理 checkPasswordBeforeSwitch(),然后从启动切换过程的位置调用 SpaceManager.switchUser()。

该漏洞在于在checkPasswordBeforeSwitch()内强制执行密码要求的方式,因为存在布尔值足以跳过提示。这意味着当将params_check_password extra设置为False 时发送服务启动意图时,可以绕过密码输入。可以通过发出以下命令,使用ADB Shell而不需要root访问权限来实现:

 $ am start-service --ez params_check_password False --ei params_target_user_id 10 -a com.miui.xspace.TO_CHANGE_USER

上面的命令也可以通过将params_target_user_id 整数指定为0 来从第二个空间切换到主要空间。

对应用程序的AndroidManifest.xml进行更仔细的检查后发现,该服务未声明为private,或者export = false 。但是,如果未明确设置,则由于存在intent-filters,因此默认情况下将导出Service ,如清单的以下摘录所示:

 < service android:name="com.miui.securityspace.service.SwitchUserService"
         android:permission="android.permission.INTERACT_ACROSS_USERS"
         android:process="com.miui.securitycore.remote" >
    < intent-filter >
        < action android:name="com.miui.xspace.TO_CHANGE_USER"/ >
    < /intent-filter >< /service >

因此,该服务的安全性取决于启动该服务所需的权限,因为大多数拥有INTERACT_ACROSS_USERS权限的应用程序都是系统应用程序。但是,此权限也由shell程序用户持有,这是普通的非root ADB Shell提供的访问级别。

0x04  时间线


本文翻译自:https://labs.f-secure.com/advisories/xiaomi-second-space:

WhatsApp的用户电话号码在Google可被搜索,这会是又一个漏洞警报吗?

近日,一名研究人员发现,与WhatsApp账户相关的电话号码在谷歌搜索中可以被公开显示出来,他认为这对用户来说是“隐私问题”。 事件回顾 这位研究人员发现,WhatsApp的一项名为“点击聊天”的功能使用户的手机号码处于危险之中,因为它允许谷歌搜索对用户的手机号码进行索引,供任何人查找。但WhatsApp的所有者Facebook表示,这没什么大不了的,搜索结果只会显示用户选择公开的内容。 发现这一问题的赏金猎人阿苏尔•Jayaram(Athul Jayaram)称这些电话号码“被泄露”,并将这种情况描述为一个安全漏洞,该漏洞将WhatsApp用户的隐私置于危险之中。 “点击聊天”为网站提供了一种与网站访问者启动WhatsApp聊天会话的简单方法。它的工作原理是将快速响应(QR)代码图像(由第三方服务创建)与网站所有者的WhatsApp手机号码

网友评论