前言笔者在使用自己编写的 Drozer 模块对国内流行的安卓手机应用进行自动化扫描后发现有大量涉及用户财产和隐私的流行安卓应用存在 Android AllowBackup 漏洞,已测试成功受到漏洞影响的应用包括:新浪微博,百度云网盘,美团,大众点评,去哪儿等等。 漏洞案例先来看一个情景案例,某IT男一直暗恋部门某女神,一天女神手机太卡了找IT男帮助清理手机空间,IT 男高兴地答应女神两分钟搞定,屁颠屁颠的跑到自己电脑旁边连上手机,女神在一边呆呆的看着IT男敲了几行代码然后在手机上点了几下,最后果然两分钟不到就搞定了,在女神谢着离开后,IT男露出了 WS 的笑容。 没错,他成功了盗到了女神的微博账号,终于不用问同事女神的微博账号是多少了~当然这不是结局,一天晚上睡觉时,他看了女神的微博私信后心突然碎了。到底发生了什么,这背后有啥不可告人的秘密?且看本文详细分析。 漏洞背景在谷歌 2010 年发布 Android 2.2 Froyo (冻酸奶)系统中,谷歌引入一个了系统备份的功能,允许用户备份系统应用和第三方应用的apk安装包和应用数据,以便在刷机或者数据丢失后恢复应用。 第三方应用开发者需要在应用的 AndroidManifest.xml 文件中配置 allowBackup 标志(默认为 true )来设置应用数据是否能能够被备份或恢复。当这个标志被设置为true时应用程序数据可以在手机未获取 ROOT 的情况下通过adb调试工具来备份和恢复,这就允许恶意攻击者在接触用户手机的情况下在短时间内启动手机 USB 调试功能来窃取那些能够受到 AllowBackup 漏洞影响的应用的数据,造成用户隐私泄露甚至财产损失。 使用反编绎工具 JEB 查看 weibo 客户端 manifest 配置:
在之前的案例正是因为新浪微博安卓客户端(最新版) AndroidManifest.xml 并没有配置: Default 导致女神手机中的微博客户端数据可以在短时间内通过 ADB 调试备份到电脑中最后恢复到IT男手机,然后IT男以后每天就可以用女神的账号看女神发了啥微博和私信内容。当然可利用的场景当然不止于此,想想,如果存在漏洞的是你的团购应用呢(看看有啥团购券我先来用吧),当然还有你的网盘应用(说不定可以看女神的私密照~),哦,对了连社交和理财应用也不能放过(女神们还敢把手机给 IT 男清理不)。 检测方法1)手工检测测试环境:
测试流程:
Default
Default
2)在线检测目前国内三个主要的Android应用漏洞在线检测系统均能较好的检测此漏洞,建议普通用户和开发者使用腾讯金刚审计系统上传应用安装包进行检测。
1.腾讯金刚审计系统检测结果( http://service.security.tencent.com/kingkong )
3.360捉虫猎手检测结果( http://appscan.360.cn/ )
影响范围目前测试了手上一台安装有Android 4.1.1系统的魅族MX2手机和安装有Android 4.4.2系统的魅族MX4手机均测试成功,理论上影响Android 2.2-Android 4.4系统中存在风险的应用。 建议评级:尽管此漏洞的利用条件较高,需要物理接触,但此漏洞对涉及用户财产与隐私类的APP来说杀伤力较大,建议厂商视情况修复。
修复方案开发者如要避免应用数据泄露的风险,应当在设置 AndroidManifest.xml 文件中配置 android:allowBackup=“false”,此时应用程序数据无法被备份和恢复。或者在应用启动时检测手机硬件和网络环境是否改变,如果存在异常则强制退出或重新登录。 编写Drozer模块实现漏洞自动化扫描Drozer是MWR InfoSecurity公司开发的一款安卓应用安全评估框架,其社区版开源在Github上(https://github.com/mwrlabs/drozer )。对于从事安卓应用漏洞测试的安全研究者们来说,他们可以使用drozer提供的框架自己编写模块(Module)方便对的安卓应用进行漏洞检测与利用。 以下是自己编写一个Drozer Module,用于自动化批量检测手机中的哪些应用存在AllowBackup风险。 Default
运行截图:
注意事项: 编写脚本实现自动攻击和利用如上文所述,整个漏洞测试过程中需要输入不少命令,对于手速慢和不习惯敲命令的人来说还是略麻烦了点,所以我们可以编写Python脚本来实现自动化攻击和利用。 Default 运行截图:
应用备份生成的.ab文件其实是可以解包的,解包后的目录结构如下:
分别对应了androidmanifest.xml,apk安装包,database目录,files目录,其它目录以及shared_prefs目录,我们可以通过解包来对窃取的应用数据进一步分析。 Default 更多猥琐利用利用方法国外安全公司PALO ALTO早在2014年8月就发过研究报告称超过94%的流行应用存在此漏洞, 大牛Claud Xiao更是在去年Hitcon会议分享过与此有关的研究,如何让这个被很多人厂商视如鸡肋的漏洞有为猥琐的利用呢?这里提两点自己想到的,欢迎大家一起来交流 : )
2)LastPass(一个用户密码管理工具)曾经被发现存在通过备份到其它手机来清除手势密码来登录获取用户储存在LastPass上的所有密码的漏洞(CVE-2013-5113 and CVE-2013-5114)。发散一下思维,储存用户其它密码的还有哪些应用?对!浏览器,那些习惯了记住密码的用户很可能就会被存在漏洞的浏览器卖了。其它就看大家的更猥琐的发挥了~
参考资料:
附件:codes.zip [via@sobug] |
|
来自: icecity1306 > 《产品测试》