页面标题
本平台专为移动应用安全风险研究与合规评估设计,严禁用于任何非法用途。 如有疑问或建议,欢迎加入微信群交流。
应用基础信息
文件基本信息
应用基础信息
Google Play 应用市场信息
开发者信息
关于此应用
组件导出状态统计
文件结构与资源列表
应用签名证书信息
二进制文件已签名
v1 签名: False
v2 签名: True
v3 签名: False
v4 签名: False
主题: CN=ENJOY
签名算法: rsassa_pkcs1v15
有效期自: 2022-03-16 05:56:28+00:00
有效期至: 2122-02-20 05:56:28+00:00
发行人: CN=ENJOY
序列号: 0x481d7fa
哈希算法: sha256
证书MD5: b5543cfb1484d217b44828b64a3537c2
证书SHA1: e4879cd24364ef11235ce20e19c8c9d4f97b7047
证书SHA256: 500abeb7c1069428acc9fa332e9707ee2aa4db4d66e9531863755cca517db6f7
证书SHA512: b3e5a3e52dd253103d0b5b5d582951c198247bd7d4a72d456e2f8720d1e5bb45928153d15c1e665efc19403609d319faba8ef85d225852047d22d1032bfcfc9e
公钥算法: rsa
密钥长度: 2048
指纹: 1a9d309c5d02d515316d1e92ba16d64d4c59335f1ae60bb283e10cc032b10275
找到 1 个唯一证书
证书安全分析
0
0
1
| 标题 | 严重程度 | 描述信息 |
|---|---|---|
| 已签名应用 | 信息 | 应用程序使用代码签名证书进行签名 |
权限声明与风险分级
| 权限名称 | 安全等级 | 权限内容 | 权限描述 | 关联代码 |
|---|---|---|---|---|
| android.permission.INTERNET | 完全互联网访问 | 允许应用程序创建网络套接字。 | ||
| android.permission.ACCESS_NETWORK_STATE | 获取网络状态 | 允许应用程序查看所有网络的状态。 | ||
| com.google.android.gms.permission.AD_ID | 应用程序显示广告 | 此应用程序使用 Google 广告 ID,并且可能会投放广告。 | 无 | |
| android.permission.WAKE_LOCK | 防止手机休眠 | 允许应用程序防止手机休眠,在手机屏幕关闭后后台进程仍然运行。 | ||
| android.permission.FOREGROUND_SERVICE | 创建前台Service | Android 9.0以上允许常规应用程序使用 Service.startForeground,用于podcast播放(推送悬浮播放,锁屏播放) | 无 | |
| com.android.vending.BILLING | 应用程序具有应用内购买 | 允许应用程序从 Google Play 进行应用内购买。 | 无 | |
| com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE | Google 定义的权限 | 由 Google 定义的自定义权限。 | 无 | |
| android.permission.QUERY_ALL_PACKAGES | 获取已安装应用程序列表 | Android 11引入与包可见性相关的权限,允许查询设备上的任何普通应用程序,而不考虑清单声明。 | 无 | |
| android.permission.WRITE_EXTERNAL_STORAGE | 读取/修改/删除外部存储内容 | 允许应用程序写入外部存储。 | ||
| android.permission.MANAGE_EXTERNAL_STORAGE | 文件列表访问权限 | Android11新增权限,读取本地文件,如简历,聊天图片。 | ||
| android.permission.READ_EXTERNAL_STORAGE | 读取SD卡内容 | 允许应用程序从SD卡读取信息。 |
Manifest 配置安全分析
0
6
0
0
| 序号 | 问题 | 严重程度 | 描述信息 | 操作 |
|---|---|---|---|---|
| 1 |
应用程序已启用明文网络流量 [android:usesCleartextTraffic=true] |
警告 | 应用程序打算使用明文网络流量,例如明文HTTP,FTP协议,DownloadManager和MediaPlayer。针对API级别27或更低的应用程序,默认值为“true”。针对API级别28或更高的应用程序,默认值为“false”。避免使用明文流量的主要原因是缺乏机密性,真实性和防篡改保护;网络攻击者可以窃听传输的数据,并且可以在不被检测到的情况下修改它。 | |
| 2 |
应用程序数据存在被泄露的风险 未设置[android:allowBackup]标志 |
警告 | 这个标志 [android:allowBackup]应该设置为false。默认情况下它被设置为true,允许任何人通过adb备份你的应用程序数据。它允许已经启用了USB调试的用户从设备上复制应用程序数据。 | |
| 3 |
Activity (com.morsakabi.totaldestruction.android.AndroidLauncher) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
| 4 |
Service (androidx.work.impl.background.systemjob.SystemJobService) 受权限保护, 但是应该检查权限的保护级别。 Permission: android.permission.BIND_JOB_SERVICE [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
| 5 |
Broadcast Receiver (androidx.work.impl.diagnostics.DiagnosticsReceiver) 受权限保护, 但是应该检查权限的保护级别。 Permission: android.permission.DUMP [android:exported=true] |
警告 | 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
| 6 |
Activity (com.google.android.gms.games.internal.v2.appshortcuts.PlayGamesAppShortcutsActivity) 未被保护。 [android:exported=true] |
警告 | 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 |
可浏览 Activity 组件分析
| ACTIVITY | INTENT |
|---|
网络通信安全风险分析
| 序号 | 范围 | 严重级别 | 描述 |
|---|
API调用分析
安全漏洞检测
0
4
2
0
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 | 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据 | 警告 |
CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage OWASP MASVS: MSTG-STORAGE-2 |
升级会员:解锁高级权限 | |
| 4 | 应用程序创建临时文件。敏感信息永远不应该被写进临时文件 | 警告 |
CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage OWASP MASVS: MSTG-STORAGE-2 |
升级会员:解锁高级权限 | |
| 5 | 应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库 | 警告 |
CWE: CWE-89: SQL命令中使用的特殊元素转义处理不恰当('SQL 注入')
OWASP Top 10: M7: Client Code Quality |
升级会员:解锁高级权限 | |
| 6 | 此应用程序将数据复制到剪贴板。敏感数据不应复制到剪贴板,因为其他应用程序可以访问它 | 信息 |
OWASP MASVS: MSTG-STORAGE-10 |
升级会员:解锁高级权限 |
Native库安全分析
| 序号 | 动态库 | NX(堆栈禁止执行) | PIE | STACK CANARY(栈保护) | RELRO | RPATH(指定SO搜索路径) | RUNPATH(指定SO搜索路径) | FORTIFY(常用函数加强检查) | SYMBOLS STRIPPED(裁剪符号表) |
|---|---|---|---|---|---|---|---|---|---|
| 1 | arm64-v8a/libbridge.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 |
True
info 二进制文件有以下加固函数: ['__strlen_chk', '__memmove_chk', '__vsnprintf_chk'] |
True
info 符号被剥离 |
| 2 | arm64-v8a/libgdx-box2d.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 | arm64-v8a/libgdx-miniaudio.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 |
True
info 二进制文件有以下加固函数: ['__strlen_chk', '__memcpy_chk'] |
True
info 符号被剥离 |
| 4 | arm64-v8a/libgdx.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 |
True
info 二进制文件有以下加固函数: ['__memcpy_chk'] |
True
info 符号被剥离 |
文件分析
| 序号 | 问题 | 文件 |
|---|
行为分析
| 编号 | 行为 | 标签 | 文件 |
|---|---|---|---|
| 00022 | 从给定的文件绝对路径打开文件 |
文件 |
升级会员:解锁高级权限 |
| 00063 | 隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
| 00051 | 通过setData隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
| 00013 | 读取文件并将其放入流中 |
文件 |
升级会员:解锁高级权限 |
| 00012 | 读取数据并放入缓冲流 |
文件 |
升级会员:解锁高级权限 |
| 00028 | 从assets目录中读取文件 |
文件 |
升级会员:解锁高级权限 |
| 00020 | 获取文件的绝对路径并存储在字符串中 |
文件 |
升级会员:解锁高级权限 |
| 00162 | 创建 InetSocketAddress 对象并连接到它 |
socket |
升级会员:解锁高级权限 |
| 00163 | 创建新的 Socket 并连接到它 |
socket |
升级会员:解锁高级权限 |
IP地理位置
恶意域名检测
| 域名 | 状态 | 中国境内 | 位置信息 | 解析 |
|---|---|---|---|---|
| total-destruction-new-30689306.firebaseio.com |
安全 |
否 |
IP地址: 35.201.97.85 国家: 美国 地区: 密苏里州 城市: 堪萨斯城 查看: Google 地图 |
|
| totaldestruction.page.link |
安全 |
否 |
IP地址: 96.16.55.27 国家: 美国 地区: 纽约 城市: 纽约市 查看: Google 地图 |
|
| discord.gg |
安全 |
否 |
IP地址: 162.159.133.234 国家: 美国 地区: 加利福尼亚 城市: 旧金山 查看: Google 地图 |
|
| www.tiktok.com |
安全 |
否 |
IP地址: 96.16.55.27 国家: 美国 地区: 加利福尼亚 城市: 圣克拉拉 查看: Google 地图 |
|
手机号提取
URL链接分析
| URL信息 | 源码文件 |
|---|---|
|
https://play.google.com/store/apps/details?id=com.morsakabi.totaldestruction.android&referrer=utm_source%3dsharing http://play.google.com/store/apps/details?id=com.morsakabi.totaldestruction.android |
com/morsakabi/totaldestruction/android/AndroidLauncher.java |
|
https://www.instagram.com/morsakabi https://www.tiktok.com/@morsakabi https://discord.gg/w3zusuaaky |
com/morsakabi/totaldestruction/ui/screens/i.java |
|
https://totaldestruction.page.link/invite https://total-destruction-new-30689306.firebaseio.com |
自研引擎-S |
Firebase配置检测
| 标题 | 严重程度 | 描述信息 |
|---|---|---|
| 应用与Firebase数据库通信 | 信息 |
该应用与位于 https://total-destruction-new-30689306.firebaseio.com 的 Firebase 数据库进行通信 |
| Firebase远程配置已禁用 | 安全 |
Firebase远程配置URL ( https://firebaseremoteconfig.googleapis.com/v1/projects/457538782368/namespaces/firebase:fetch?key=AIzaSyAp9Lcb1_nyceBSIIQ_AUm-JAOXvTzUM1w ) 已禁用。响应内容如下所示: { |
邮箱地址提取
第三方追踪器
| 名称 | 类别 | 网址 |
|---|---|---|
| Google AdMob | Advertisement | https://reports.exodus-privacy.eu.org/trackers/312 |
| Google CrashLytics | Crash reporting | https://reports.exodus-privacy.eu.org/trackers/27 |
| Google Firebase Analytics | Analytics | https://reports.exodus-privacy.eu.org/trackers/49 |
敏感凭证泄露
已显示 13 个secrets
1、 AdMob广告平台的=> "com.google.android.gms.ads.APPLICATION_ID" : "@string/admob_id"
2、 凭证信息=> "com.google.android.gms.games.APP_ID" : "@string/app_id"
3、 "firebase_database_url" : "https://total-destruction-new-30689306.firebaseio.com"
4、 "google_app_id" : "1:457538782368:android:1750d2c963535765"
5、 "facebook_app_id" : "1464471247214680"
6、 "app_id" : "457538782368"
7、 "google_api_key" : "AIzaSyAp9Lcb1_nyceBSIIQ_AUm-JAOXvTzUM1w"
8、 "google_crash_reporting_api_key" : "AIzaSyAp9Lcb1_nyceBSIIQ_AUm-JAOXvTzUM1w"
9、 f3439997c20f025f7efddce664b292d9f886172edf88f091f31de9a3fbf7b9e7
10、 B42F7DDAFCE3E1303E240E6556C85345
11、 ee1c81aa325b61e8a114c0133a834166f97b59ee7c8bfb90621e62b62732e57b
12、 5ad0bdfee7788b239aceac72a10056d3d50fe91a8ec73e1a6d1b87a76cf83892
13、 3174A56A2928DEFB887A60E7149FB0ED
活动列表
显示 9 个 activities
服务列表
显示 10 个 services
广播接收者列表
显示 10 个 receivers
第三方SDK
| SDK名称 | 开发者 | 描述信息 |
|---|---|---|
| libGDX | libgdx | libGDX 是基于 OpenGL(ES) 的跨平台 Java 游戏开发框架,可在 Windows,Linux,Mac OS X,Android,iOS 和支持 WebGL 的浏览器上运行。它为快速原型设计和快速迭代提供了一个经过充分验证的健壮环境。LibGDX 不会在您身上强加特定的设计或编码风格,而是使您可以自由选择自己喜欢的方式来创建游戏。 |
| Google Play Billing | Google Play 结算服务可让您在 Android 上销售数字内容。本文档介绍了 Google Play 结算服务解决方案的基本构建基块。要决定如何实现特定的 Google Play 结算服务解决方案,您必须了解这些构建基块。 | |
| Google Play Service | 借助 Google Play 服务,您的应用可以利用由 Google 提供的最新功能,例如地图,Google+ 等,并通过 Google Play 商店以 APK 的形式分发自动平台更新。 这样一来,您的用户可以更快地接收更新,并且可以更轻松地集成 Google 必须提供的最新信息。 | |
| Jetpack Lifecycle | 生命周期感知型组件可执行操作来响应另一个组件(如 Activity 和 Fragment)的生命周期状态的变化。这些组件有助于您写出更有条理且往往更精简的代码,这样的代码更易于维护。 | |
| File Provider | Android | FileProvider 是 ContentProvider 的特殊子类,它通过创建 content://Uri 代替 file:///Uri 以促进安全分享与应用程序关联的文件。 |
| Jetpack App Startup | App Startup 库提供了一种直接,高效的方法来在应用程序启动时初始化组件。库开发人员和应用程序开发人员都可以使用 App Startup 来简化启动顺序并显式设置初始化顺序。App Startup 允许您定义共享单个内容提供程序的组件初始化程序,而不必为需要初始化的每个组件定义单独的内容提供程序。这可以大大缩短应用启动时间。 | |
| Jetpack WorkManager | 使用 WorkManager API 可以轻松地调度即使在应用退出或设备重启时仍应运行的可延迟异步任务。 | |
| Firebase | Firebase 提供了分析、数据库、消息传递和崩溃报告等功能,可助您快速采取行动并专注于您的用户。 | |
| Firebase Analytics | Google Analytics(分析)是一款免费的应用衡量解决方案,可提供关于应用使用情况和用户互动度的分析数据。 | |
| Jetpack Room | Room 持久性库在 SQLite 的基础上提供了一个抽象层,让用户能够在充分利用 SQLite 的强大功能的同时,获享更强健的数据库访问机制。 |
污点分析
当apk较大时,代码量会很大,造成数据流图(ICFG)呈现爆炸式增长,所以该功能比较耗时,请先喝杯咖啡,耐心等待……| 规则名称 | 描述信息 | 操作 |
|---|---|---|
| 病毒分析 | 使用安卓恶意软件常用的API进行污点分析 | 开始分析 |
| 漏洞挖掘 | 漏洞挖掘场景下的污点分析 | 开始分析 |
| 隐私合规 | 隐私合规场景下的污点分析:组件内污点传播、组件间污点传播、组件与库函数之间的污点传播 | 开始分析 |
| 密码分析 | 分析加密算法是否使用常量密钥、静态初始化的向量(IV)、加密模式是否使用ECB等 | 开始分析 |
| Callback | 因为Android中系统级的Callback并不会出现显式地进行回调方法的调用,所以如果需要分析Callback方法需要在声明文件中将其声明,这里提供一份AndroidCallbacks.txt文件,里面是一些常见的原生回调接口或类,如果有特殊接口需求,可以联系管理员 | 开始分析 |