type
status
date
slug
summary
tags
category
icon
password
 
 

Android引入Uid1000 授权限制

checkGrantUriPermissionUnlocked 中仅允许UID=1000的系统应用授权两个provider正常情况下,即使可以对别的provider加白名单,system也没这个权限(checkUriPermissionLocked会检查callerUid有没有要访问授权的provider的权限)
但是对于手机厂商而言,一般情况下会允许其他的一些provider授权
notion image
 

某OS存在root_path配置的provider

又如某OS中放行了com.xxxx.phonemanager.files
notion image
而恰好,这个file provider 又可以授权并且有root_path配置,从而可以直接使用ParcelMismatch进行利用,读写系统system_app 可读写(SELinux限制)的文件。
notion image
notion image
 

另外的某OS 中如果flag最高位为1则允许授权

notion image
在设置allowForceGrantPersistableUriPermission 为真后,一旦带有FLAG_GRANT_PERSISTABLE_URI_PERMISSION (0x40) 就会直接return targetUid放行。导致授权成功。
就可以通过StartAnyWhere漏洞对任意App的FileProvider进行授权,下面是对system应用的provider进行授权读写
 

三星Galaxy A51中对部分provider进行放行

但是其中有三个File Provider中有root_pathexternal-path 等配置,从而也可以配合StartAnyWhere进行利用。
 

使用脚本检查ROM中APP是否存在可以利用的provider

先需要将全部APK拖出来,然后检查AndroidManifest.xml 中的内容,其中"android.uid.system" 是必须要检查的 (删除是因为实际上在某些ROM中利用StartAnywhere利用不局限于system应用,即只要callingUID=1000即可,在不强制限制Authority的情况下,其他用户组的App也可以进行授权)。剩下的条件需要根据实际情况确定,比如这里使用FILE_PROVIDER_PATHS 意味着存在File Provider。对于三星和小米而言需要额外检查Authority是否包含在放行区间。
正常情况下system应用还是没有权限访问或者授权别的App的非导出provider的,仅限于部分ROM直接放行的情况,例如上面的某OS
notion image
下面的脚本不完善,可以根据自身需求添加内容。
 

参考

  1. https://i.blackhat.com/EU-21/Wednesday/EU-21-He-Re-route-Your-Intent-for-Privilege-Escalation-A-Universal-Way-to-Exploit-Android-PendingIntents-in-High-profile-and-System-Apps.pdf
相关文章
LakeCTF At your Service 题解
Lazy loaded image
Magisk Eop本地提权漏洞
Lazy loaded image
CVE-2024-31317 Zygote命令注入提权system分析
Lazy loaded image
CVE-2024-0044 Bypassing the "run-as" debuggability check
Lazy loaded image
ByteDance-AppShark静态分析工具
Lazy loaded image
Android-DirtyStream 漏洞详细说明
Lazy loaded image
Pixel5 内核编译并嵌入rwProcMem33Android环境下Seccomp对系统调用的监控
Loading...
LLeaves
LLeaves
Happy Hacking
最新发布
Android grantUriPermission与StartAnyWhere
2025-2-21
腾讯2023SecAndroid初赛题目
2025-2-19
基于eBPF实现一个简单的隐蔽脱壳工具-eBPFDexDumper
2025-1-9
LakeCTF At your Service 题解
2024-12-13
PendingIntent-security
2024-12-1
eBPF实践之修改bpf_probe_write_user以对抗某加固Frida检测
2024-11-10
公告