本机:192.168.137.1 所需软件python2.7.X,android killer 雷电模拟器Kali虚拟机 ip 192.168.137.129 所需软件 drozer Frida objection安卓模拟器:ip 192.168.137.195 所需软件 insecureBankV2.apk(下文简称bank) drozer-agent,frida-server
软件地址:insecureBankV2.apk:c9cK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6V1K9h3&6W2M7$3S2K6K9r3g2@1N6s2W2Q4x3V1k6m8L8X3c8J5L8$3W2V1i4K6u0V1d9h3&6K6k6h3y4#2M7X3g2n7j5h3&6C8N6U0t1`.
drozer:4d6K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6r3f1$3g2U0N6i4u0W2e0p5q4n7f1#2)9J5c8X3c8J5L8%4A6W2M7R3`.`.
frida:c43K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6X3M7X3W2V1j5g2)9J5c8X3k6J5K9h3c8S2i4K6u0r3M7X3g2D9k6h3q4K6k6i4x3`.
第一步,安装app,配置app服务端App安装好后如图,配置ip地址为后面启动app.py的主机地址 执行python app.py,该步骤模拟安卓的客户端的后台服务 问题:bank上来需要登陆,不知道账号密码,所以我们需要先搞个账号密码解决方式:使用drozer进行本地sql注入操作如下:启动drozer agent Kali操作Adb connect 192.168.137.195 adb连接雷电模拟器,需要先在本机执行adb disconnect断开本地adb连接Adb forward tcp:31415 tcp:31415 转发本地端口到模拟器,drozer通讯走adb通道 万事具备,执行drozer console connect运行drozer链接到drozer-agent出现如下表示进入drozer控制台,环境可以使用了 开工先查看bank包名Kali 执行adb shell 进入安卓系统 /data/data/ 目录下查看 回到kali drozer控制台执行如下命令扫描sql注入run scanner.provider.injection -a com.android.insecurebankv2存在SQL注入 开始注入,出现用户名,没有密码,应该是空密码 有了用户名,回到模拟器bank登录界面,开始登陆 登陆成功,并看到设备已经root的提示,模拟器的系统是root过的,所以这里提示已经root,该app只是测试app,通常app检测到root环境会退出app,我们如何绕过他的root检测呢,首先,要了解他检测root的原理,最多的为检查几个root相关文件、/system/bin/su/system/xbin/su / superuser.apk 等文件,针对文件检测,可以直接通过修改文件名绕过重命名/system/bin/su /system/xbin/su 提示没有权限,remount重新挂载文件系统即可,回到bank看效果 陈宫绕过,这个方法太简单,有没有更好玩的方法,当然有,请往下看开始之前请把重名的su恢复原样
模拟器安装frida_server 模拟器x86版本上传frida-server到安卓手机/system/xbin下Adb push Frida-server /system/xbin/Adb shell 进入安卓系统命令行Frida-server 运行frida-server
Kali安装fridaPip3 install Frida Frida-toolsAdb forward tcp:27042 tcp:27042Frida-ps -U出现安卓手机软件列表表示frida配置成功 通过androidkiller静态分析hook功能点,apk直接拖入android killer通过关键字搜索,我们找到了root检测实现方法所在的类,有了类,我们可以编写脚本对所有函数进行hook使用androidkiller快速定位关键点 查找该类所有函数脚本如下 Frida注入获取该类的所有函数,经过静态分析,该函数返回值为布尔值,有可能是判断su是否存在的 有了类和函数,就可以直接编写js脚本更改返回值脚本如下 运行frida注入脚本 成功绕过
有了frida的经验,objection就简单多了运行objection 知道了root检测函数的所在的类和函数,直接hook函数返回值,这里显示true 更改函数返回值, 返回值更改成功,成功绕过root检测
[培训]科锐逆向工程师培训第53期2025年7月8日开班!