brida和frida练习hook逆向技术【中】

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 本文介绍了如何在未加壳、未混淆的 APK 中定位并破解加密算法,并使用 Burp 插件 autoDecoder 进行自动化加解密及口令爆破。文中详细描述了从反编译到配置插件的全过程,并提供了关键要素如 AES 算法、SECRET_KEY 和 Base64 编码的具体应用。此外,还展示了如何调整并发数以提高爆破成功率。

非常抱歉brida插件的安装使用一直报错,这里没有用brida和frda去hook加密算法,是直接反编译源码定位加密算法,接着使用另一个burp插件完成后续自动化加解密及口令爆破步骤。这种方式适合apk没有加壳、混淆的情况,对于无法反编译或反编译后加密算法代码缺失的情况还是更建议使用brida和frida去hook,所以加了一个中篇,等hook环境调试完成补下篇哈~


前置信息:

1、自动化加解密使用的burp插件是autoDecoder,项目地址:https://github.com/f0ng/autoDecoder

2、autoDecoder用法及案例项目地址:https://github.com/f0ng/autoDecoder-usages

3、上篇已完成测试APP客户端与服务端通信,能使用burp捕获通信数据包

解密前encryptedPassword字段值是加密的,无法直接进行口令爆破

定位算法

将测试APK拖入jadx进行反编译

使用关键字“encrypt”检索加密算法,检索位置在菜单-导航-文本搜索,我的习惯是如果搜索结果有主函数优先到主函数找是否与加密算法相关,调用关系大概率是主函数调用其他函数,然后顺着去分析完整的加密逻辑。

在MainActivity中可以看到,用户输入的密码password和SECRET_KEY(固定值:1234567890123456)一起被送入AESCipher的encrypt方法进行加密,以json的数据格式输出用户名和加密后的password。

双击AESCipher查看详细的实现逻辑,使用AES算法、ECB (Electronic Codebook,电子密码本模式)、PKCS5Padding填充方案加密字符串转换为字节数组的SECRET_KEY和password,再将AES加密后的结果进行base64编码。


总结几个关键要素

1、AES算法:AES算法、ECB (Electronic Codebook,电子密码本模式)、PKCS5Padding填充方案

2、SECRET_KEY:1234567890123456

3、原始的Base64编码


插件配置

配置autoDecoder插件,使用自带算法加解密模块
添加为请求包加/解密方式

添加为响应包解密方式

添加正则表达式提取请求包中需要加解密的部分

点击保存配置才能让这个插件生效

最后在选项中选择加解密选项,加解密设置,点击保存配置

口令爆破

将登录请求包发送到autoDecoder的Decode-Autodecoder模块

password已被解密

选中encryptedPassword的字段值进行明文字典爆破即可,插件会自动加密

实际上发送的请求包中encryptedPassword字段值已经被插件根据我们的配置自动加密了,加密内容可以在日志中查看

有一个要注意的地方:设置小一点的并发数,不然爆破会失败

10并发数出现错误

1并发数没有出现错误

至此自动化加解密及口令爆破已实现,hook过程会在之后实现。


声明

所有内容的初衷只是分享本人的学习收获,对于因读者不当使用或修改本文内容的任何损失,作者不承担任何直接或间接的连带责任。

文章内容如有不妥,烦请大家联系修改,谢谢大佬们批评指正。

目录
相关文章
|
监控 JavaScript 前端开发
|
2月前
|
Java Android开发 数据安全/隐私保护
brida和frida练习hook逆向技术【上】
使用zangcc测试包.apk,练习 Brida 和 Frida 的 Hook 逆向技术。
17 0
brida和frida练习hook逆向技术【上】
|
6月前
|
XML Java API
安卓逆向 -- Xposed模块编写
安卓逆向 -- Xposed模块编写
66 0
|
6月前
|
Shell Android开发 数据安全/隐私保护
安卓逆向 -- Frida环境搭建(HOOK实例)
安卓逆向 -- Frida环境搭建(HOOK实例)
136 0
|
6月前
|
算法 安全 Android开发
安卓逆向 -- Frida Hook某车_sign算法分析
安卓逆向 -- Frida Hook某车_sign算法分析
119 0
|
JavaScript Java Linux
逆向神器Frida
逆向神器Frida
194 0
|
JavaScript 前端开发 Linux
Hook神器—Frida安装
Hook神器—Frida安装
|
Swift iOS开发
iOS 逆向编程(二十一)代码编译过程(以及什么阶段可反编译)
iOS 逆向编程(二十一)代码编译过程(以及什么阶段可反编译)
149 0
|
算法 Java 数据安全/隐私保护
frida hook native层巧解Android逆向题
frida hook native层巧解Android逆向题
|
前端开发 C++
前端hook项目moblie总结笔记-打包apk过程
前端hook项目moblie总结笔记-打包apk过程
98 0
前端hook项目moblie总结笔记-打包apk过程