一键过某金融apk抓包检测并定位加密位置(一)

admin 2024年10月3日14:32:28评论133 views字数 1080阅读3分36秒阅读模式

遇到了某个金融app,有各种检测,觉得可以分享一下。

一键过某金融apk抓包检测并定位加密位置(一)

声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途给予盈利等目的,否则后果自行承担!

一键过某金融apk抓包检测并定位加密位置(一)

打开apk,因为用的是kernelSu隐藏的root,一切正常,没有闪退,没有报错。

开启代理抓包,网络连接失败,抓不到登录包。不出意外是存在证书或者代理检测。

一键过某金融apk抓包检测并定位加密位置(一)

一把梭哈,先上LSPosed插件,算法助手pro,非常的好用,继承了很多功能

算法助手 https://mp.weixin.qq.com/s/JPzjpQ3ZoY7cd5K1ZywTZA

勾选网络环境的几个

一键过某金融apk抓包检测并定位加密位置(一)

burp尝试抓包,成功抓到数据包。

一键过某金融apk抓包检测并定位加密位置(一)

如上图所示,刚过了一座山,又有一条请求包和响应包都加密了。接下来我们寻找加密的位置和算法。

要寻找加密位置,有几种思路。

  • fuzz定位加密方法:假设apk采用了通用的加密算法,那我们frida hook加密算法的脚本 或者借助算法助手的算法分析定位。

  • 我们发送请求是需要点击按钮的,我们可以hook按钮,然后根据调用栈找到相应按钮事件的代码位置,然后分析上下文

  • 如果类名未混淆,根据开发的命名习惯,objection搜索类中带有encrypt、security等字段,然后批量hook这些,查看是哪个类相应了。

apk脱壳

fart脱壳,或者其他脱壳办法
有一个免费的在线脱壳网站,挺好用的,需要微信注册登录
https://nop.gs/

一键过某金融apk抓包检测并定位加密位置(一)

脱完可以看了,搜索关键词,找到了几个类,优先看自定义的加密类

一键过某金融apk抓包检测并定位加密位置(一)

查看哪些类引用了这些类

一键过某金融apk抓包检测并定位加密位置(一)

依次查看后,确定是下图的类是请求包的加密类,算法sm国密系列

一键过某金融apk抓包检测并定位加密位置(一)

最后得出请求包加密的组成部分

SM2("要加密的字符串", "密钥") + 分隔符 + SM3("要加密的字符串")
通过hook 加密函数,可得到明文的信息。

第一次构造数据包

我根据得到的算法,开始构造自己的数据包。然后我就开始了漫长的测试,失败,再测试。一度让我怀疑人生,直到我对比了我SM3的hash和请求包中的hash,二者完全不一样。

我恍然大悟,丫的开发他魔改了加密算法!!!
一阵头秃,只能去看分析加密算法了。定睛一看,哦吼,是native层的,在so里面。

一键过某金融apk抓包检测并定位加密位置(一)

也是十分幸运,so中函数名没进行混淆

一键过某金融apk抓包检测并定位加密位置(一)

然而,我浅薄的so功底,着实有些捉襟见肘,跟着跟着就找不到了。不过,我们没必要这么死板。要构造加密请求包不一定要完全复现出加密步骤,可以通过frida hook,然后rpc调出去,又或者根据通过unidbg模拟环境主动调用so函数。

这些留到下期再说。

原文始发于微信公众号(进击的HACK):一键过某金融apk抓包检测并定位加密位置(一)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月3日14:32:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   一键过某金融apk抓包检测并定位加密位置(一)https://cn-sec.com/archives/3229936.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息