免责声明
❝本公众号所发布的文章及工具只限交流学习,本公众号不承担任何责任!如有侵权,请告知我们立即删除。
0x01 工具介绍
现如今APP隐私合规十分重要,各监管部门不断开展APP专项治理工作及核查通报,不合规的APP通知整改或直接下架。camille可以hook住Android敏感接口,检测是否第三方SDK调用。根据隐私合规的场景,辅助检查是否符合隐私合规标准。
下载地址在末尾
0x02 功能简介
输出堆栈信息文件
python camille.py com.zhengjim.myapplication -ns -f demo01.xls
-ns:不显示日志。默认显示
-f:保存app行为轨迹(堆栈信息)到execl里。默认不保存。
延迟hook
python camille.py com.zhengjim.myapplication -t 3
-t:hook应用自己的函数或含壳时,建议使用setTimeout并给出适当的延时(1-5s,需要根据不同app进行调整)。以免hook失败。默认不延迟。
如下图:不加延迟hook失败。
加了延迟hook成功。
使用attach
-ia:使用attach hook
假如还是hook不上,可以使用-ia
,指定包名或运行进程ID。有些包有同名进程,frida会hook失败,需要使用进程ID。
找进程ID,进入安卓运行ps -A | grep com.zhengjim.myapplication
选择Hook模块
-u:扫描指定模块。与命令
-nu
互斥。多个模块用','隔开。例如:phone,permission
模块列表:
模块名 | 备注 |
---|---|
permission | 申请权限 |
phone | 电话、基站 |
system | 系统信息(AndroidId/标识/content敏感信息) |
app | 其他app信息 |
location | 位置信息 |
network | getNetwork |
camera | 照相机 |
bluetooth | 蓝牙 |
file | 文件 |
media | 麦克风 |
sensor | 传感器 |
custom | 用户自定义接口 |
-nu:跳过扫描指定模块。与命令
-u
互斥。多个模块用','隔开。例如:phone,permission 模块列表同上
指定设备
python camille.py com.zhengjim.myapplication -s emulator-5556
-s:指定连接设备,可通过
adb devices
获取设备 id
自定义hook接口
在script.js
文件里的customHook
方法里可自行添加需要hook的接口。
如hookcom.zhengjim.myapplication.HookTest
类的getPassword
和getUser
方法。如下:
hook('com.zhengjim.myapplication.HookTest', [
{'methodName': 'getPassword', 'action': action, 'messages': '获取zhengjim密码'},
{'methodName': 'getUser', 'action': action, 'messages': '获取zhengjim用户名'},
]);
如果需要过滤参数,使用args参数,如下,只记录参数为android_id
:
hook('android.provider.Settings$Secure', [
{'methodName': 'getString', 'args': [ 'android_id' ], 'action': action, 'messages': '获取安卓ID'}
]);
-u custom
是只检测自定义接口,如图:
是否同意隐私政策
手机设置要打开USB模拟按键点击开关
默认开启, 如不需要改功能加-npp
参数关闭(不开启的话就默认是同意隐私合规后)。采用半自动模式,启动后会弹出当前屏幕。
同意隐私协议请鼠标左键
点击对应同意位置如无隐私协议,如不是隐私协议界面继续获取屏幕请按键盘n
, 退出请按q
查看报告
指定Frida-sever
-H: 指定Frida-sever
对抗Frida检测,换端口启动,配合hluda server 使用,可过很多检测。hluda server更改了frida的很多特征。
服务端:
./hlu15 -l 0.0.0.0:30000
# 转发端口
adb forward tcp:30000 tcp:30000
使用:
python camille.py com.zhengjim.myapplication -H 127.0.0.1:30000
PyInstaller打包二进制可执行文件
目前仅在 Windows 下测试过,其他平台请自行测试能否正常使用~
pyinstaller -F .\camille.py -p .\venv\Lib\site-packages\ -i .\images\icon.ico --add-data "script.js;." --add-data "utlis\sdk.json;.\utlis"
0x03更新介绍
2024-02-14:新增敏感接口
2023-12-12:修复android 13有兼容性问题
2022-11-25:修复截图bug、优化hook方法支持传参数过滤
2022-11-21:新增可指定frida-server用于对抗frida检测,参数-H、修复模拟器没有sdcard目录报错问题
2022-11-16:感谢@ysrfeng 添加wiki,添加隐私合规相关资料和政策文档。
2022-11-15:合并@RebornQ PR,新增多设备可指定设备功能
2022-11-11:修复Android7报错、Frida12报错、优化异常处理便于排查
2022-11-10: 合并@RebornQ PR、修复部分问题、优化初始化异常提示
2022-11-03: 添加同意隐私合规状态(需人工确认)、第三方SDK识别、可hook构造函数,`methodName`传`'$init'`。方便大家交流,创建交流群。新增文件接口,感谢@LiuXinzhi94提供。新增敏感接口,感谢群里师傅@WYY提供
2022-10-26:新增支持加载外部脚本文件,填相对路径或绝对路径均可(用于 pyinstaller 打包二进制执行文件后使用)感谢@RebornQ pr
2022-09-07:添加讨论群,新增敏感接口,感谢群里师傅@410提供。
2022-07-08: 默认不开启绕过TracerPid,添加attach hook,避免有些加固包不能hook问题。
2022-06-22:修复程序异常退出、冗余度高、hook接口不全有遗落、新增多个Android版本接口;封装hook方法,新增用户自定义hook方法。
2022-01-14:删除hook短信接口。新增:可指定模块hook或不hook哪些模块。默认不传,全扫描。
0x04 使用介绍
环境:
python3、frida 、一台已root手机(我测试机为Redmi 3s,刷机成魔趣Android 8.1,感觉问题挺多的),并在手机上运行frida-server
。
测试了Android 8.1(还测试了魔趣Android 10),其他版本安卓可能会有bug。
python camille.py com.zhengjim.myapplication
com.zhengjim.myapplication为测试app的包名,会显示时间、行为和调用堆栈。可以根据场景来判断是否合规,如:获取敏感信息是否是在同意隐私政策之前等。
可能出现的问题:
ImportError: DLL load failed while importing _frida: %1 不是有效的 Win32 应用程序。
解决方案:
切换项目所用的 Python 环境为 32 位,移除 venv 后重新初始化项目环境为 Python 32 位即可。
问题原因:
这是 PyInstaller 与项目环境不一致的问题。
我安装 PyInstaller 的时候,系统的 Python 环境是 32 位,导致 PyInstaller 也是 32 位。
后来装了 64 位的 Python,这个项目环境初始化就是用 64 位 Python,环境冲突导致了这个问题。
https://github.com/zhengjim/camille
更多工具下载:【腾讯文档】网络安全工具链接
https://docs.qq.com/sheet/DSlRSY0pQaXRQQUxB?tab=BB08J2
考证咨询:全网最低最优惠报考NISP/CISP/CISSP/PTE/PTS/IRE/IRS
等证书
往期推荐
全网首发_iOS逆向助手
【炫酷神器】逆向工具箱-次元剑
【工具更新】HCL AppScan Standard v10.6.0破解版
刻刀-rust | 脉冲红队快速资产探测综合工具使用指南
【渗透工具箱】灵兔宝盒-Rabbit_Treasure_Box_V1.0.1
【工具更新】Dude Suite Web 渗透测试工具
Hvv利器渗透工具箱Spear V3
【工具更新】Nessus 最新windows版Cracked(附下载)
【工具更新】IDA Pro 9.0 beta已流出!附win/mac手把手教程
【工具更新】Invicti(Netsparker)最新版Crack(附下载)
【工具更新】AWVS 最新版Crack(附下载)
Windows 应急响应手册v1.2 【重要更新】
一款渗透测试辅助工具箱
【工具二开】符合个人渗透习惯的Fscan
点个「在看」你最好看