某APP的一次渗透

一、前言

 

    最近项目上遇到很多关于渗透测试的资产为App相关的,所以这篇文章主要讲一下App挖掘思路和测试方式,下面的案例均为一两年前在项目上的真实漏洞案例,当然肯定还有其他的挖掘测试思路,所以这里只作为参考。

 

二、APK加固

 

 

    这里首先就是查看APK包是否存在加固问题,如果在做一些安服漏扫相关的测试话其实如果APK未加固也可以写上去。

如下图,使用APK查壳工具分析,一般情况都能查的出来,如果没有查出来可能是该APK比较强大。

图片[1]-某APP的一次渗透-华盟网

 

    查壳未加固的话可以直接查看源码信息,可以获取大量接口信息,也可以看看有没有硬编码啥的,这一步其实和前端代码分析有点类似。

图片[2]-某APP的一次渗透-华盟网

三、APK脱壳

 

 

    如下,这个apk包存在360加固,但是这个360比较好脱壳,所以直接使用工具梭哈了,但是frida-dexdump就脱不了壳,猜测是做了frida的特征检测,可能需要使用魔改的frida才行。

 

图片[3]-某APP的一次渗透-华盟网

 

    这里也不啰嗦,直接使用fundex和lsposed进行脱壳试试

图片[4]-某APP的一次渗透-华盟网

 

    启动app,成功脱壳,在data/data/<包名>下就可以看到脱壳下来的dex文件。这里如果不知道包名是多少可以使用下图中的am monitor命令进行操作

 

图片[5]-某APP的一次渗透-华盟网
图片[6]-某APP的一次渗透-华盟网

 

脱壳后可压缩后下载至电脑本地进行分析

图片[7]-某APP的一次渗透-华盟网

 

如下图,成功脱壳获取其代码

图片[8]-某APP的一次渗透-华盟网

 

四、ROOT检测

 

 

    后续通过发现和这个app打开发现提示root检测

图片[9]-某APP的一次渗透-华盟网

 

    手机打开app,存在root检测,直接使用magisk插件绕过,一个笑脸插件,名字忘了,网上搜索下应该能找到,挺有名的

图片[10]-某APP的一次渗透-华盟网

 

成功绕过root检测打开app

图片[11]-某APP的一次渗透-华盟网

五、组件配置错误

 

    一般APP由四大组件构成,这里可以搜索一下APP文件相关结构文章,这里不在描述,如下图,逆向APK文件后,会有一个AndroidManifest.xml配置文件,一般在activity标签中就是APP使用的组件配置,如果组件配置android:export为true的话那么就是可以导出组件信息,比如下面,均配置为true

图片[12]-某APP的一次渗透-华盟网

 

    如下图,当我没有登录时是无法访问APP里面的其他页面的,但是当组件配置为可导出的话就可以直接在未进行校验的情况下调用该组件信息,相当于如果我想模仿生成一个APP或者生成钓鱼一些社会工程学的操作就会存在危害

图片[13]-某APP的一次渗透-华盟网

 

如下图,直接使用下面语句

adb shell am start -n com.xx.apps.xxx/com.xxx.apps.xxx.ui.profile.ChangePasswordActivity

成功在未登录的情况下调用修改密码页面,因此可以写一个恶意App,未授权调用该正版App组件进行钓鱼工具

图片[14]-某APP的一次渗透-华盟网

 

除此之外还存在文件数据备份配置错误,当配置为true的话可以直接导出该APP用户已登录的数据信息,例如账号,密码,凭据等存储在本地的数据

图片[15]-某APP的一次渗透-华盟网

 

adb backup -noapk com.xxx.apps.xxxx -f es_backup.ab 导出数据

图片[16]-某APP的一次渗透-华盟网

 

    当我们删除app删除数据时,在下载app回来时,我们可以直接恢复备份数据,再不需要重新输入账号密码的前提下即可登录app账号,甚至于拿另一个未下载app的手机一样使用恢复备份操作直接登录别人账号

 

 

 

 

    很多APP会把账号密码信息明文存储在本地,并没有做加密处理,或者说都是一些弱加密,例如base64,md5啥的,很容易能够获得明文信息。

如下图,我们可以获取APP的明文信息,一般本地db文件存放在/data/data/包名/下面

这里可以发现某个xxx1_5.db数据库文件中存在一个useraccount表,这里可以发现用户名,密码,手机号,ID等敏感信息,密码是MD5加密的,所以是可以通过撞库方式破解的

图片[17]-某APP的一次渗透-华盟网

 

泄漏明文日志信息,同样的操作步骤。

图片[18]-某APP的一次渗透-华盟网

六、App Web

 

    除了上述APP独有的测试以外,剩下的其实和web测试差不多,这里简单说一个案例,其实APP测试起来会比web更加轻松一点,当然是该APP没有加固没有做任何的签名的情况下,如果存在签名加固等措施的情况下可能还需要进行逆向。

这个完全没有难度,上传功能点任意上传文件,这里发现某个oss临时凭据泄漏

图片[19]-某APP的一次渗透-华盟网

 

 

可以直接通过临时凭据泄漏登录oss存储桶,里面很多的桶

图片[20]-某APP的一次渗透-华盟网
图片[21]-某APP的一次渗透-华盟网

申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,

所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.

 

来源:(  https://bbs.zkaq.cn   

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容