页面标题
本平台专为移动应用安全风险研究与合规评估设计,严禁用于任何非法用途。 如有疑问或建议,欢迎加入微信群交流。
应用基础信息
文件基本信息
应用基础信息
组件导出状态统计
文件结构与资源列表
应用签名证书信息
二进制文件已签名
v1 签名: True
v2 签名: True
v3 签名: False
v4 签名: False
主题: C=US, ST=California, L=Mountain View, O=Android, OU=Android, CN=Android, E=android@android.com
签名算法: rsassa_pkcs1v15
有效期自: 2008-04-15 22:40:50+00:00
有效期至: 2035-09-01 22:40:50+00:00
发行人: C=US, ST=California, L=Mountain View, O=Android, OU=Android, CN=Android, E=android@android.com
序列号: 0xb3998086d056cffa
哈希算法: md5
证书MD5: 8ddb342f2da5408402d7568af21e29f9
证书SHA1: 27196e386b875e76adf700e7ea84e4c6eee33dfa
证书SHA256: c8a2e9bccf597c2fb6dc66bee293fc13f2fc47ec77bc6b2b0d52c11f51192ab8
证书SHA512: 5d802f24d6ac76c708a8e7afe28fd97e038f888cef6665fb9b4a92234c311d6ff42127ccb2eb5a898f4e7e4e553f6ef602d43d1a2ebae9f002a6598e72fd2d83
公钥算法: rsa
密钥长度: 2048
指纹: 65ba0830722d5767f8779e37d0d9c67562f03ec63a2889af655ee9c59effb434
找到 1 个唯一证书
证书安全分析
0
1
1
| 标题 | 严重程度 | 描述信息 |
|---|---|---|
| 已签名应用 | 信息 | 应用程序使用代码签名证书进行签名 |
权限声明与风险分级
| 权限名称 | 安全等级 | 权限内容 | 权限描述 | 关联代码 |
|---|---|---|---|---|
| android.permission.CALL_PHONE | 直接拨打电话 | 允许应用程序直接拨打电话。恶意程序会在用户未知的情况下拨打电话造成损失。但不被允许拨打紧急电话。 | ||
| android.permission.READ_PHONE_STATE | 读取手机状态和标识 | 允许应用程序访问设备的手机功能。有此权限的应用程序可确定此手机的号码和序列号,是否正在通话,以及对方的号码等。 | ||
| android.permission.SYSTEM_ALERT_WINDOW | 弹窗 | 允许应用程序弹窗。 恶意程序可以接管手机的整个屏幕。 | ||
| android.permission.WAKE_LOCK | 防止手机休眠 | 允许应用程序防止手机休眠,在手机屏幕关闭后后台进程仍然运行。 | ||
| android.permission.DISABLE_KEYGUARD | 禁用键盘锁 | 允许应用程序停用键锁和任何关联的密码安全设置。例如,在手机上接听电话时停用键锁,在通话结束后重新启用键锁。 | 无 | |
| android.permission.READ_PHONE_NUMBERS | 允许读取设备的电话号码 | 允许读取设备的电话号码。这是READ PHONE STATE授予的功能的一个子集,但对即时应用程序公开。 | ||
| android.permission.READ_CALL_LOG | 读取通话记录 | 允许应用程序读取用户的通话记录 | ||
| android.permission.READ_CONTACTS | 读取联系人信息 | 允允许应用程序读取您手机上存储的所有联系人(地址)数据。恶意应用程序可借此将您的数据发送给其他人。 | ||
| android.permission.WRITE_CONTACTS | 写入联系人信息 | 允许应用程序修改您手机上存储的联系人(地址)数据。恶意应用程序可借此清除或修改您的联系人数据。 | ||
| android.permission.RECORD_AUDIO | 获取录音权限 | 允许应用程序获取录音权限。 | ||
| android.permission.MODIFY_AUDIO_SETTINGS | 允许应用修改全局音频设置 | 允许应用程序修改全局音频设置,如音量。多用于消息语音功能。 | ||
| android.permission.ACCESS_FINE_LOCATION | 获取精确位置 | 通过GPS芯片接收卫星的定位信息,定位精度达10米以内。恶意程序可以用它来确定您所在的位置。 | ||
| android.permission.RECEIVE_USER_PRESENT | 允许程序唤醒机器 | 允许应用可以接收点亮屏幕或解锁广播。 | 无 | |
| android.permission.CHANGE_WIFI_STATE | 改变Wi-Fi状态 | 允许应用程序改变Wi-Fi状态。 | 无 | |
| android.permission.INTERNET | 完全互联网访问 | 允许应用程序创建网络套接字。 | ||
| android.permission.PROCESS_OUTGOING_CALLS | 拦截外拨电话 | 允许应用程序处理外拨电话或更改要拨打的号码。恶意应用程序可能会借此监视、另行转接甚至阻止外拨电话。 | ||
| android.permission.RECEIVE_BOOT_COMPLETED | 开机自启 | 允许应用程序在系统完成启动后即自行启动。这样会延长手机的启动时间,而且如果应用程序一直运行,会降低手机的整体速度。 | ||
| android.permission.WRITE_CALL_LOG | 写入通话记录 | 允许应用程序写入(但不读取)用户的通话记录数据。 | ||
| android.permission.ANSWER_PHONE_CALLS | 允许应用程序接听来电 | 一个用于以编程方式应答来电的运行时权限。 | 无 | |
| android.permission.READ_SMS | 读取短信 | 允许应用程序读取您的手机或 SIM 卡中存储的短信。恶意应用程序可借此读取您的机密信息。 | ||
| android.permission.CAMERA | 拍照和录制视频 | 允许应用程序拍摄照片和视频,且允许应用程序收集相机在任何时候拍到的图像。 | ||
| android.permission.FOREGROUND_SERVICE | 创建前台Service | Android 9.0以上允许常规应用程序使用 Service.startForeground,用于podcast播放(推送悬浮播放,锁屏播放) | ||
| android.permission.GET_TASKS | 检索当前运行的应用程序 | 允许应用程序检索有关当前和最近运行的任务的信息。恶意应用程序可借此发现有关其他应用程序的保密信息。 | ||
| android.permission.REORDER_TASKS | 对正在运行的应用程序重新排序 | 允许应用程序将任务移至前端和后台。恶意应用程序可借此强行进入前端,而不受您的控制。 | 无 | |
| android.permission.READ_EXTERNAL_STORAGE | 读取SD卡内容 | 允许应用程序从SD卡读取信息。 | ||
| android.permission.WRITE_EXTERNAL_STORAGE | 读取/修改/删除外部存储内容 | 允许应用程序写入外部存储。 | 无 | |
| android.permission.ACCESS_NETWORK_STATE | 获取网络状态 | 允许应用程序查看所有网络的状态。 | ||
| android.permission.ACCESS_WIFI_STATE | 查看Wi-Fi状态 | 允许应用程序查看有关Wi-Fi状态的信息。 | 无 | |
| android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS | 使用 Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 的权限 | 应用程序必须拥有权限才能使用 Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS。 | 无 | |
| android.permission.FLASHLIGHT | 控制闪光灯 | 允许应用程序控制闪光灯。 | 无 | |
| android.permission.VIBRATE | 控制振动器 | 允许应用程序控制振动器,用于消息通知振动功能。 |
Manifest 配置安全分析
3
6
0
0
| 序号 | 问题 | 严重程度 | 描述信息 | 操作 |
|---|---|---|---|---|
| 1 |
应用程序数据可以被备份 [android:allowBackup=true] |
警告 | 这个标志允许任何人通过adb备份你的应用程序数据。它允许已经启用了USB调试的用户从设备上复制应用程序数据。 | |
| 2 | Activity (net.fivethirty6.tek.views.MainActivitys) 的启动模式不是standard模式 | 高危 | Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。 | |
| 3 |
Broadcast Receiver (net.fivethirty6.tek.cast.CallListener) 受权限保护, 但是应该检查权限的保护级别。 Permission: android.permission.RECEIVE_BOOT_COMPLETED [android:exported=true] |
警告 | 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
| 4 | Activity (com.google.music.views.DotActivity) 的启动模式不是standard模式 | 高危 | Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。 | |
| 5 | Activity (net.fivethirty6.tek.found.phone.DialerActivity) 的启动模式不是standard模式 | 高危 | Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。 | |
| 6 |
Activity (net.fivethirty6.tek.found.phone.DialerActivity) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Activity与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity是显式导出的。 | |
| 7 |
Service (net.fivethirty6.tek.found.phone.CallServ) 受权限保护, 但是应该检查权限的保护级别。 Permission: android.permission.BIND_INCALL_SERVICE [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
| 8 |
Service (net.fivethirty6.tek.services.AccessService) 受权限保护, 但是应该检查权限的保护级别。 Permission: android.permission.BIND_ACCESSIBILITY_SERVICE [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
| 9 |
高优先级的Intent (2147483647) - {1} 个命中 [android:priority] |
警告 | 通过设置一个比另一个Intent更高的优先级,应用程序有效地覆盖了其他请求。 |
可浏览 Activity 组件分析
| ACTIVITY | INTENT |
|---|---|
| net.fivethirty6.tek.found.phone.DialerActivity |
Schemes:
tel://,
|
网络通信安全风险分析
| 序号 | 范围 | 严重级别 | 描述 |
|---|
API调用分析
安全漏洞检测
0
5
1
1
0
| 序号 | 问题 | 等级 | 参考标准 | 文件位置 | 操作 |
|---|---|---|---|---|---|
| 1 | 应用程序记录日志信息,不得记录敏感信息 | 信息 |
CWE: CWE-532: 通过日志文件的信息暴露
OWASP MASVS: MSTG-STORAGE-3 |
升级会员:解锁高级权限 | |
| 2 | 应用程序使用不安全的随机数生成器 | 警告 |
CWE: CWE-330: 使用不充分的随机数
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-6 |
升级会员:解锁高级权限 | |
| 3 | 此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击 | 安全 |
OWASP MASVS: MSTG-NETWORK-4 |
升级会员:解锁高级权限 | |
| 4 | MD5是已知存在哈希冲突的弱哈希 | 警告 |
CWE: CWE-327: 使用了破损或被认为是不安全的加密算法
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-4 |
升级会员:解锁高级权限 | |
| 5 | 应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库 | 警告 |
CWE: CWE-89: SQL命令中使用的特殊元素转义处理不恰当('SQL 注入')
OWASP Top 10: M7: Client Code Quality |
升级会员:解锁高级权限 | |
| 6 | 应用程序创建临时文件。敏感信息永远不应该被写进临时文件 | 警告 |
CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage OWASP MASVS: MSTG-STORAGE-2 |
升级会员:解锁高级权限 | |
| 7 | 不安全的Web视图实现。可能存在WebView任意代码执行漏洞 | 警告 |
CWE: CWE-749: 暴露危险方法或函数
OWASP Top 10: M1: Improper Platform Usage OWASP MASVS: MSTG-PLATFORM-7 |
升级会员:解锁高级权限 |
Native库安全分析
| 序号 | 动态库 | NX(堆栈禁止执行) | PIE | STACK CANARY(栈保护) | RELRO | RPATH(指定SO搜索路径) | RUNPATH(指定SO搜索路径) | FORTIFY(常用函数加强检查) | SYMBOLS STRIPPED(裁剪符号表) |
|---|
文件分析
| 序号 | 问题 | 文件 |
|---|
行为分析
| 编号 | 行为 | 标签 | 文件 |
|---|---|---|---|
| 00114 | 创建到代理地址的安全套接字连接 |
网络 命令 |
升级会员:解锁高级权限 |
| 00162 | 创建 InetSocketAddress 对象并连接到它 |
socket |
升级会员:解锁高级权限 |
| 00163 | 创建新的 Socket 并连接到它 |
socket |
升级会员:解锁高级权限 |
| 00009 | 将游标中的数据放入JSON对象 |
文件 |
升级会员:解锁高级权限 |
| 00189 | 获取短信内容 |
短信 |
升级会员:解锁高级权限 |
| 00188 | 获取短信地址 |
短信 |
升级会员:解锁高级权限 |
| 00052 | 删除内容 URI 指定的媒体(SMS、CALL_LOG、文件等) |
短信 |
升级会员:解锁高级权限 |
| 00011 | 从 URI 查询数据(SMS、CALLLOGS) |
短信 通话记录 信息收集 |
升级会员:解锁高级权限 |
| 00191 | 获取短信收件箱中的消息 |
短信 |
升级会员:解锁高级权限 |
| 00200 | 从联系人列表中查询数据 |
信息收集 联系人 |
升级会员:解锁高级权限 |
| 00201 | 从通话记录中查询数据 |
信息收集 通话记录 |
升级会员:解锁高级权限 |
| 00077 | 读取敏感数据(短信、通话记录等) |
信息收集 短信 通话记录 日历 |
升级会员:解锁高级权限 |
| 00075 | 获取设备的位置 |
信息收集 位置 |
升级会员:解锁高级权限 |
| 00115 | 获取设备的最后已知位置 |
信息收集 位置 |
升级会员:解锁高级权限 |
| 00192 | 获取短信收件箱中的消息 |
短信 |
升级会员:解锁高级权限 |
| 00202 | 打电话 |
控制 |
升级会员:解锁高级权限 |
| 00203 | 将电话号码放入意图中 |
控制 |
升级会员:解锁高级权限 |
| 00063 | 隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
| 00161 | 对可访问性节点信息执行可访问性服务操作 |
无障碍服务 |
升级会员:解锁高级权限 |
| 00051 | 通过setData隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
| 00015 | 将缓冲流(数据)放入 JSON 对象 |
文件 |
升级会员:解锁高级权限 |
| 00014 | 将文件读入流并将其放入 JSON 对象中 |
文件 |
升级会员:解锁高级权限 |
| 00022 | 从给定的文件绝对路径打开文件 |
文件 |
升级会员:解锁高级权限 |
| 00013 | 读取文件并将其放入流中 |
文件 |
升级会员:解锁高级权限 |
| 00005 | 获取文件的绝对路径并将其放入 JSON 对象 |
文件 |
升级会员:解锁高级权限 |
| 00195 | 设置录制文件的输出路径 |
录制音视频 文件 |
升级会员:解锁高级权限 |
| 00199 | 停止录音并释放录音资源 |
录制音视频 |
升级会员:解锁高级权限 |
| 00198 | 初始化录音机并开始录音 |
录制音视频 |
升级会员:解锁高级权限 |
| 00194 | 设置音源(MIC)和录制文件格式 |
录制音视频 |
升级会员:解锁高级权限 |
| 00004 | 获取文件名并将其放入 JSON 对象 |
文件 信息收集 |
升级会员:解锁高级权限 |
| 00012 | 读取数据并放入缓冲流 |
文件 |
升级会员:解锁高级权限 |
| 00197 | 设置音频编码器并初始化录音机 |
录制音视频 |
升级会员:解锁高级权限 |
| 00007 | Use absolute path of directory for the output media file path |
文件 |
升级会员:解锁高级权限 |
| 00006 | 安排录制任务 |
录制音视频 |
升级会员:解锁高级权限 |
| 00196 | 设置录制文件格式和输出路径 |
录制音视频 文件 |
升级会员:解锁高级权限 |
| 00102 | 将手机扬声器设置为打开 |
命令 |
升级会员:解锁高级权限 |
| 00003 | 将压缩后的位图数据放入JSON对象中 |
相机 |
升级会员:解锁高级权限 |
| 00002 | 打开相机并拍照 |
相机 |
升级会员:解锁高级权限 |
| 00183 | 获取当前相机参数并更改设置 |
相机 |
升级会员:解锁高级权限 |
| 00001 | 初始化位图对象并将数据(例如JPEG)压缩为位图对象 |
相机 |
升级会员:解锁高级权限 |
| 00035 | 查询已安装的包列表 |
反射 |
升级会员:解锁高级权限 |
IP地理位置
恶意域名检测
手机号提取
URL链接分析
| URL信息 | 源码文件 |
|---|---|
|
127.0.0.1 |
a/c/b/c/b.java |
Firebase配置检测
| 标题 | 严重程度 | 描述信息 |
|---|---|---|
| Firebase远程配置已禁用 | 安全 |
Firebase远程配置URL ( https://firebaseremoteconfig.googleapis.com/v1/projects/758036714025/namespaces/firebase:fetch?key=AIzaSyDcote4k3ZdPGxm4-DYVjTKi9aoofiEyuk ) 已禁用。响应内容如下所示: { |
邮箱地址提取
第三方追踪器
| 名称 | 类别 | 网址 |
|---|---|---|
| Umeng Analytics | https://reports.exodus-privacy.eu.org/trackers/119 |
敏感凭证泄露
已显示 4 个secrets
1、 "google_api_key" : "AIzaSyDcote4k3ZdPGxm4-DYVjTKi9aoofiEyuk"
2、 "google_app_id" : "1:758036714025:android:f451074beb21e84336c238"
3、 "google_crash_reporting_api_key" : "AIzaSyDcote4k3ZdPGxm4-DYVjTKi9aoofiEyuk"
4、 258EAFA5-E914-47DA-95CA-C5AB0DC85B11
活动列表
显示 3 个 activities
服务列表
显示 12 个 services
广播接收者列表
显示 2 个 receivers
内容提供者列表
污点分析
当apk较大时,代码量会很大,造成数据流图(ICFG)呈现爆炸式增长,所以该功能比较耗时,请先喝杯咖啡,耐心等待……| 规则名称 | 描述信息 | 操作 |
|---|---|---|
| 病毒分析 | 使用安卓恶意软件常用的API进行污点分析 | 开始分析 |
| 漏洞挖掘 | 漏洞挖掘场景下的污点分析 | 开始分析 |
| 隐私合规 | 隐私合规场景下的污点分析:组件内污点传播、组件间污点传播、组件与库函数之间的污点传播 | 开始分析 |
| 密码分析 | 分析加密算法是否使用常量密钥、静态初始化的向量(IV)、加密模式是否使用ECB等 | 开始分析 |
| Callback | 因为Android中系统级的Callback并不会出现显式地进行回调方法的调用,所以如果需要分析Callback方法需要在声明文件中将其声明,这里提供一份AndroidCallbacks.txt文件,里面是一些常见的原生回调接口或类,如果有特殊接口需求,可以联系管理员 | 开始分析 |