文件基本信息
文件基本信息
文件结构与资源列表
应用签名证书信息
二进制文件已签名
v1 签名: True
v2 签名: True
v3 签名: False
v4 签名: False
主题: CN=伍
签名算法: rsassa_pkcs1v15
有效期自: 2016-01-29 03:41:50+00:00
有效期至: 2226-12-09 03:41:50+00:00
发行人: CN=伍
序列号: 0x7e0b6607
哈希算法: sha256
证书MD5: 94f79d21f7fb6fc2e8044a1f2b153b62
证书SHA1: 1e97d0d8eab51039e3d2903bbf358a6e0add1677
证书SHA256: c9e225f102165c82bac3686121f761d3d1f9a2d2da8a02615f44c2f7e7f23e31
证书SHA512: e7814d9bb1725bea0e7b1d0a434318b223af738fff091e18520abd37c557a95ca413ab1716ff1bbf8e9e3e3e2273660fa8c3900fafa0fca9800aa6da32083f96
公钥算法: rsa
密钥长度: 2048
指纹: 842a1b98c589a9e2169581f7e2881a59fbe5941cfa70ea18e87b34f5ff2d34d1
找到 1 个唯一证书
权限声明与风险分级
权限名称 | 安全等级 | 权限内容 | 权限描述 | 关联代码 |
---|---|---|---|---|
android.permission.INTERNET | 危险 | 完全互联网访问 | 允许应用程序创建网络套接字。 | |
android.permission.READ_EXTERNAL_STORAGE | 危险 | 读取SD卡内容 | 允许应用程序从SD卡读取信息。 | 显示文件 |
android.permission.WRITE_EXTERNAL_STORAGE | 危险 | 读取/修改/删除外部存储内容 | 允许应用程序写入外部存储。 | 显示文件 |
android.permission.ACCESS_WIFI_STATE | 普通 | 查看Wi-Fi状态 | 允许应用程序查看有关Wi-Fi状态的信息。 | |
android.permission.CALL_PHONE | 危险 | 直接拨打电话 | 允许应用程序直接拨打电话。恶意程序会在用户未知的情况下拨打电话造成损失。但不被允许拨打紧急电话。 | |
android.permission.CAMERA | 危险 | 拍照和录制视频 | 允许应用程序拍摄照片和视频,且允许应用程序收集相机在任何时候拍到的图像。 | |
android.permission.WAKE_LOCK | 危险 | 防止手机休眠 | 允许应用程序防止手机休眠,在手机屏幕关闭后后台进程仍然运行。 | |
android.permission.MOUNT_UNMOUNT_FILESYSTEMS | 危险 | 装载和卸载文件系统 | 允许应用程序装载和卸载可移动存储器的文件系统。 | |
android.permission.VIBRATE | 普通 | 控制振动器 | 允许应用程序控制振动器,用于消息通知振动功能。 | |
android.permission.ACCESS_NETWORK_STATE | 普通 | 获取网络状态 | 允许应用程序查看所有网络的状态。 | |
android.permission.READ_PHONE_STATE | 危险 | 读取手机状态和标识 | 允许应用程序访问设备的手机功能。有此权限的应用程序可确定此手机的号码和序列号,是否正在通话,以及对方的号码等。 | |
android.permission.ACCESS_GPS | 签名(系统) | 使用GPS权限 | 这个权限已经被废弃,不再被系统支持。这个权限曾经用于访问GPS位置,但是现在已经被android.permission.ACCESS_FINE_LOCATION替代。 | |
android.permission.ACCESS_COARSE_LOCATION | 危险 | 获取粗略位置 | 通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米。恶意程序可以用它来确定您的大概位置。 | |
android.permission.ACCESS_LOCATION_EXTRA_COMMANDS | 普通 | 访问定位额外命令 | 访问额外位置提供程序命令,恶意应用程序可能会使用它来干扰GPS或其他位置源的操作。 | |
android.permission.ACCESS_FINE_LOCATION | 危险 | 获取精确位置 | 通过GPS芯片接收卫星的定位信息,定位精度达10米以内。恶意程序可以用它来确定您所在的位置。 | |
android.permission.ACCES_MOCK_LOCATION | 未知 | 未知权限 | 来自 android 引用的未知权限。 | |
android.permission.CHANGE_WIFI_STATE | 危险 | 改变Wi-Fi状态 | 允许应用程序改变Wi-Fi状态。 | |
com.android.launcher.permission.READ_SETTINGS | 危险 | 读取桌面快捷方式 | 这种权限的作用是允许应用读取桌面快捷方式的设置。 | |
android.permission.GET_TASKS | 危险 | 检索当前运行的应用程序 | 允许应用程序检索有关当前和最近运行的任务的信息。恶意应用程序可借此发现有关其他应用程序的保密信息。 | |
android.permission.BROADCAST_STICKY | 普通 | 发送置顶广播 | 允许应用程序发送顽固广播,这些广播在结束后仍会保留。恶意应用程序可能会借此使手机耗用太多内存,从而降低其速度或稳定性。 | |
android.permission.WRITE_SETTINGS | 危险 | 修改全局系统设置 | 允许应用程序修改系统设置方面的数据。恶意应用程序可借此破坏您的系统配置。 | |
android.permission.BROADCAST_PACKAGE_ADDED | 签名 | 接收新增APP的通知 | 它允许一个应用程序接收到其他应用程序添加新包(即新安装的可执行文件)的广播消息。 | |
android.permission.BROADCAST_PACKAGE_CHANGED | 签名 | 接收APP变化的通知 | 它允许一个应用程序接收到其他应用程序变化(安装、卸载、修改)的广播消息。 | |
android.permission.BROADCAST_PACKAGE_INSTALL | 签名 | 接收APP安装的通知 | 它允许一个应用程序接收到其他应用程序安装新包(即新安装的可执行文件)的广播消息。 | |
android.permission.BROADCAST_PACKAGE_REPLACED | 签名 | 接收APP替换的通知 | 它允许一个应用程序接收到其他应用程序被覆盖安装的广播消息。 | |
android.permission.RESTART_PACKAGES | 普通 | 重启进程 | 允许程序自己重启或重启其他程序 | |
android.permission.RECEIVE_BOOT_COMPLETED | 普通 | 开机自启 | 允许应用程序在系统完成启动后即自行启动。这样会延长手机的启动时间,而且如果应用程序一直运行,会降低手机的整体速度。 | |
android.permission.CHANGE_NETWORK_STATE | 危险 | 改变网络连通性 | 允许应用程序改变网络连通性。 | |
android.permission.RECORD_AUDIO | 危险 | 获取录音权限 | 允许应用程序获取录音权限。 | |
android.permission.MODIFY_AUDIO_SETTINGS | 危险 | 允许应用修改全局音频设置 | 允许应用程序修改全局音频设置,如音量。多用于消息语音功能。 | |
android.permission.INTERACT_ACROSS_USERS_FULL | 签名 | 允许应用程序在所有用户之间进行交互 | 允许应用程序在所有用户之间进行交互。这包括在其他用户的应用程序中创建活动、发送广播和执行其他操作。 | |
android.permission.PROCESS_OUTGOING_CALLS | 危险 | 拦截外拨电话 | 允许应用程序处理外拨电话或更改要拨打的号码。恶意应用程序可能会借此监视、另行转接甚至阻止外拨电话。 | |
android.permission.SYSTEM_ALERT_WINDOW | 危险 | 弹窗 | 允许应用程序弹窗。 恶意程序可以接管手机的整个屏幕。 |
证书安全合规分析
标题 | 严重程度 | 描述信息 |
---|---|---|
已签名应用 | 信息 | 应用程序已使用代码签名证书进行签名 |
Manifest 配置安全分析
序号 | 问题 | 严重程度 | 描述信息 | 操作 |
---|---|---|---|---|
1 |
应用程序可以安装在有漏洞的已更新 Android 版本上 Android 4.0.3-4.0.4, [minSdk=15] |
信息 | 该应用程序可以安装在具有多个未修复漏洞的旧版本 Android 上。这些设备不会从 Google 接收合理的安全更新。支持 Android 版本 => 10、API 29 以接收合理的安全更新。 | |
2 |
应用程序数据可以被备份 [android:allowBackup=true] |
警告 | 这个标志允许任何人通过adb备份你的应用程序数据。它允许已经启用了USB调试的用户从设备上复制应用程序数据。 | |
3 |
Broadcast Receiver (com.android.tuanzhuangtuan.chat.accect.SealNotificationReceiver) 未被保护。 [android:exported=true] |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
4 |
Service (io.rong.imlib.ipc.RongService) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
5 |
Service (io.rong.imlib.ReConnectService) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
6 |
Broadcast Receiver (io.rong.imlib.ConnectChangeReceiver) 未被保护。 [android:exported=true] |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
7 | Activity (com.android.tuanzhuangtuan.wxapi.WXEntryActivity) is vulnerable to StrandHogg 2.0 | 高危 | 已发现活动存在 StrandHogg 2.0 栈劫持漏洞的风险。漏洞利用时,其他应用程序可以将恶意活动放置在易受攻击的应用程序的活动栈顶部,从而使应用程序成为网络钓鱼攻击的易受攻击目标。可以通过将启动模式属性设置为“singleInstance”并设置空 taskAffinity (taskAffinity="") 来修复此漏洞。您还可以将应用的目标 SDK 版本 (23) 更新到 29 或更高版本以在平台级别修复此问题。 | |
8 |
Activity (com.android.tuanzhuangtuan.wxapi.WXEntryActivity) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
9 | Activity (com.umeng.qq.tencent.AuthActivity) 的启动模式不是standard模式 | 高危 | Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。 | |
10 | Activity (com.umeng.qq.tencent.AuthActivity) 容易受到 Android Task Hijacking/StrandHogg 的攻击。 | 高危 | 活动不应将启动模式属性设置为“singleTask”。 然后,其他应用程序可以将恶意活动放置在活动栈顶部,从而导致任务劫持/StrandHogg 1.0 漏洞。 这使应用程序成为网络钓鱼攻击的易受攻击目标。 可以通过将启动模式属性设置为“singleInstance”或设置空 taskAffinity (taskAffinity="") 属性来修复此漏洞。 您还可以将应用的目标 SDK 版本 (23) 更新到 28 或更高版本以在平台级别修复此问题。 | |
11 |
Activity (com.umeng.qq.tencent.AuthActivity) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Activity与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity是显式导出的。 | |
12 |
Activity (com.android.tuanzhuangtuan.chat.activity.ConversationActivity) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Activity与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity是显式导出的。 | |
13 |
Service (com.taobao.accs.ChannelService) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
14 |
Service (com.taobao.accs.data.MsgDistributeService) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
15 |
Broadcast Receiver (com.taobao.accs.EventReceiver) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
16 |
Broadcast Receiver (com.taobao.accs.ServiceReceiver) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
17 |
Service (org.android.agoo.accs.AgooService) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
18 |
Service (com.umeng.message.UmengIntentService) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
19 |
Service (com.umeng.message.XiaomiIntentService) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
20 |
Broadcast Receiver (com.taobao.agoo.AgooCommondReceiver) 未被保护。 [android:exported=true] |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
21 |
Service (com.umeng.message.UmengMessageIntentReceiverService) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
22 |
Activity (io.rong.imkit.tools.RongWebviewActivity) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Activity与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity是显式导出的。 | |
23 |
Activity (io.rong.imkit.activity.PicturePagerActivity) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Activity与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity是显式导出的。 | |
24 |
Activity (io.rong.imkit.activity.FilePreviewActivity) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Activity与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity是显式导出的。 | |
25 |
Service (io.rong.push.core.MessageHandleService) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
26 |
Service (io.rong.push.PushService) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
27 |
Broadcast Receiver (io.rong.push.PushReceiver) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 |
可浏览 Activity 组件分析
ACTIVITY | INTENT |
---|---|
com.umeng.qq.tencent.AuthActivity |
Schemes:
tencent1106088951://,
|
com.android.tuanzhuangtuan.activity.SplashActivity |
Schemes:
app://,
Hosts: com.android.tuanzhuangtuan, Path Prefixes: /open, |
网络通信安全风险分析
序号 | 范围 | 严重级别 | 描述 |
---|
API调用分析
API功能 | 源码文件 |
---|---|
一般功能-> 加载so文件 | com/stub/StubApp.java |
DEX-> 动态加载 | com/stub/StubApp.java |
调用java反射机制 | com/stub/StubApp.java |
一般功能-> 文件操作 | com/stub/StubApp.java |
DEX-> 加载和操作Dex文件 | com/stub/StubApp.java |
命令执行-> getRuntime.exec() | com/stub/StubApp.java |
进程操作-> 杀死进程 | com/stub/StubApp.java |
安全漏洞检测
序号 | 问题 | 等级 | 参考标准 | 文件位置 | 操作 |
---|
Native库安全分析
序号 | 动态库 | NX(堆栈禁止执行) | PIE | STACK CANARY(栈保护) | RELRO | RPATH(指定SO搜索路径) | RUNPATH(指定SO搜索路径) | FORTIFY(常用函数加强检查) | SYMBOLS STRIPPED(裁剪符号表) |
---|---|---|---|---|---|---|---|---|---|
1 | arm64-v8a/libsecurityenv.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
|
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
Full RELRO
info 此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
None
info 二进制文件没有设置 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
2 | arm64-v8a/libtnet-3.1.11.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
|
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
Full RELRO
info 此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
None
info 二进制文件没有设置 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
3 | arm64-v8a/libumeng_error_catch.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
|
True
info 这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出 |
Full RELRO
info 此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
None
info 二进制文件没有设置 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
False
warning 符号可用 |
文件分析
序号 | 问题 | 文件 |
---|
敏感权限分析
恶意软件常用权限 是被已知恶意软件广泛滥用的权限。
其它常用权限 是已知恶意软件经常滥用的权限。
IP地理位置
恶意域名检测
手机号提取
URL链接分析
Firebase配置检测
邮箱地址提取
第三方追踪器
名称 | 类别 | 网址 |
---|
敏感凭证泄露
活动列表
显示所有 74 个 activities
服务列表
显示 17 个 services
广播接收者列表
显示 8 个 receivers
内容提供者列表
显示 2 个 providers
第三方SDK
SDK名称 | 开发者 | 描述信息 |
---|---|---|
360 加固 | 360 | 360 加固保是基于 360 核心加密技术,给安卓应用进行深度加密、加壳保护的安全技术产品,可保护应用远离恶意破解、反编译、二次打包,内存抓取等威胁。 |
融云 IM SDK | 融云 RongCloud | IM 即时通讯 - SealTalk 支持应用内社交等场景,体验单群聊、聊天室、音视频通话、小视频、动态表情等通讯能力 |
U-Game 金融风控组件 | Umeng | 金融风控组件(SecurityEnvSDK.framework)用来监控反作弊等行为。 |
SQLite | SQLite | SQLite 是遵守 ACID 的关系数据库管理系统,它包含在一个相对小的 C 程序库中。与许多其它数据库管理系统不同, SQLite 不是一个客户端/服务器结构的数据库引擎,而是被集成在用户程序中。 SQLite 遵守 ACID ,实现了大多数 SQL 标准。它使用动态的、弱类型的 SQL 语法。 |
污点分析
当apk较大时,代码量会很大,造成数据流图(ICFG)呈现爆炸式增长,所以该功能比较耗时,请先喝杯咖啡,耐心等待……规则名称 | 描述信息 | 操作 |
---|---|---|
病毒分析 | 使用安卓恶意软件常用的API进行污点分析 | 开始分析 |
漏洞挖掘 | 漏洞挖掘场景下的污点分析 | 开始分析 |
隐私合规 | 隐私合规场景下的污点分析:组件内污点传播、组件间污点传播、组件与库函数之间的污点传播 | 开始分析 |
密码分析 | 分析加密算法是否使用常量密钥、静态初始化的向量(IV)、加密模式是否使用ECB等 | 开始分析 |
Callback | 因为Android中系统级的Callback并不会出现显式地进行回调方法的调用,所以如果需要分析Callback方法需要在声明文件中将其声明,这里提供一份AndroidCallbacks.txt文件,里面是一些常见的原生回调接口或类,如果有特殊接口需求,可以联系管理员 | 开始分析 |