【安全攻防挑战】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/

相关推荐