该漏洞的成功利用不需要任何条件。
通过该漏洞,任何应用软件可以获取下列信息:
- 硬件数据,包括:系统版本、系统编译信息、内存和CPU信息、电池信息、IMEI、基带版本、设备生产序号等
- 当前状态数据,包括:当前进程基本信息、所有进程的trace结果、分区挂载信息、路由表和ARP缓存表、运营商、当前系统服务状态、系统维护的Content Provider和Broadcast数据结构和权限管理信息、各软件运行时间
- 日志数据,包括:系统日志、系统事件日志、内核事件日志、内核消息、
- 软件数据,包括:已安装软件的包名、版本、签名证书、使用权限、安装时间、上次使用时间
- 用户敏感数据,包括:已连接的WiFi *** (MAC地址、SSID、类型、IP、DNS、网关、DHCP)、周围可用WiFi *** 的SSID/BSSID和类型等;、Broadcast处理的历史记录(可以对用户行为做统计)、当前地理位置、历史地理位置、用户当前账户的用户名、用户数据同步账户的用户名和时间、软件使用情况统计数据
当前的MIUI系统存在两个问题:
1. 以普通shell权限可以运行/system/bin/bugreport程序,该程序用于搜集系统各类信息并输出
2. 安装了一个软件/system/app/Cit.apk,原用于出厂硬件测试用,该软件中,com.miui.cit.CitBroadcastReceiver组件存在permission re-delegation类型漏洞,通过利用该漏洞,可导致任何软件通过特定参数远程触发该接收器,触发该软件自动调用bugreport,并将结果保存在SD卡的特定目录/sdcard/MIUI/debug_log/下,如前所述,SD卡的文件可以被任意软件读写
上述两个问题中的任何一个都可以导致对本漏洞的利用。任何应用软件通过解析bugreport的输出结果,得到上述信息。
漏洞证明:三种利用 *** :
1. adb shell进去,不提权,直接bugreport >/sdcard/dump.txt即可,如图所示:
2. 对应用软件,在源码中用Runtime.getRuntime().exec()函数执行bug report即可。获得输出结果有两种 *** ,一是上面所示的重定向,二是对返回的Process对象调用getOutputStream() *** 。不具体演示了,我在小米的代码里有看到使用。
3. 对CitBroadcastReceiver的permission re-delegation攻击,代码片段如下:
Intent intent = new Intent();
intent.setAction("android.provider.Telephony.SECRET_CODE");
intent.setData(Uri.parse("android_secret_code://284"));
sendBroadcast(intent);
然后稍等十秒即可从SD卡的/sdcard/MIUI/debug_log/目录读到类似于bugreport--.log的文件
可以读取到的部分数据如下:
黄绮珊年龄:48周岁黄绮珊,1968年3月23日出生于重庆,中国大陆女歌手。1995年获广州十大金曲的最具潜质女歌手奖,同年录制电影《梦断南洋》及台湾电视。 黄绮珊年龄:48周岁黄绮珊,1968年3月...
对于普通人来讲,有个几万或几十万的资金,总想着做点什么,希望有个稳定的现金流、扩大资金额度。不少人会想到加盟个什么项目,比如加盟个奶茶店、炸鸡店、面馆等,加盟项目的生意虽小,但每年赚个几十万也不错。...
每年在辽视春晚的舞台上,都会汇聚众多的新老朋友和人气嘉宾,今年同样也不例外。作为辽视春晚的老朋友,郎朗不仅会为全国观众带来精彩的表演,更是在采访中谈到了自己的公益事业,以及对艺术学习的看法。而“乘风破...
豆瓣上妹子比较多,几年前我们分享的“请不要含羞”小组, 那时尺度就很大,没想到现在还在呢,豆瓣这个级别的网站很少有这么大尺度的了。 刚去逛了一圈,天天依旧有许多妹子发帖,而且很劲爆, 进入页面后...
病了到医院的情况下,医师得出的药方或是签字全是很草率的,压根不明白。很多人都是有相近的历经,听说医生写字是有根据的。那麼医生的字是有根据的是什么原因 医生的字为何都那麼草率。产生有关详细介绍。 医...
黉拼音:hóng简体部首:黄五笔:IPAW总笔画:16基本解释:古代称学校:~门。~宇。~序。~宫。农事既毕,乃令弟子群居,还就黉学。——《后。 黉hóng古代的学校农事既毕,乃令弟子群居,还就黉学。...