千寻笔记:有关安卓渗透的几个案例分享

admin 2024年1月3日19:06:37评论44 views字数 1044阅读3分28秒阅读模式

千寻笔记:有关安卓渗透的几个案例分享


案例一 证书双向认证的绕过


千寻笔记:有关安卓渗透的几个案例分享

抓包发现,该app具有证书双向认证,服务端响应如下:

千寻笔记:有关安卓渗透的几个案例分享

app进行脱壳后,搜索关键字(.pfx.bks),定位证书如下,其中.pfx为证书名字,后面为密码:

千寻笔记:有关安卓渗透的几个案例分享

解压.apk文件,将pfx证书导入PC

千寻笔记:有关安卓渗透的几个案例分享

burpuse-optionsClient TLS Certificates选项,新增证书

千寻笔记:有关安卓渗透的几个案例分享

目的地址可以写为服务端的地址或者*,格式为pcks#12

千寻笔记:有关安卓渗透的几个案例分享

选择证书,输入密码:

千寻笔记:有关安卓渗透的几个案例分享

再次抓包,如图所示,已经能正常进行抓包测试:

千寻笔记:有关安卓渗透的几个案例分享

千寻笔记:有关安卓渗透的几个案例分享


案例二 AES加解密


千寻笔记:有关安卓渗透的几个案例分享

抓包发现数据包对关键字进行了加密:

千寻笔记:有关安卓渗透的几个案例分享

搜索关键字EncryptcryptDecrypt等,最终定位登录加密的代码如下:

千寻笔记:有关安卓渗透的几个案例分享

AES加密对应的方法和密钥如下:

千寻笔记:有关安卓渗透的几个案例分享

aesEncrypt调用过程如下:

aesEncryptstr1,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的hook


千寻笔记:有关安卓渗透的几个案例分享

app提示如下:

千寻笔记:有关安卓渗透的几个案例分享

搜索“检测到当前系统网络环境非法”,发现其检测函数为isProx.isWifiProxy()

千寻笔记:有关安卓渗透的几个案例分享

函数返回为bool,直接frida hook返回false即可。:

千寻笔记:有关安卓渗透的几个案例分享

千寻笔记:有关安卓渗透的几个案例分享

调试发现,未成功hook相关函数:

千寻笔记:有关安卓渗透的几个案例分享

查找资料,发现加固后的app入口已发生改变,需要hook applicationOncreate,拿到classloader进行对比,如果classloader中包含要hook的类,在之后写上hook的代码即可:

千寻笔记:有关安卓渗透的几个案例分享

hook成功

千寻笔记:有关安卓渗透的几个案例分享

千寻笔记:有关安卓渗透的几个案例分享

附 参考资料及使用工具

frida去特征版:https://github.com/hzzheyang/strongR-frida-android

脱壳脚本:https://github.com/r0ysue/frida_dump

脱壳APPDITOR_3.0

jadx工具:https://github.com/skylot/jadx

hook加固后的函数:https://bbs.kanxue.com/thread-246767.htm


 监制:船长、铁子   策划:格纸   文案:1844   美工:青柠

原文始发于微信公众号(千寻安服):千寻笔记:有关安卓渗透的几个案例分享

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月3日19:06:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   千寻笔记:有关安卓渗透的几个案例分享https://cn-sec.com/archives/2360824.html

发表评论

匿名网友 填写信息