文件基本信息
应用基础信息
文件基本信息
应用基础信息
文件结构与资源列表
应用签名证书信息
二进制文件已签名
v1 签名: True
v2 签名: True
v3 签名: True
v4 签名: False
主题: C=中国, ST=江苏, L=南京, O=np, OU=np, CN=np
签名算法: rsassa_pkcs1v15
有效期自: 2021-04-25 09:03:56+00:00
有效期至: 3020-08-26 09:03:56+00:00
发行人: C=中国, ST=江苏, L=南京, O=np, OU=np, CN=np
序列号: 0x45ff9a3
哈希算法: sha512
证书MD5: 68170b6b26e52338bc07ae665303cc36
证书SHA1: 26b02d233509f4aecf56980032343456ceab722a
证书SHA256: 492682f877607ee99df2ddd2bd5953fd727bdf6e19d397de9dbbafd582bcad75
证书SHA512: 763b51023083622bb9f06465082814259210ea0b60d32b81d46f324fce73d0a9cd7397dc4392aa27933d74b4ac2a8ee5c3b51dc0877f30386321209eeeed355a
公钥算法: rsa
密钥长度: 2048
指纹: cd58737fe1197c47782434eb7f19c6746d03fc4622e5d358dcf20f512bbcd4a9
找到 1 个唯一证书
权限声明与风险分级
权限名称 | 安全等级 | 权限内容 | 权限描述 | 关联代码 |
---|---|---|---|---|
android.permission.INTERNET | 危险 | 完全互联网访问 | 允许应用程序创建网络套接字。 | 显示文件 |
android.permission.ACCESS_NETWORK_STATE | 普通 | 获取网络状态 | 允许应用程序查看所有网络的状态。 | 显示文件 |
android.permission.RECEIVE_SMS | 危险 | 接收短信 | 允许应用程序接收短信。 恶意程序会在用户未知的情况下监视或删除。 | 显示文件 |
android.permission.FOREGROUND_SERVICE | 普通 | 创建前台Service | Android 9.0以上允许常规应用程序使用 Service.startForeground,用于podcast播放(推送悬浮播放,锁屏播放) | 显示文件 |
android.permission.RECEIVE_BOOT_COMPLETED | 普通 | 开机自启 | 允许应用程序在系统完成启动后即自行启动。这样会延长手机的启动时间,而且如果应用程序一直运行,会降低手机的整体速度。 | 显示文件 |
android.permission.WAKE_LOCK | 危险 | 防止手机休眠 | 允许应用程序防止手机休眠,在手机屏幕关闭后后台进程仍然运行。 | 显示文件 |
证书安全合规分析
标题 | 严重程度 | 描述信息 |
---|---|---|
已签名应用 | 信息 | 应用程序已使用代码签名证书进行签名 |
Manifest 配置安全分析
序号 | 问题 | 严重程度 | 描述信息 | 操作 |
---|---|---|---|---|
1 |
应用程序可以安装在有漏洞的已更新 Android 版本上 Android 4.1-4.1.2, [minSdk=16] |
信息 | 该应用程序可以安装在具有多个未修复漏洞的旧版本 Android 上。这些设备不会从 Google 接收合理的安全更新。支持 Android 版本 => 10、API 29 以接收合理的安全更新。 | |
2 |
应用程序已启用明文网络流量 [android:usesCleartextTraffic=true] |
警告 | 应用程序打算使用明文网络流量,例如明文HTTP,FTP协议,DownloadManager和MediaPlayer。针对API级别27或更低的应用程序,默认值为“true”。针对API级别28或更高的应用程序,默认值为“false”。避免使用明文流量的主要原因是缺乏机密性,真实性和防篡改保护;网络攻击者可以窃听传输的数据,并且可以在不被检测到的情况下修改它。 | |
3 |
应用程序数据可以被备份 [android:allowBackup=true] |
警告 | 这个标志允许任何人通过adb备份你的应用程序数据。它允许已经启用了USB调试的用户从设备上复制应用程序数据。 | |
4 |
Service (tech.bogomolov.incomingsmsgateway.SmsReceiverService) 未被保护。 [android:exported=true] |
警告 | 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
5 |
Broadcast Receiver (tech.bogomolov.incomingsmsgateway.BootCompletedReceiver) 未被保护。 [android:exported=true] |
警告 | 发现 Broadcast Receiver与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。 | |
6 |
Service (androidx.work.impl.background.systemjob.SystemJobService) 受权限保护, 但是应该检查权限的保护级别。 Permission: android.permission.BIND_JOB_SERVICE [android:exported=true] |
警告 | 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 | |
7 |
Broadcast Receiver (androidx.work.impl.diagnostics.DiagnosticsReceiver) 受权限保护, 但是应该检查权限的保护级别。 Permission: android.permission.DUMP [android:exported=true] |
警告 | 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。 |
可浏览 Activity 组件分析
ACTIVITY | INTENT |
---|
网络通信安全风险分析
序号 | 范围 | 严重级别 | 描述 |
---|
API调用分析
安全漏洞检测
序号 | 问题 | 等级 | 参考标准 | 文件位置 | 操作 |
---|---|---|---|---|---|
1 | 应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库 | 警告 |
CWE: CWE-89: SQL命令中使用的特殊元素转义处理不恰当('SQL 注入')
OWASP Top 10: M7: Client Code Quality |
升级会员:解锁高级权限 | |
2 | 应用程序记录日志信息,不得记录敏感信息 | 信息 |
CWE: CWE-532: 通过日志文件的信息暴露
OWASP MASVS: MSTG-STORAGE-3 |
升级会员:解锁高级权限 | |
3 | 应用程序使用不安全的随机数生成器 | 警告 |
CWE: CWE-330: 使用不充分的随机数
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-6 |
升级会员:解锁高级权限 | |
4 | 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等 | 警告 |
CWE: CWE-312: 明文存储敏感信息
OWASP Top 10: M9: Reverse Engineering OWASP MASVS: MSTG-STORAGE-14 |
升级会员:解锁高级权限 | |
5 | SSL的不安全实现。信任所有证书或接受自签名证书是一个关键的安全漏洞。此应用程序易受MITM攻击 | 高危 |
CWE: CWE-295: 证书验证不恰当
OWASP Top 10: M3: Insecure Communication OWASP MASVS: MSTG-NETWORK-3 |
升级会员:解锁高级权限 |
Native库安全分析
序号 | 动态库 | NX(堆栈禁止执行) | PIE | STACK CANARY(栈保护) | RELRO | RPATH(指定SO搜索路径) | RUNPATH(指定SO搜索路径) | FORTIFY(常用函数加强检查) | SYMBOLS STRIPPED(裁剪符号表) |
---|
文件分析
序号 | 问题 | 文件 |
---|
敏感权限分析
恶意软件常用权限 是被已知恶意软件广泛滥用的权限。
其它常用权限 是已知恶意软件经常滥用的权限。
IP地理位置
恶意域名检测
手机号提取
URL链接分析
Firebase配置检测
邮箱地址提取
第三方追踪器
名称 | 类别 | 网址 |
---|
敏感凭证泄露
活动列表
显示 9 个 activities
服务列表
显示 5 个 services
广播接收者列表
显示 9 个 receivers
内容提供者列表
显示 1 个 providers
第三方SDK
SDK名称 | 开发者 | 描述信息 |
---|---|---|
Jetpack App Startup | App Startup 库提供了一种直接,高效的方法来在应用程序启动时初始化组件。库开发人员和应用程序开发人员都可以使用 App Startup 来简化启动顺序并显式设置初始化顺序。App Startup 允许您定义共享单个内容提供程序的组件初始化程序,而不必为需要初始化的每个组件定义单独的内容提供程序。这可以大大缩短应用启动时间。 | |
Jetpack WorkManager | 使用 WorkManager API 可以轻松地调度即使在应用退出或设备重启时仍应运行的可延迟异步任务。 | |
Jetpack Room | Room 持久性库在 SQLite 的基础上提供了一个抽象层,让用户能够在充分利用 SQLite 的强大功能的同时,获享更强健的数据库访问机制。 |
污点分析
当apk较大时,代码量会很大,造成数据流图(ICFG)呈现爆炸式增长,所以该功能比较耗时,请先喝杯咖啡,耐心等待……规则名称 | 描述信息 | 操作 |
---|---|---|
病毒分析 | 使用安卓恶意软件常用的API进行污点分析 | 开始分析 |
漏洞挖掘 | 漏洞挖掘场景下的污点分析 | 开始分析 |
隐私合规 | 隐私合规场景下的污点分析:组件内污点传播、组件间污点传播、组件与库函数之间的污点传播 | 开始分析 |
密码分析 | 分析加密算法是否使用常量密钥、静态初始化的向量(IV)、加密模式是否使用ECB等 | 开始分析 |
Callback | 因为Android中系统级的Callback并不会出现显式地进行回调方法的调用,所以如果需要分析Callback方法需要在声明文件中将其声明,这里提供一份AndroidCallbacks.txt文件,里面是一些常见的原生回调接口或类,如果有特殊接口需求,可以联系管理员 | 开始分析 |