记一次APP逆向漏洞挖掘过程

admin 2023年11月19日20:03:28评论17 views字数 1248阅读4分9秒阅读模式

免责申明

本文章仅用于信息安全防御技术分享,因用于其他用途而产生不良后果,作者不承担任何法律责任,请严格遵循中华人民共和国相关法律法规,禁止做一切违法犯罪行为。


由于私密性,全程厚码处理!

0x00 前言

    嗯嗯嗯?你们怎么知道我斥巨资买了一个400圆子买了一个谷歌 Pixel 2 手机 8+64 白色后壳,采用了金属与玻璃的结合,快速充电和防水防尘,强大的后置摄像头在光线充足的环境下还是低光环境下,Pixel 2 都能捕捉到细节丰富、色彩鲜艳的影像,让你记录生活中的每个精彩瞬间。保证了流畅的操作体验和出色的多任务处理能力。无论是日常使用、游戏还是多媒体播放,Pixel 2 都能轻松胜任。

那么今天我们用它干点事情!

0x01 APP脱壳

    先使用MT管理器进行查看APP是否加固

记一次APP逆向漏洞挖掘过程

这里我们发现是360加固的,那肯定是要进行脱壳处理的,直接使用hook大法在内存当中抽取代码脱壳处理

记一次APP逆向漏洞挖掘过程

使用Frida框架开启脚本之后,打开APP随意点击成功拿到脱壳之后的dex代码

脱壳之后的文件记一次APP逆向漏洞挖掘过程

0x02 算法分析

    这里之前在测试的过程当中发现了这个APP完全是按照加密走的,根本无法进行正常的渗透测试,拿APP登录数据包举例这里抓包软件为茶杯

记一次APP逆向漏洞挖掘过程

这里可以看到完全都是加密状态,这还只是请求包,我们看看响应包

记一次APP逆向漏洞挖掘过程

可以看到响应包当中返回的data数据也完全是加密状态的,所以我们逆向算法是必不可少的。

将脱壳之后的dex文件一股脑载入到jadx-gui工具当中,这里我们直接搜索登录路径,定位到一处代码

记一次APP逆向漏洞挖掘过程

那么很明显第一个就是,我们跟进去

记一次APP逆向漏洞挖掘过程

最终我们一直跟入函数到g函数(当然不是我自己跟的,找大佬带的我)

记一次APP逆向漏洞挖掘过程

最终这个g函数即为加密函数,我们尝试进行hook

记一次APP逆向漏洞挖掘过程

最终发现HOOK到的数据和数据包当中的值相同

最终通过大哥给我的脚本,拿到了其中的密钥以及加密方式

记一次APP逆向漏洞挖掘过程

使用Python编写加密脚本,尝试是否和数据包当中的值相同

在APP的一处页面当中可以查看同事之间的联系方式等信息先HOOk这个功能点的正常解密数据

先来看看页面什么样子

记一次APP逆向漏洞挖掘过程

然而数据包这样子

记一次APP逆向漏洞挖掘过程

HOOK到的明文是这样子的记一次APP逆向漏洞挖掘过程

那么也就是说如果这个明文进行自己逆向出来的算法脚本加密之后,得到的值为数据包当中的值,那么我们就可以进行正常的渗透测试了,尝试进行加密

记一次APP逆向漏洞挖掘过程

漂亮!,传入其中数据包看看响应包会不会正常返回,在此之前不知道算法的情况下传入了各种数据都是解密数据出错,这里就不截图出错的数据了

记一次APP逆向漏洞挖掘过程

返回一串加密数据那么尝试进行解密

记一次APP逆向漏洞挖掘过程

成功解密 !

0x03 越权挖掘

那么现在我们知道了,我们自己现在只可以查看自己权限下的通讯录信息,对应我们自己权限下的通讯录信息明文id为02252202,那么如果我将别的字符串进行加密传入APP当中会怎样

记一次APP逆向漏洞挖掘过程

02改为01

加密

记一次APP逆向漏洞挖掘过程

发包

记一次APP逆向漏洞挖掘过程

成功的返回出来数据,尝试解密

记一次APP逆向漏洞挖掘过程

返回的信息已经不同,越权到手+1,一般像这种东西,很多APP拥有自己的独立算法之后就不会在鉴权这块在下功夫,更何况还有加固的APP,所以挖掘出来很多漏洞这里只是拿其中之一举例

0x04 完结

记一次APP逆向漏洞挖掘过程


原文始发于微信公众号(进击安全):记一次APP逆向漏洞挖掘过程

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年11月19日20:03:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次APP逆向漏洞挖掘过程http://cn-sec.com/archives/2220118.html

发表评论

匿名网友 填写信息