抓包发现,该app具有证书双向认证,服务端响应如下:
对app进行脱壳后,搜索关键字(.pfx、.bks),定位证书如下,其中.pfx为证书名字,后面为密码:
解压.apk文件,将pfx证书导入PC。
在burp的use-options,Client TLS Certificates选项,新增证书
目的地址可以写为服务端的地址或者*,格式为pcks#12:
选择证书,输入密码:
再次抓包,如图所示,已经能正常进行抓包测试:
抓包发现数据包对关键字进行了加密:
搜索关键字Encrypt、crypt、Decrypt等,最终定位登录加密的代码如下:
AES加密对应的方法和密钥如下:
aesEncrypt调用过程如下:
aesEncrypt(str1,str2)>aesEncrypt(byte,byte)>ase(byte[],byte[],i)
上述代码的结论如下:
1.登录加密的密钥为SEND_KEY。
2.加密使用的是java默认的aes,而不是aes_cbc。
3.登录会将密码先通过md5hash,再通过aes加密。
通过百度,可知,java默认的aes方法为ECB/PKCS5:
使用burp插件BurpCrypto,设置如下:
测试通过:
app提示如下:
搜索“检测到当前系统网络环境非法”,发现其检测函数为isProx.isWifiProxy()
函数返回为bool,直接frida hook返回false即可。:
调试发现,未成功hook相关函数:
查找资料,发现加固后的app入口已发生改变,需要hook application的Oncreate,拿到classloader进行对比,如果classloader中包含要hook的类,在之后写上hook的代码即可:
hook成功
frida去特征版:https://github.com/hzzheyang/strongR-frida-android
脱壳脚本:https://github.com/r0ysue/frida_dump
脱壳APP:DITOR_3.0
jadx工具:https://github.com/skylot/jadx
hook加固后的函数:https://bbs.kanxue.com/thread-246767.htm
监制:船长、铁子 策划:格纸 文案:1844 美工:青柠
原文始发于微信公众号(千寻安服):千寻笔记:有关安卓渗透的几个案例分享
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论