移动安全(七)|实战获取某APP登陆算法

  • A+
所属分类:安全文章

0x00背景

本文依然是团队大佬 非尘 学习逆向的学习笔记,这一系列都将以实验的方式进行知识点学习和总结,后续将持续更新,不喜勿喷~

本文及后续文章中使用到的靶场地址:

https://adworld.xctf.org.cn/task/task_list?type=mobile&number=6&grade=0。

移动安全(七)|实战获取某APP登陆算法

0x01实验目的

获取xxxAPP的登录加密算法。

0x02实验工具

Jeb,Fiddler,雷电模拟器,真机nexus5,spyder(hook用的,也可以notpad++)

0x03实验分析

1)首先将app安装到雷电模拟器中,打开运行,点击登录,使用Fiddler抓取登录包:

移动安全(七)|实战获取某APP登陆算法


2)通过抓包分析发现,该app请求登录的时候,传递的数据只有sign加密未知,剩下几个参数都是已知的,因此破解加密算法的关键就在sign这个参上。使用jeb搜索字符串”sign”,发现多处存sign,然后可以通过别的字段来进行定位,通过分析登录包和代码可得知,多处存在sign区别在system_name,然后在我们初步断定的地方下断点来动态调试(在所有你认为可疑的地方下断点是非常必要的,定位关键代码往往是我们破解的关键),下断点的快捷键是ctrl+b。

移动安全(七)|实战获取某APP登陆算法


移动安全(七)|实战获取某APP登陆算法

3)然后使用jeb开始动态调试,发现成功断在刚刚的位置,然后分析此处的代码逻辑。通过代码可知,sign的取值为b.a()的返回值,传递进去两个参数,一个为请求参数的hashMap值,注意,此时参数params这个集合中是没有将time添加进去的,另一个为时间戳,跟进b.a(),发现params.getURLHashMap是HashMap类型的(HashMap中存储的是键值对方式),详细代码分析如图所示:


移动安全(七)|实战获取某APP登陆算法


移动安全(七)|实战获取某APP登陆算法


4)通过分析可知,sign的值是将如下图所示的几个参数排序后,取其值然后进行某些字符的替换,然后进行MD5处理,然后拼接上一固定字符串和时间戳进行二次md5操作即为最终的sign值。


移动安全(七)|实战获取某APP登陆算法




5)为了验证我们的逻辑是否正确,我们可以采用多种方式来进行验证,如动态调试获取相应的返回值,hook获取返回值,匿名管道(哈哈,也称log日志打印,smali插桩)方式验证。在这里我使用动态调试和hook的方式来进行验证(由于不会将java中hashmap类型转为js中的hashmap类型,由此借助动态调试观察一下加密前的参数值)。首先在tostring处下断点,然后启动调试到此处,查看对应寄存器的值v9,可发现为其值为account=18434366456&clientid=1&device_id=865166020016286&ip=172.16.2.12&modules=cloudlogin%3A1&password=qwerasdf&siteid=10001&system_name=android&type=android,和我们分析的完全一样


移动安全(七)|实战获取某APP登陆算法


移动安全(七)|实战获取某APP登陆算法


移动安全(七)|实战获取某APP登陆算法


6)然后使用Friday的hook查看两次md5的值,发现最后一次hook的值和我们抓包获取的值完全一样,验证了我们的分析没有错误。


移动安全(七)|实战获取某APP登陆算法


7)hook的代码如图


移动安全(七)|实战获取某APP登陆算法

移动安全(七)|实战获取某APP登陆算法

团队继续招新啦!!!

移动安全(七)|实战获取某APP登陆算法

团队现招募一名Android逆向方向的大佬,或者有过相关Android开发经验的亦可。
     
团队现多为攻防和漏洞挖掘方向(团队人员17名),仅存的逆向方向的非尘希望能够有个一起学习和研究的队友,因此希望能够招募一名有缘人,有意者可以将简历发送至团队邮箱:
[email protected]
期待大佬的加入~

1








往期经典推荐:

漏洞笔记|记一次与XXE漏洞的爱恨纠缠

深入探究浏览器编码及XSS Bypass

Apache Solr远程命令执行复现

“最后”的Bypass CDN 查找网站真实IP

渗透实战(一)|BSides Vancouver 2018 (Workshop)

移动安全(一)|Android设备root及神器Xposed框架安装

内网信息收集篇

                                                MSF 下域内渗透

>>关于我们:

WhITECat安全小组隶属于起源实验室分支安全小组,主要致力于分享小组成员技术研究成果、最新的漏洞新闻、安全招聘以及其他安全相关内容。团队成员暂时由起源实验室核心成员、一线安全厂商、某研究院、漏洞盒TOP10白帽子等人员组成。

欢迎各位大佬关注^_^

关注我们

移动安全(七)|实战获取某APP登陆算法

开放共享

扫描上方二维码添加关注

一起分享安全狮的日常




发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: