type
status
date
slug
summary
tags
category
icon
password
 
 

Android引入Uid1000 授权限制

checkGrantUriPermissionUnlocked 中仅允许UID=1000的系统应用授权两个provider
但是对于手机厂商而言,一般情况下会允许其他的一些provider授权
notion image
 

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

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

ColorOS存在root_path配置的provider

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

OnePlus7Hydrogen 中如果flag最高位为1则允许授权

就可以通过StartAnyWhere漏洞对任意App的FileProvider进行授权,下面是对system应用的provider进行授权读写
 

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

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

参考

  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
最新发布
基于eBPF实现一个简单的隐蔽脱壳工具-eBPFDexDumper
2025-1-9
LakeCTF At your Service 题解
2024-12-13
PendingIntent-security
2024-12-1
Android grantUriPermission与StartAnyWhere
2024-11-30
eBPF实践之修改bpf_probe_write_user以对抗某加固Frida检测
2024-11-10
CVE-2024-31317 Zygote命令注入提权system分析
2024-11-10
公告