文件基本信息
应用基础信息
文件基本信息
应用基础信息
文件结构与资源列表
应用签名证书信息
二进制文件已签名
v1 签名: True
v2 签名: False
v3 签名: False
v4 签名: False
主题: C=CN, ST=上海, L=闵行区, O=上海戴思软件技术有限公司, OU=上海戴思软件技术有限公司, CN=上海戴思软件技术有限公司
签名算法: rsassa_pkcs1v15
有效期自: 2017-01-03 08:50:14+00:00
有效期至: 2116-12-10 08:50:14+00:00
发行人: C=CN, ST=上海, L=闵行区, O=上海戴思软件技术有限公司, OU=上海戴思软件技术有限公司, CN=上海戴思软件技术有限公司
序列号: 0x4f4a2e0e
哈希算法: sha256
证书MD5: a0f8b912c9462d8cff6dd643611cb5b2
证书SHA1: 74d19e16e48cf87662dd4677733542351b8eb22c
证书SHA256: 9b200e7758e811605c957322c6865bb34989e79b363ad39895c7e4ef40976a96
证书SHA512: 175a0e3bfaf077a124a48ba161a00b96ebc001c75abbb3f51153fb4f8faf91f13b003c83cf4e3267e3b593647c13ef20996e95cd4ab33486fe1b7b8b5d763c8a
找到 1 个唯一证书
权限声明与风险分级
证书安全合规分析
标题 | 严重程度 | 描述信息 |
---|---|---|
已签名应用 | 信息 | 应用程序使用代码签名证书进行签名 |
应用程序容易受到 Janus 漏洞的影响 | 高危 | 应用程序使用 v1 签名方案进行签名,如果仅使用 v1 签名方案进行签名,则在 Android 5.0-8.0 上容易受到 Janus 漏洞的影响。在使用 v1 和 v2/v3 方案签名的 Android 5.0-7.0 上运行的应用程序也容易受到攻击。 |
Manifest 配置安全分析
序号 | 问题 | 严重程度 | 描述信息 | 操作 |
---|---|---|---|---|
1 |
应用程序数据可以被备份 [android:allowBackup=true] |
警告 | 这个标志允许任何人通过adb备份你的应用程序数据。它允许已经启用了USB调试的用户从设备上复制应用程序数据。 | |
2 | Activity (com.cyjh.elfin.activity.SplashActivity) 的启动模式不是standard模式 | 高危 | Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。 | |
3 | Activity (com.cyjh.elfin.activity.SplashActivity) 容易受到 Android Task Hijacking/StrandHogg 的攻击。 | 高危 | 活动不应将启动模式属性设置为“singleTask”。 然后,其他应用程序可以将恶意活动放置在活动栈顶部,从而导致任务劫持/StrandHogg 1.0 漏洞。 这使应用程序成为网络钓鱼攻击的易受攻击目标。 可以通过将启动模式属性设置为“singleInstance”或设置空 taskAffinity (taskAffinity="") 属性来修复此漏洞。 您还可以将应用的目标 SDK 版本 (26) 更新到 28 或更高版本以在平台级别修复此问题。 | |
4 | Activity (com.cyjh.elfin.activity.ElfinFreeActivity) 的启动模式不是standard模式 | 高危 | Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。 | |
5 | Activity (com.cyjh.elfin.activity.ElfinFreeActivity) 容易受到 Android Task Hijacking/StrandHogg 的攻击。 | 高危 | 活动不应将启动模式属性设置为“singleTask”。 然后,其他应用程序可以将恶意活动放置在活动栈顶部,从而导致任务劫持/StrandHogg 1.0 漏洞。 这使应用程序成为网络钓鱼攻击的易受攻击目标。 可以通过将启动模式属性设置为“singleInstance”或设置空 taskAffinity (taskAffinity="") 属性来修复此漏洞。 您还可以将应用的目标 SDK 版本 (26) 更新到 28 或更高版本以在平台级别修复此问题。 | |
6 | Activity (com.cyjh.elfin.activity.AdActivity) 的启动模式不是standard模式 | 高危 | Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。 | |
7 | Activity (com.cyjh.elfin.activity.AdActivity) 容易受到 Android Task Hijacking/StrandHogg 的攻击。 | 高危 | 活动不应将启动模式属性设置为“singleTask”。 然后,其他应用程序可以将恶意活动放置在活动栈顶部,从而导致任务劫持/StrandHogg 1.0 漏洞。 这使应用程序成为网络钓鱼攻击的易受攻击目标。 可以通过将启动模式属性设置为“singleInstance”或设置空 taskAffinity (taskAffinity="") 属性来修复此漏洞。 您还可以将应用的目标 SDK 版本 (26) 更新到 28 或更高版本以在平台级别修复此问题。 | |
8 |
Service (com.kaopu.download.kernel.DownloadService) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
9 |
Broadcast Receiver (com.cyjh.ad.receiver.DownLoadCompleteReceiver) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
10 |
Broadcast Receiver (com.cyjh.elfin.receiver.InstallAndRemoveAppSuccessReceive) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。 | |
11 | Activity (com.bytedance.sdk.openadsdk.activity.TTLandingPageActivity) 的启动模式不是standard模式 | 高危 | Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。 | |
12 | Activity (com.bytedance.sdk.openadsdk.activity.TTLandingPageActivity) 容易受到 Android Task Hijacking/StrandHogg 的攻击。 | 高危 | 活动不应将启动模式属性设置为“singleTask”。 然后,其他应用程序可以将恶意活动放置在活动栈顶部,从而导致任务劫持/StrandHogg 1.0 漏洞。 这使应用程序成为网络钓鱼攻击的易受攻击目标。 可以通过将启动模式属性设置为“singleInstance”或设置空 taskAffinity (taskAffinity="") 属性来修复此漏洞。 您还可以将应用的目标 SDK 版本 (26) 更新到 28 或更高版本以在平台级别修复此问题。 | |
13 | Activity (com.bytedance.sdk.openadsdk.activity.TTVideoLandingPageActivity) 的启动模式不是standard模式 | 高危 | Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。 | |
14 | Activity (com.bytedance.sdk.openadsdk.activity.TTVideoLandingPageActivity) 容易受到 Android Task Hijacking/StrandHogg 的攻击。 | 高危 | 活动不应将启动模式属性设置为“singleTask”。 然后,其他应用程序可以将恶意活动放置在活动栈顶部,从而导致任务劫持/StrandHogg 1.0 漏洞。 这使应用程序成为网络钓鱼攻击的易受攻击目标。 可以通过将启动模式属性设置为“singleInstance”或设置空 taskAffinity (taskAffinity="") 属性来修复此漏洞。 您还可以将应用的目标 SDK 版本 (26) 更新到 28 或更高版本以在平台级别修复此问题。 | |
15 | Activity (com.bytedance.sdk.openadsdk.activity.TTRewardVideoActivity) 的启动模式不是standard模式 | 高危 | Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。 | |
16 | Activity (com.bytedance.sdk.openadsdk.activity.TTRewardVideoActivity) 容易受到 Android Task Hijacking/StrandHogg 的攻击。 | 高危 | 活动不应将启动模式属性设置为“singleTask”。 然后,其他应用程序可以将恶意活动放置在活动栈顶部,从而导致任务劫持/StrandHogg 1.0 漏洞。 这使应用程序成为网络钓鱼攻击的易受攻击目标。 可以通过将启动模式属性设置为“singleInstance”或设置空 taskAffinity (taskAffinity="") 属性来修复此漏洞。 您还可以将应用的目标 SDK 版本 (26) 更新到 28 或更高版本以在平台级别修复此问题。 | |
17 | Activity (com.bytedance.sdk.openadsdk.activity.TTFullScreenVideoActivity) 的启动模式不是standard模式 | 高危 | Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。 | |
18 | Activity (com.bytedance.sdk.openadsdk.activity.TTFullScreenVideoActivity) 容易受到 Android Task Hijacking/StrandHogg 的攻击。 | 高危 | 活动不应将启动模式属性设置为“singleTask”。 然后,其他应用程序可以将恶意活动放置在活动栈顶部,从而导致任务劫持/StrandHogg 1.0 漏洞。 这使应用程序成为网络钓鱼攻击的易受攻击目标。 可以通过将启动模式属性设置为“singleInstance”或设置空 taskAffinity (taskAffinity="") 属性来修复此漏洞。 您还可以将应用的目标 SDK 版本 (26) 更新到 28 或更高版本以在平台级别修复此问题。 | |
19 | Activity (com.bytedance.sdk.openadsdk.activity.TTDelegateActivity) 的启动模式不是standard模式 | 高危 | Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。 | |
20 | Activity (com.bytedance.sdk.openadsdk.activity.TTDelegateActivity) 容易受到 Android Task Hijacking/StrandHogg 的攻击。 | 高危 | 活动不应将启动模式属性设置为“singleTask”。 然后,其他应用程序可以将恶意活动放置在活动栈顶部,从而导致任务劫持/StrandHogg 1.0 漏洞。 这使应用程序成为网络钓鱼攻击的易受攻击目标。 可以通过将启动模式属性设置为“singleInstance”或设置空 taskAffinity (taskAffinity="") 属性来修复此漏洞。 您还可以将应用的目标 SDK 版本 (26) 更新到 28 或更高版本以在平台级别修复此问题。 | |
21 |
Service (com.ss.android.socialbase.downloader.downloader.IndependentProcessDownloadService) 未被保护。 存在一个intent-filter。 |
警告 | 发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。 | |
22 | Activity (com.ss.android.socialbase.appdownloader.view.DownloadSizeLimitActivity) 的启动模式不是standard模式 | 高危 | Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。 | |
23 | Activity (com.ss.android.socialbase.appdownloader.view.DownloadSizeLimitActivity) 容易受到 Android Task Hijacking/StrandHogg 的攻击。 | 高危 | 活动不应将启动模式属性设置为“singleTask”。 然后,其他应用程序可以将恶意活动放置在活动栈顶部,从而导致任务劫持/StrandHogg 1.0 漏洞。 这使应用程序成为网络钓鱼攻击的易受攻击目标。 可以通过将启动模式属性设置为“singleInstance”或设置空 taskAffinity (taskAffinity="") 属性来修复此漏洞。 您还可以将应用的目标 SDK 版本 (26) 更新到 28 或更高版本以在平台级别修复此问题。 | |
24 | Activity (com.ss.android.socialbase.appdownloader.view.DownloadTaskDeleteActivity) 的启动模式不是standard模式 | 高危 | Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。 | |
25 | Activity (com.ss.android.socialbase.appdownloader.view.DownloadTaskDeleteActivity) 容易受到 Android Task Hijacking/StrandHogg 的攻击。 | 高危 | 活动不应将启动模式属性设置为“singleTask”。 然后,其他应用程序可以将恶意活动放置在活动栈顶部,从而导致任务劫持/StrandHogg 1.0 漏洞。 这使应用程序成为网络钓鱼攻击的易受攻击目标。 可以通过将启动模式属性设置为“singleInstance”或设置空 taskAffinity (taskAffinity="") 属性来修复此漏洞。 您还可以将应用的目标 SDK 版本 (26) 更新到 28 或更高版本以在平台级别修复此问题。 | |
26 |
Service (com.ime.input.InputKb) 受权限保护, 但是应该检查权限的保护级别。 Permission: android.permission.BIND_INPUT_METHOD [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 |
可浏览 Activity 组件分析
ACTIVITY | INTENT |
---|
网络通信安全风险分析
序号 | 范围 | 严重级别 | 描述 |
---|
API调用分析
安全漏洞检测
序号 | 问题 | 等级 | 参考标准 | 文件位置 | 操作 |
---|---|---|---|---|---|
1 | MD5是已知存在哈希冲突的弱哈希 | 警告 |
CWE: CWE-327: 使用了破损或被认为是不安全的加密算法
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-4 |
升级会员:解锁高级权限 | |
2 | 应用程序记录日志信息,不得记录敏感信息 | 信息 |
CWE: CWE-532: 通过日志文件的信息暴露
OWASP MASVS: MSTG-STORAGE-3 |
升级会员:解锁高级权限 | |
3 | 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等 | 警告 |
CWE: CWE-312: 明文存储敏感信息
OWASP Top 10: M9: Reverse Engineering OWASP MASVS: MSTG-STORAGE-14 |
升级会员:解锁高级权限 | |
4 | 应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库 | 警告 |
CWE: CWE-89: SQL命令中使用的特殊元素转义处理不恰当('SQL 注入')
OWASP Top 10: M7: Client Code Quality |
升级会员:解锁高级权限 | |
5 | 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据 | 警告 |
CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage OWASP MASVS: MSTG-STORAGE-2 |
升级会员:解锁高级权限 | |
6 | 如果一个应用程序使用WebView.loadDataWithBaseURL方法来加载一个网页到WebView,那么这个应用程序可能会遭受跨站脚本攻击 | 高危 |
CWE: CWE-79: 在Web页面生成时对输入的转义处理不恰当('跨站脚本')
OWASP Top 10: M1: Improper Platform Usage OWASP MASVS: MSTG-PLATFORM-6 |
升级会员:解锁高级权限 | |
7 | SSL的不安全实现。信任所有证书或接受自签名证书是一个关键的安全漏洞。此应用程序易受MITM攻击 | 高危 |
CWE: CWE-295: 证书验证不恰当
OWASP Top 10: M3: Insecure Communication OWASP MASVS: MSTG-NETWORK-3 |
升级会员:解锁高级权限 | |
8 | 使用弱加密算法 | 高危 |
CWE: CWE-327: 使用了破损或被认为是不安全的加密算法
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-4 |
升级会员:解锁高级权限 | |
9 | 应用程序使用带PKCS5/PKCS7填充的加密模式CBC。此配置容易受到填充oracle攻击。 | 高危 |
CWE: CWE-649: 依赖于混淆或加密安全相关输入而不进行完整性检查
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-3 |
升级会员:解锁高级权限 | |
10 | 应用程序创建临时文件。敏感信息永远不应该被写进临时文件 | 警告 |
CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage OWASP MASVS: MSTG-STORAGE-2 |
升级会员:解锁高级权限 | |
11 | 可能存在跨域漏洞。在 WebView 中启用从 URL 访问文件可能会泄漏文件系统中的敏感信息 | 警告 |
CWE: CWE-200: 信息泄露
OWASP Top 10: M1: Improper Platform Usage OWASP MASVS: MSTG-PLATFORM-7 |
升级会员:解锁高级权限 | |
12 | 此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击 | 安全 |
OWASP MASVS: MSTG-NETWORK-4 |
升级会员:解锁高级权限 | |
13 | 应用程序使用不安全的随机数生成器 | 警告 |
CWE: CWE-330: 使用不充分的随机数
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-6 |
升级会员:解锁高级权限 | |
14 | 应用程序在加密算法中使用ECB模式。ECB模式是已知的弱模式,因为它对相同的明文块[UNK]产生相同的密文 | 高危 |
CWE: CWE-327: 使用了破损或被认为是不安全的加密算法
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-2 |
升级会员:解锁高级权限 | |
15 | 此应用程序将数据复制到剪贴板。敏感数据不应复制到剪贴板,因为其他应用程序可以访问它 | 信息 |
OWASP MASVS: MSTG-STORAGE-10 |
升级会员:解锁高级权限 | |
16 | IP地址泄露 | 警告 |
CWE: CWE-200: 信息泄露
OWASP MASVS: MSTG-CODE-2 |
升级会员:解锁高级权限 | |
17 | 此应用程序可能具有Root检测功能 | 安全 |
OWASP MASVS: MSTG-RESILIENCE-1 |
升级会员:解锁高级权限 | |
18 | 不安全的Web视图实现。Web视图忽略SSL证书错误并接受任何SSL证书。此应用程序易受MITM攻击 | 高危 |
CWE: CWE-295: 证书验证不恰当
OWASP Top 10: M3: Insecure Communication OWASP MASVS: MSTG-NETWORK-3 |
升级会员:解锁高级权限 | |
19 | 不安全的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(裁剪符号表) |
---|---|---|---|---|---|---|---|---|---|
1 | armeabi/libgoldcoast.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
False
high 这个二进制文件没有在栈上添加栈哨兵值。栈哨兵是用于检测和防止攻击者覆盖返回地址的一种技术。使用选项-fstack-protector-all来启用栈哨兵。这对于Dart/Flutter库不适用,除非使用了Dart FFI |
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 库不适用 |
True
info 符号被剥离 |
2 | armeabi/libiflyads.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
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 库不适用 |
True
info 符号被剥离 |
3 | armeabi/libsc15.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
False
high 这个二进制文件没有在栈上添加栈哨兵值。栈哨兵是用于检测和防止攻击者覆盖返回地址的一种技术。使用选项-fstack-protector-all来启用栈哨兵。这对于Dart/Flutter库不适用,除非使用了Dart FFI |
No RELRO
high 此共享对象未启用 RELRO。整个 GOT(.got 和 .got.plt)都是可写的。如果没有此编译器标志,全局变量上的缓冲区溢出可能会覆盖 GOT 条目。使用选项 -z,relro,-z,now 启用完整 RELRO,仅使用 -z,relro 启用部分 RELRO。 |
None
info 二进制文件没有设置运行时搜索路径或RPATH |
None
info 二进制文件没有设置 RUNPATH |
False
warning 二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用 |
True
info 符号被剥离 |
4 | armeabi/libsc17.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
False
high 这个二进制文件没有在栈上添加栈哨兵值。栈哨兵是用于检测和防止攻击者覆盖返回地址的一种技术。使用选项-fstack-protector-all来启用栈哨兵。这对于Dart/Flutter库不适用,除非使用了Dart FFI |
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 库不适用 |
True
info 符号被剥离 |
5 | armeabi/libsc19.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
False
high 这个二进制文件没有在栈上添加栈哨兵值。栈哨兵是用于检测和防止攻击者覆盖返回地址的一种技术。使用选项-fstack-protector-all来启用栈哨兵。这对于Dart/Flutter库不适用,除非使用了Dart FFI |
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 库不适用 |
True
info 符号被剥离 |
6 | armeabi/libsc21.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
False
high 这个二进制文件没有在栈上添加栈哨兵值。栈哨兵是用于检测和防止攻击者覆盖返回地址的一种技术。使用选项-fstack-protector-all来启用栈哨兵。这对于Dart/Flutter库不适用,除非使用了Dart FFI |
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 库不适用 |
True
info 符号被剥离 |
7 | armeabi/libscVirtDisplay19.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
False
high 这个二进制文件没有在栈上添加栈哨兵值。栈哨兵是用于检测和防止攻击者覆盖返回地址的一种技术。使用选项-fstack-protector-all来启用栈哨兵。这对于Dart/Flutter库不适用,除非使用了Dart FFI |
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 库不适用 |
True
info 符号被剥离 |
8 | armeabi/libscVirtDisplay21.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
False
high 这个二进制文件没有在栈上添加栈哨兵值。栈哨兵是用于检测和防止攻击者覆盖返回地址的一种技术。使用选项-fstack-protector-all来启用栈哨兵。这对于Dart/Flutter库不适用,除非使用了Dart FFI |
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 库不适用 |
True
info 符号被剥离 |
9 | armeabi/libspeed.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
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 库不适用 |
True
info 符号被剥离 |
10 | armeabi/libsubstrate.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
False
high 这个二进制文件没有在栈上添加栈哨兵值。栈哨兵是用于检测和防止攻击者覆盖返回地址的一种技术。使用选项-fstack-protector-all来启用栈哨兵。这对于Dart/Flutter库不适用,除非使用了Dart FFI |
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 库不适用 |
True
info 符号被剥离 |
11 | armeabi/libtinyCnn.so |
True
info 二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。 |
动态共享对象 (DSO)
info 共享库是使用 -fPIC 标志构建的,该标志启用与地址无关的代码。这使得面向返回的编程 (ROP) 攻击更难可靠地执行。 |
False
high 这个二进制文件没有在栈上添加栈哨兵值。栈哨兵是用于检测和防止攻击者覆盖返回地址的一种技术。使用选项-fstack-protector-all来启用栈哨兵。这对于Dart/Flutter库不适用,除非使用了Dart FFI |
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 库不适用 |
True
info 符号被剥离 |
文件分析
序号 | 问题 | 文件 |
---|
行为分析
编号 | 行为 | 标签 | 文件 |
---|---|---|---|
00062 | 查询WiFi信息和WiFi Mac地址 |
WiFi 信息收集 |
升级会员:解锁高级权限 |
00130 | 获取当前WIFI信息 |
WiFi 信息收集 |
升级会员:解锁高级权限 |
00033 | 查询IMEI号 |
信息收集 |
升级会员:解锁高级权限 |
00083 | 查询IMEI号 |
信息收集 电话服务 |
升级会员:解锁高级权限 |
00056 | 修改语音音量 |
控制 |
升级会员:解锁高级权限 |
00082 | 获取当前WiFi MAC地址 |
信息收集 WiFi |
升级会员:解锁高级权限 |
00163 | 创建新的 Socket 并连接到它 |
socket |
升级会员:解锁高级权限 |
00047 | 查询本地IP地址 |
网络 信息收集 |
升级会员:解锁高级权限 |
00013 | 读取文件并将其放入流中 |
文件 |
升级会员:解锁高级权限 |
00012 | 读取数据并放入缓冲流 |
文件 |
升级会员:解锁高级权限 |
00063 | 隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
00022 | 从给定的文件绝对路径打开文件 |
文件 |
升级会员:解锁高级权限 |
00051 | 通过setData隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
00024 | Base64解码后写入文件 |
反射 文件 |
升级会员:解锁高级权限 |
00096 | 连接到 URL 并设置请求方法 |
命令 网络 |
升级会员:解锁高级权限 |
00089 | 连接到 URL 并接收来自服务器的输入流 |
命令 网络 |
升级会员:解锁高级权限 |
00109 | 连接到 URL 并获取响应代码 |
网络 命令 |
升级会员:解锁高级权限 |
00094 | 连接到 URL 并从中读取数据 |
命令 网络 |
升级会员:解锁高级权限 |
00108 | 从给定的 URL 读取输入流 |
网络 命令 |
升级会员:解锁高级权限 |
00005 | 获取文件的绝对路径并将其放入 JSON 对象 |
文件 |
升级会员:解锁高级权限 |
00125 | 检查给定的文件路径是否存在 |
文件 |
升级会员:解锁高级权限 |
00014 | 将文件读入流并将其放入 JSON 对象中 |
文件 |
升级会员:解锁高级权限 |
00004 | 获取文件名并将其放入 JSON 对象 |
文件 信息收集 |
升级会员:解锁高级权限 |
00153 | 通过 HTTP 发送二进制数据 |
http |
升级会员:解锁高级权限 |
00195 | 设置录制文件的输出路径 |
录制音视频 文件 |
升级会员:解锁高级权限 |
00199 | 停止录音并释放录音资源 |
录制音视频 |
升级会员:解锁高级权限 |
00198 | 初始化录音机并开始录音 |
录制音视频 |
升级会员:解锁高级权限 |
00194 | 设置音源(MIC)和录制文件格式 |
录制音视频 |
升级会员:解锁高级权限 |
00197 | 设置音频编码器并初始化录音机 |
录制音视频 |
升级会员:解锁高级权限 |
00007 | Use absolute path of directory for the output media file path |
文件 |
升级会员:解锁高级权限 |
00196 | 设置录制文件格式和输出路径 |
录制音视频 文件 |
升级会员:解锁高级权限 |
00034 | 查询当前数据网络类型 |
信息收集 网络 |
升级会员:解锁高级权限 |
00209 | 从最新渲染图像中获取像素 |
信息收集 |
升级会员:解锁高级权限 |
00078 | 获取网络运营商名称 |
信息收集 电话服务 |
升级会员:解锁高级权限 |
00064 | 监控来电状态 |
控制 |
升级会员:解锁高级权限 |
00023 | 从当前应用程序启动另一个应用程序 |
反射 控制 |
升级会员:解锁高级权限 |
00036 | 从 res/raw 目录获取资源文件 |
反射 |
升级会员:解锁高级权限 |
00162 | 创建 InetSocketAddress 对象并连接到它 |
socket |
升级会员:解锁高级权限 |
00072 | 将 HTTP 输入流写入文件 |
命令 网络 文件 |
升级会员:解锁高级权限 |
00030 | 通过给定的 URL 连接到远程服务器 |
网络 |
升级会员:解锁高级权限 |
00054 | 从文件安装其他APK |
反射 |
升级会员:解锁高级权限 |
00044 | 查询该包的activity上次被使用的时间 |
信息收集 反射 |
升级会员:解锁高级权限 |
00045 | 查询当前运行的应用程序名称 |
信息收集 反射 |
升级会员:解锁高级权限 |
00066 | 查询ICCID号码 |
信息收集 |
升级会员:解锁高级权限 |
00067 | 查询IMSI号码 |
信息收集 |
升级会员:解锁高级权限 |
00104 | 检查给定路径是否是目录 |
文件 |
升级会员:解锁高级权限 |
00035 | 查询已安装的包列表 |
反射 |
升级会员:解锁高级权限 |
00193 | 发送短信 |
短信 |
升级会员:解锁高级权限 |
00028 | 从assets目录中读取文件 |
文件 |
升级会员:解锁高级权限 |
00031 | 检查当前正在运行的应用程序列表 |
反射 信息收集 |
升级会员:解锁高级权限 |
敏感权限分析
恶意软件常用权限 是被已知恶意软件广泛滥用的权限。
其它常用权限 是已知恶意软件经常滥用的权限。
IP地理位置
恶意域名检测
域名 | 状态 | 中国境内 | 位置信息 | 解析 |
---|---|---|---|---|
logapi.mobileanjian.com |
安全 |
否 | 没有可用的地理位置信息。 |
|
www.newbyvideo.com |
安全 |
否 | 没有可用的地理位置信息。 |
|
bbs.anjian.com |
安全 |
是 |
IP地址: 116.196.97.47 国家: 中国 地区: 福建 城市: 福州 查看: 高德地图 |
|
down.nishuoa.com |
安全 |
是 |
IP地址: 180.101.199.191 国家: 中国 地区: 江苏 城市: 苏州 查看: 高德地图 |
|
log.snssdk.com |
安全 |
是 |
IP地址: 116.196.97.47 国家: 中国 地区: 江苏 城市: 镇江 查看: 高德地图 |
|
imp.voiceads.cn |
安全 |
是 |
IP地址: 116.196.97.47 国家: 中国 地区: 北京 城市: 北京 查看: 高德地图 |
|
log.iflytek.com |
安全 |
是 |
IP地址: 116.196.97.47 国家: 中国 地区: 安徽 城市: 合肥 查看: 高德地图 |
|
androidquery.appspot.com |
安全 |
否 |
IP地址: 142.250.189.20 国家: 美国 地区: 加利福尼亚 城市: 山景城 查看: Google 地图 |
|
crm.bytedance.com |
安全 |
是 |
IP地址: 116.196.97.47 国家: 中国 地区: 江苏 城市: 镇江 查看: 高德地图 |
|
dmytrodanylyk.com |
安全 |
否 |
IP地址: 3.169.252.79 国家: 美国 地区: 加利福尼亚 城市: 洛杉矶 查看: Google 地图 |
|
api.twitter.com |
安全 |
否 |
IP地址: 172.66.0.227 国家: 美国 地区: 加利福尼亚 城市: 旧金山 查看: Google 地图 |
|
api.voiceads.cn |
安全 |
是 |
IP地址: 116.196.97.47 国家: 中国 地区: 北京 城市: 北京 查看: 高德地图 |
|
logconf.iflytek.com |
安全 |
是 |
IP地址: 116.196.97.47 国家: 中国 地区: 安徽 城市: 合肥 查看: 高德地图 |
|
mt.voiceads.cn |
安全 |
是 |
IP地址: 116.196.97.47 国家: 中国 地区: 北京 城市: 北京 查看: 高德地图 |
|
api.mobileanjian.com |
安全 |
否 | 没有可用的地理位置信息。 |
|
m.anjian.com |
安全 |
是 |
IP地址: 117.27.139.140 国家: 中国 地区: 福建 城市: 福州 查看: 高德地图 |
|
手机号提取
URL链接分析
URL信息 | 源码文件 |
---|---|
http://api.mobileanjian.com/api |
com/cyjh/elfin/log/engine/BaseLog.java |
http://www.newbyvideo.com:10001 |
com/goldcoast/sdk/domain/EntryPoint.java |
https://logconf.iflytek.com/hotupdate |
com/iflytek/collector/a/a/d.java |
https://androidquery.appspot.com |
com/androidquery/service/MarketService.java |
https://api.voiceads.cn/hotupdate/?ver= |
com/iflytek/voiceads/dex/c.java |
http://logapi.mobileanjian.com/api/setlog |
com/cyjh/mobileanjian/ipc/utils/e.java |
https://api.twitter.com/oauth/request_token https://api.twitter.com/oauth/authorize https://api.twitter.com/oauth/access_token |
com/androidquery/auth/TwitterHandle.java |
http://api.mobileanjian.com/api http://api.mobileanjian.com/api/setfeedback http://121.41.22.28:6644/api/getauthorfeedback |
com/cyjh/feedback/lib/utils/URLConstant.java |
http://bbs.anjian.com/api.php?mod=u> http://bbs.anjian.com/api.php?mod=u&egg= |
com/cyjh/elfin/net/xutils/HttpTools.java |
1.9.3.1 |
com/ss/android/downloadlib/a/h.java |
1.1.1.1 |
com/cyjh/elfin/mvp/presenters/ScreenFullAdPresenter.java |
http://api.mobileanjian.com/api |
com/cyjh/mobileanjian/ipc/log/a.java |
https://crm.bytedance.com/audit/inspect/client/app/resend/ |
com/ss/android/downloadlib/a/d/a.java |
https://graph.facebook.com/oauth/authorize? https://graph.facebook.com/me https://graph.facebook.com/oauth/authorize https://www.facebook.com/connect/login_success.html |
com/androidquery/auth/FacebookHandle.java |
http://down.nishuoa.com/fengwocps.apk |
com/cyjh/elfin/constant/Constants.java |
https://mt.voiceads.cn/sdk/req https://imp.voiceads.cn/monitor? |
com/iflytek/voiceads/param/c.java |
https://log.iflytek.com/log |
com/iflytek/collector/a/a/i.java |
http://log.snssdk.com/service/2/app_log_exception/ |
com/ss/android/crash/log/l.java |
http://m.anjian.com/help/jiaoben/yxfwaj.apk |
com/cyjh/elfin/services/DownloadService.java |
https://api.voiceads.cn/hotupdate/ |
com/iflytek/voiceads/config/SDKConstants.java |
http://dmytrodanylyk.com/pages/portfolio/portfolio-process-button.html http://dmytrodanylyk.com/ https://github.com/dmytrodanylyk/android-process-button |
自研引擎-S |
Firebase配置检测
邮箱地址提取
源码文件 | |
---|---|
javamail@sun.com |
com/sun/mail/imap/IMAPFolder.java |
第三方追踪器
名称 | 类别 | 网址 |
---|---|---|
Baidu Mobile Ads | https://reports.exodus-privacy.eu.org/trackers/100 | |
Pangle | Advertisement | https://reports.exodus-privacy.eu.org/trackers/363 |
Umeng Analytics | https://reports.exodus-privacy.eu.org/trackers/119 |
敏感凭证泄露
活动列表
显示 32 个 activities
服务列表
显示 15 个 services
内容提供者列表
显示 3 个 providers
第三方SDK
SDK名称 | 开发者 | 描述信息 |
---|---|---|
android-gif-drawable | koral-- | android-gif-drawable 是在 Android 上显示动画 GIF 的绘制库。 |
移动应用推广 SDK | Baidu | 百度移动推广 SDK(Android)是百度官方推出的移动推广 SDK 在 Android 平台上的版本 |
腾讯广告 SDK | Tencent | 腾讯广告汇聚腾讯公司全量的应用场景,拥有核心行业数据、营销技术与专业服务能力。 |
File Provider | Android | FileProvider 是 ContentProvider 的特殊子类,它通过创建 content://Uri 代替 file:///Uri 以促进安全分享与应用程序关联的文件。 |
污点分析
当apk较大时,代码量会很大,造成数据流图(ICFG)呈现爆炸式增长,所以该功能比较耗时,请先喝杯咖啡,耐心等待……规则名称 | 描述信息 | 操作 |
---|---|---|
病毒分析 | 使用安卓恶意软件常用的API进行污点分析 | 开始分析 |
漏洞挖掘 | 漏洞挖掘场景下的污点分析 | 开始分析 |
隐私合规 | 隐私合规场景下的污点分析:组件内污点传播、组件间污点传播、组件与库函数之间的污点传播 | 开始分析 |
密码分析 | 分析加密算法是否使用常量密钥、静态初始化的向量(IV)、加密模式是否使用ECB等 | 开始分析 |
Callback | 因为Android中系统级的Callback并不会出现显式地进行回调方法的调用,所以如果需要分析Callback方法需要在声明文件中将其声明,这里提供一份AndroidCallbacks.txt文件,里面是一些常见的原生回调接口或类,如果有特殊接口需求,可以联系管理员 | 开始分析 |