2

浅谈移动APP攻击

 2 years ago
source link: http://www.androidchina.net/4637.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
浅谈移动APP攻击 – Android开发中文站

对手机应用程序的攻击并不是什么新鲜事了,网络上也有很多这方面的教程。不过即便如此,依然有很多渗透测试员无法对其攻击技术进行分类,甚至也做的不好。手机应用的攻击手法和其他形式的攻击非常相似。但是如果你不经常练习这些手法,也是毫无用处。

所以我们该如何提高自己的水平呢?事实上google应用商店有超过1.5百万的App,其中也不乏存在漏洞的App,甚至也有专门的测试App,大家都可以下载来玩。

我们总结下移动应用的分析手法,主要包括:

文件系统分析

源代码分析

在本文中,我们将针对文件系统分析进行说明。如果有必要的话,将来还会对这进行一些扩展。

要想访问文件系统的内容,我们需要获取一定的权限。在Android中通常指的就是Root权限。有很多人说:“有root权限当然好办了,如果没有的话你不就什么都做不了,而且大多数用户的设备都没有root过” 。这点问的好,在我为一个企业演示什么是真正的安全威胁的时候,就想着能不能写一个工具可以不用通过root权限就能访问文件系统,于是BackHack就诞生了。

BackHack大概是2年开始创建的,但是由于工作忙,一直把它放在一边。直到前几周,我发现了一款新游戏: Alto’s Adventure。这个游戏很适合用来消磨时间,制作的也非常漂亮。我花了很长时间闯关并且收集金币,就是这种情况下,我决定让backHAck重见天日,看看我对这个APP做些什么。

首先,我们得确保安装了Android Studio,或者至少安装了Android Debug Bridge.当然我们也需要我们的设备开启调试模式。这个时候,发送“adb devices”指令,并且确定你的设备已连接。

现在,我们运行backHack。(python backHack.py)

backHack使用一个很简单的目录系统做的界面,非常容易使用。首先我们需要选择想要“嘿嘿嘿”的app。进入选项1出现右图,然后选择1选项可以列出设备上的app列表,选项2提供搜索app的功能,或者选择选项3直接输入app的名称。我们的目的是分析Alto’s adventure,所以我们选择用选项2搜索’alto’,如下图,可以看到找到一个名字是“com.noodlecake.altosadventure”的app,然后我们把这个名字复制粘贴到选项3中,返回主目录:

接下来,我通过选项2 Backup and Extract App来备份app。在这一步骤,程序将会提醒你解锁你的设备,并且确定这个备份操作:

一旦备份成功,backHack就会提取出这个备份, 将文件系统的内容放在apps/<APPNAME>目录下。本案例中的路径是apps/com.noodlecake.altosadventure。

然后我们可以随便看看文件系统里面有什么。通常,sp(shared_prefs)文件夹和db文件夹(database)是个好地方。在Alto’s Adventure中,有一个名叫“com.noodlecake.altosadventure.xml”的XML文件夹。

我们查看这个文件,发现app的配置信息,包括金币和等级。我发现可以很容易更改这个值,看下改了后会发生什么事,我们把金币设置成999999999 并且等级设置成60。(60是最高等级,而我就不把金币设置到$1,000,000,000,就不就不,急死强迫症患者—。—)

保存文件后,我们返回backHack并且选择选项3,这样就能重新打包你的app然后重启你的设备。然后,软件提示恢复app,如下图:

现在,app已经恢复了,我们打开app看看会发生什么。

999,999,999的金币,等级变成了61级!(注意,XML文件中我们设置成60的参数是的是currentGoalLevel,这个参数实际上意味这着“完成目标等级”。当然,金币达到 1,000,000,000。猜猜他们是否已经达到上限了?)

好吧,这是个很有趣的方式,可以在游戏的时候得到一些额外的金币和等级,同样这个方法可以用在任何app上。

很多时候,这不仅仅只是修改下app数据,你还能可能找到一些密码和其他敏感信息,backHack很好的展示了没有root的设备也会有的风险,因此,其实所有没有锁的设备都能被获取到。

*参考来源:community.rapid7,FB小编东二门陈冠希编译,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

转载请注明:Android开发中文站 » 浅谈移动APP攻击


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK