自动化Android App隐私合规检测工具|APP渗透

文摘   2024-11-04 10:32   天津  

点击上方蓝字关注我们


免责声明

本公众号所发布的文章及工具只限交流学习,本公众号不承担任何责任!如有侵权,请告知我们立即删除。


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位置信息
networkgetNetwork
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类的getPasswordgetUser方法。如下:

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   

Tips

考证咨询全网最低最优惠报考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


点个「在看」你最好看


信安404
渗透测试、安全工具、红蓝攻防、漏洞研究、应急响应干货分享
 最新文章