【安全攻防挑战】Android app远程控制实战
阿里聚安全攻防挑战赛第三题AndroidPwnMe解题思路
大家在聚安全挑战赛正式赛第三题中,遇到androidapp远程控制的题目。我们今天带你一探究竟,如何攻破这道题目。
一、题目
购物应用pwn(6分)
环境:
-要求在ARM64位Android手机上攻击成功,也可在模拟器(运行Google官方AndroidSDK提供的GoogleAPIsARM64Android7.0镜像)中攻击成功,其中镜像会打包提供,参见题目下载链接。模拟器执行命令参考如下:(qemu-system-aarch64-sysdir.-datadir.-kernelkernel-qemu-systemsystem.img-ramdiskramdisk.img-datauserdata.img)
-包含bug的apk一个
-必须在非root环境
攻击过程:
-将apk装入模拟器中。
-打开chrome浏览器,访问选手的恶意网页的地址。(web服务由选手自己搭建)
-通过选手的恶意网页,即可获取此app的shell。
-apk显示“购买成功”
目标:Chrome浏览器点击链接,导致远程触发app的购买逻辑,app界面上显示“购买成功”。
评分标准:通过浏览器访问网页即达到控制app远程任意代码执行得6分,其中:
1.反弹shell控制app,5分。
2.能够进一步让app界面显示“购买成功”分数进一步得1分。
3.需提供远程任意代码执行的利用程序源代码。
二、解题思路
攻击流程如下:
1.AndroidIntentswithChrome
其中题目中要求“Chrome浏览器点击链接”,Chrome的官方文档规定了如何从链接发intent启功app,官方文档链接:https://developer.chrome.com/multidevice/android/intents。反汇编ExamPwn.apk文件发现AndroidManifest.xml中果然有接受相关intent的内容。如图:
类LoginActivity先接受这个intent解析出帐号密码并匹配,帐号密码直接以明文硬编码在类LoginActivity中,反汇编直接可以看见。匹配正确后将intent中的url丢给类MainActivity。也就是说攻击者的网页至少如下:
阅读全文直接点击:http://click.aliyun.com/m/9829/