【安全攻防挑战】Android app远程控制实战

阿里聚安全攻防挑战赛第三题Android PwnMe解题思路

大家在聚安全挑战赛正式赛第三题中,遇到android app 远程控制的题目。我们今天带你一探究竟,如何攻破这道题目。

一、题目
购物应用pwn (6分)
环境:
- 要求在ARM 64位Android手机上攻击成功,也可在模拟器(运行Google官方Android SDK提供的Google APIs ARM64 Android 7.0镜像)中攻击成功,其中镜像会打包提供,参见题目下载链接。模拟器执行命令参考如下:(qemu-system-aarch64 -sysdir . -datadir . -kernel kernel-qemu -system system.img -ramdisk ramdisk.img -data userdata.img)
- 包含bug的apk一个
- 必须在非root环境

攻击过程:
- 将apk装入模拟器中。
- 打开chrome浏览器,访问选手的恶意网页的地址。(web服务由选手自己搭建)
- 通过选手的恶意网页,即可获取此app的shell。
- apk显示“购买成功”

目标:Chrome浏览器点击链接,导致远程触发app的购买逻辑,app界面上显示“购买成功”。

评分标准:通过浏览器访问网页即达到控制app远程任意代码执行得6分,其中:
1. 反弹shell控制app ,5分。
2. 能够进一步让app界面显示“购买成功”分数进一步得1分 。
3. 需提供远程任意代码执行的利用程序源代码。
二、解题思路
攻击流程如下:



1. Android Intents with Chrome
其中题目中要求“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/

猜你喜欢

转载自1105654774.iteye.com/blog/2355278