文件结构与资源列表
应用签名证书信息
APK已签名
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-02-29 01:33:46+00:00
有效期至: 2035-07-17 01:33:46+00:00
发行人: C=US, ST=California, L=Mountain View, O=Android, OU=Android, CN=Android, E=android@android.com
序列号: 0x936eacbe07f201df
哈希算法: sha1
证书MD5: e89b158e4bcf988ebd09eb83f5378e87
证书SHA1: 61ed377e85d386a8dfee6b864bd85b0bfaa5af81
证书SHA256: a40da80a59d170caa950cf15c18c454d47a39b26989d8b640ecd745ba71bf5dc
证书SHA512: 5216ccb62004c4534f35c780ad7c582f4ee528371e27d4151f0553325de9ccbe6b34ec4233f5f640703581053abfea303977272d17958704d89b7711292a4569
公钥算法: rsa
密钥长度: 2048
指纹: f9f32662753449dc550fd88f1ed90e94b81adef9389ba16b89a6f3579c112e75
共检测到 1 个唯一证书
权限声明与风险分级
权限名称 | 安全等级 | 权限内容 | 权限描述 | 关联代码 |
---|---|---|---|---|
com.android.launcher.permission.READ_SETTINGS | 读取桌面快捷方式 | 这种权限的作用是允许应用读取桌面快捷方式的设置。 | 无关联代码 | |
com.android.launcher.permission.WRITE_SETTINGS | 未知权限 | 来自 android 引用的未知权限。 | 无关联代码 | |
com.zhibozhuli.wnw.supergirl.permission.READ_SETTINGS | 未知权限 | 来自 android 引用的未知权限。 | 无关联代码 | |
com.zhibozhuli.wnw.supergirl.permission.WRITE_SETTINGS | 未知权限 | 来自 android 引用的未知权限。 | 无关联代码 | |
android.permission.EXPAND_STATUS_BAR | 展开/收拢状态栏 | 允许应用程序展开或折叠状态条。 | 无关联代码 | |
android.permission.INTERNET | 完全互联网访问 | 允许应用程序创建网络套接字。 |
|
|
android.permission.WRITE_EXTERNAL_STORAGE | 读取/修改/删除外部存储内容 | 允许应用程序写入外部存储。 |
|
|
android.permission.READ_EXTERNAL_STORAGE | 读取SD卡内容 | 允许应用程序从SD卡读取信息。 |
|
|
android.permission.ACCESS_NETWORK_STATE | 获取网络状态 | 允许应用程序查看所有网络的状态。 |
|
|
android.permission.READ_PHONE_STATE | 读取手机状态和标识 | 允许应用程序访问设备的手机功能。有此权限的应用程序可确定此手机的号码和序列号,是否正在通话,以及对方的号码等。 | ||
android.permission.ACCESS_WIFI_STATE | 查看Wi-Fi状态 | 允许应用程序查看有关Wi-Fi状态的信息。 | ||
android.permission.FOREGROUND_SERVICE | 创建前台Service | Android 9.0以上允许常规应用程序使用 Service.startForeground,用于podcast播放(推送悬浮播放,锁屏播放) | ||
android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS | 使用 Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 的权限 | 应用程序必须拥有权限才能使用 Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS。 | 无关联代码 | |
android.permission.MODIFY_AUDIO_SETTINGS | 允许应用修改全局音频设置 | 允许应用程序修改全局音频设置,如音量。多用于消息语音功能。 | ||
android.permission.VIBRATE | 控制振动器 | 允许应用程序控制振动器,用于消息通知振动功能。 | ||
android.permission.CAMERA | 拍照和录制视频 | 允许应用程序拍摄照片和视频,且允许应用程序收集相机在任何时候拍到的图像。 | ||
android.permission.REQUEST_INSTALL_PACKAGES | 允许安装应用程序 | Android8.0 以上系统允许安装未知来源应用程序权限。 | 无关联代码 | |
android.permission.INJECT_EVENTS | 按键和控制按钮 | 允许应用程序将其自己的输入活动(按键等)提供给其他应用程序。恶意应用程序可借此掌控手机。 | 无关联代码 | |
android.permission.WRITE_SETTINGS | 修改全局系统设置 | 允许应用程序修改系统设置方面的数据。恶意应用程序可借此破坏您的系统配置。 | 无关联代码 | |
android.permission.WRITE_SECURE_SETTINGS | 修改安全系统设置 | 允许应用程序修改系统的安全设置数据。普通应用程序不能使用此权限。 | 无关联代码 | |
android.permission.BIND_ACCESSIBILITY_SERVICE | AccessibilityServices 需要进行系统绑定 | 必须由 AccessibilityService要求,以确保只有系统可以绑定到它。 | ||
android.permission.CHANGE_COMPONENT_ENABLED_STATE | 启用或禁用应用程序组件 | 允许应用程序更改是否启用其他应用程序的组件。恶意应用程序可借此停用重要的手机功能。使用此权限时务必谨慎,因为这可能导致应用程序组件进入不可用、不一致或不稳定的状态。 | 无关联代码 | |
android.permission.GET_TASKS | 检索当前运行的应用程序 | 允许应用程序检索有关当前和最近运行的任务的信息。恶意应用程序可借此发现有关其他应用程序的保密信息。 | ||
android.permission.REAL_GET_TASKS | 未知权限 | 来自 android 引用的未知权限。 | 无关联代码 | |
android.permission.READ_LOGS | 读取系统日志文件 | 允许应用程序从系统的各日志文件中读取信息。这样应用程序可以发现您的手机使用情况,这些信息还可能包含用户个人信息或保密信息,造成隐私数据泄露。 | 无关联代码 | |
android.permission.ACCESS_FINE_LOCATION | 获取精确位置 | 通过GPS芯片接收卫星的定位信息,定位精度达10米以内。恶意程序可以用它来确定您所在的位置。 | 无关联代码 | |
android.permission.SET_ACTIVITY_WATCHER | 监控所有应用程序的启动 | 允许应用程序监控系统启动活动的方式。恶意应用程序可借此彻底损坏系统。此权限仅在开发时才需要,普通的手机应用不需要。 | 无关联代码 | |
android.permission.RECEIVE_USER_PRESENT | 允许程序唤醒机器 | 允许应用可以接收点亮屏幕或解锁广播。 | 无关联代码 | |
android.permission.RECEIVE_BOOT_COMPLETED | 开机自启 | 允许应用程序在系统完成启动后即自行启动。这样会延长手机的启动时间,而且如果应用程序一直运行,会降低手机的整体速度。 |
|
|
android.permission.INSTALL_PACKAGES | 请求安装APP | 允许应用程序安装全新的或更新的 Android 包。恶意应用程序可能会借此添加其具有任意权限的新应用程序。 | 无关联代码 | |
android.permission.REQUEST_DELETE_PACKAGES | 请求删除应用 | 允许应用程序请求删除包。 | 无关联代码 | |
android.permission.DELETE_PACKAGES | 删除应用程序 | 允许应用程序删除 Android 包。恶意应用程序可借此删除重要的应用程序。 | 无关联代码 | |
android.permission.ACCESS_COARSE_LOCATION | 获取粗略位置 | 通过WiFi或移动基站的方式获取用户粗略的经纬度信息,定位精度大概误差在30~1500米。恶意程序可以用它来确定您的大概位置。 | 无关联代码 | |
android.permission.SYSTEM_ALERT_WINDOW | 弹窗 | 允许应用程序弹窗。 恶意程序可以接管手机的整个屏幕。 |
|
|
android.permission.BLUETOOTH | 创建蓝牙连接 | 允许应用程序查看或创建蓝牙连接。 |
|
|
android.permission.BLUETOOTH_ADMIN | 管理蓝牙 | 允许程序发现和配对新的蓝牙设备。 | ||
android.permission.BLUETOOTH_PRIVILEGED | 允许特权蓝牙操作,无需用户交互 | 允许应用程序在没有用户交互的情况下配对蓝牙设备,并允许或禁止电话簿访问或消息访问。 | 无关联代码 | |
android.permission.CHANGE_WIFI_STATE | 改变Wi-Fi状态 | 允许应用程序改变Wi-Fi状态。 | ||
android.permission.RECORD_AUDIO | 获取录音权限 | 允许应用程序获取录音权限。 | ||
android.permission.CLEAR_APP_CACHE | 删除所有应用程序缓存数据 | 允许应用程序通过删除应用程序缓存目录中的文件释放手机存储空间。通常此权限只适用于系统进程。 | 无关联代码 | |
android.permission.WAKE_LOCK | 防止手机休眠 | 允许应用程序防止手机休眠,在手机屏幕关闭后后台进程仍然运行。 | ||
android.permission.DISABLE_KEYGUARD | 禁用键盘锁 | 允许应用程序停用键锁和任何关联的密码安全设置。例如,在手机上接听电话时停用键锁,在通话结束后重新启用键锁。 | 无关联代码 | |
android.permission.MODIFY_PHONE_STATE | 修改手机状态 | 允许应用程序控制设备的电话功能。拥有此权限的应用程序可自行切换网络、打开和关闭无线通信等,而不会通知您。 | 无关联代码 | |
android.permission.CHANGE_NETWORK_STATE | 改变网络连通性 | 允许应用程序改变网络连通性。 | ||
android.permission.CLEAR_APP_USER_DATA | 清除用户数据 | 允许应用程序清除用户数据。 | 无关联代码 | |
android.permission.BATTERY_STATS | 修改电池统计 | 允许对手机电池统计信息进行修改 | 无关联代码 | |
android.permission.READ_SMS | 读取短信 | 允许应用程序读取您的手机或 SIM 卡中存储的短信。恶意应用程序可借此读取您的机密信息。 | 无关联代码 | |
android.permission.WRITE_SMS | 编辑短信或彩信 | 允许应用程序写入手机或 SIM 卡中存储的短信。恶意应用程序可借此删除您的信息。 | 无关联代码 | |
android.permission.READ_CALENDAR | 读取日历活动 | 允许应用程序读取您手机上存储的所有日历活动。恶意应用程序可借此将您的日历活动发送给其他人。 | 无关联代码 | |
android.permission.READ_CALL_LOG | 读取通话记录 | 允许应用程序读取用户的通话记录 | 无关联代码 | |
android.permission.READ_CONTACTS | 读取联系人信息 | 允允许应用程序读取您手机上存储的所有联系人(地址)数据。恶意应用程序可借此将您的数据发送给其他人。 | ||
android.permission.READ_HISTORY_BOOKMARKS | 读取浏览器的历史记录和书签 | 允许应用程序读取浏览器访问过的所有URL和所有浏览器的书签。 | 无关联代码 | |
android.permission.WRITE_APN_SETTINGS | 写入访问点名称设置 | 允许应用程序写入访问点名称设置。 | ||
android.permission.WRITE_CONTACTS | 写入联系人信息 | 允许应用程序修改您手机上存储的联系人(地址)数据。恶意应用程序可借此清除或修改您的联系人数据。 | 无关联代码 | |
android.permission.WRITE_CALL_LOG | 写入通话记录 | 允许应用程序写入(但不读取)用户的通话记录数据。 | 无关联代码 | |
android.permission.WRITE_VOICEMAIL | 允许修改和删除语音邮件 | 允许应用程序修改和删除系统中现有的语音邮件 | 无关联代码 | |
android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION | 允许媒体投影的前台服务 | 允许常规应用程序使用类型为“mediaProjection”的 Service.startForeground。 | 无关联代码 | |
android.permission.MOUNT_UNMOUNT_FILESYSTEMS | 装载和卸载文件系统 | 允许应用程序装载和卸载可移动存储器的文件系统。 | 无关联代码 | |
android.permission.FLASHLIGHT | 控制闪光灯 | 允许应用程序控制闪光灯。 | 无关联代码 |
证书安全合规分析
标题 | 严重程度 | 描述信息 |
---|---|---|
已签名应用 | 信息 | 应用已使用代码签名证书进行签名。 |
Manifest 配置安全分析
序号 | 问题 | 严重程度 | 描述信息 | 操作 |
---|---|---|---|---|
1 |
应用已启用明文网络流量 [android:usesCleartextTraffic=true] |
警告 | 应用允许明文网络流量(如 HTTP、FTP 协议、DownloadManager、MediaPlayer 等)。API 级别 27 及以下默认启用,28 及以上默认禁用。明文流量缺乏机密性、完整性和真实性保护,攻击者可窃听或篡改传输数据。建议关闭明文流量,仅使用加密协议。 | |
2 |
应用已配置网络安全策略 [android:networkSecurityConfig=@xml/network_security_config] |
信息 | 网络安全配置允许应用通过声明式配置文件自定义网络安全策略,无需修改代码。可针对特定域名或应用范围进行灵活配置。 | |
3 |
应用数据允许备份 [android:allowBackup=true] |
警告 | 该标志允许通过 adb 工具备份应用数据。启用 USB 调试的用户可直接复制应用数据,存在数据泄露风险。 | |
4 | Activity (com.aSiAmnVKE.ghEEkxp.OJfs) 易受 StrandHogg 2.0 攻击 | 高危 | 检测到 Activity 存在 StrandHogg 2.0 任务劫持漏洞。攻击者可将恶意 Activity 置于易受攻击应用的任务栈顶部,使应用极易成为钓鱼攻击目标。可通过将启动模式设置为 "singleInstance" 并将 taskAffinity 设为空(taskAffinity=""),或将应用的 target SDK 版本(28)升级至 29 及以上,从平台层面修复该漏洞。 | |
5 |
Activity (com.aSiAmnVKE.ghEEkxp.OJfs) 未受保护。 [android:exported=true] |
警告 | 检测到 Activity 已导出,未受任何权限保护,任意应用均可访问。 | |
6 | Activity (com.aSiAmnVKE.XshkfXj.xNoiqfd) 易受 StrandHogg 2.0 攻击 | 高危 | 检测到 Activity 存在 StrandHogg 2.0 任务劫持漏洞。攻击者可将恶意 Activity 置于易受攻击应用的任务栈顶部,使应用极易成为钓鱼攻击目标。可通过将启动模式设置为 "singleInstance" 并将 taskAffinity 设为空(taskAffinity=""),或将应用的 target SDK 版本(28)升级至 29 及以上,从平台层面修复该漏洞。 | |
7 |
Activity (com.aSiAmnVKE.XshkfXj.xNoiqfd) 未受保护。 [android:exported=true] |
警告 | 检测到 Activity 已导出,未受任何权限保护,任意应用均可访问。 | |
8 | Activity (com.aSiAmnVKE.ILoL.HNYxpOV) 易受 StrandHogg 2.0 攻击 | 高危 | 检测到 Activity 存在 StrandHogg 2.0 任务劫持漏洞。攻击者可将恶意 Activity 置于易受攻击应用的任务栈顶部,使应用极易成为钓鱼攻击目标。可通过将启动模式设置为 "singleInstance" 并将 taskAffinity 设为空(taskAffinity=""),或将应用的 target SDK 版本(28)升级至 29 及以上,从平台层面修复该漏洞。 | |
9 |
Activity (com.aSiAmnVKE.ILoL.HNYxpOV) 未受保护。 [android:exported=true] |
警告 | 检测到 Activity 已导出,未受任何权限保护,任意应用均可访问。 | |
10 | Activity (com.aSiAmnVKE.tKsoUTL.Qfir) 易受 StrandHogg 2.0 攻击 | 高危 | 检测到 Activity 存在 StrandHogg 2.0 任务劫持漏洞。攻击者可将恶意 Activity 置于易受攻击应用的任务栈顶部,使应用极易成为钓鱼攻击目标。可通过将启动模式设置为 "singleInstance" 并将 taskAffinity 设为空(taskAffinity=""),或将应用的 target SDK 版本(28)升级至 29 及以上,从平台层面修复该漏洞。 | |
11 |
Activity (com.aSiAmnVKE.tKsoUTL.Qfir) 未受保护。 [android:exported=true] |
警告 | 检测到 Activity 已导出,未受任何权限保护,任意应用均可访问。 | |
12 |
Activity (com.aSiAmnVKE.ysomay.wfSRg) 未受保护。 [android:exported=true] |
警告 | 检测到 Activity 已导出,未受任何权限保护,任意应用均可访问。 | |
13 | Activity (com.aSiAmnVKE.cHPubwL.doq) 易受 StrandHogg 2.0 攻击 | 高危 | 检测到 Activity 存在 StrandHogg 2.0 任务劫持漏洞。攻击者可将恶意 Activity 置于易受攻击应用的任务栈顶部,使应用极易成为钓鱼攻击目标。可通过将启动模式设置为 "singleInstance" 并将 taskAffinity 设为空(taskAffinity=""),或将应用的 target SDK 版本(28)升级至 29 及以上,从平台层面修复该漏洞。 | |
14 |
Activity (com.aSiAmnVKE.cHPubwL.doq) 未受保护。 [android:exported=true] |
警告 | 检测到 Activity 已导出,未受任何权限保护,任意应用均可访问。 | |
15 |
Broadcast Receiver (com.aSiAmnVKE.CWNpb.jZarxv) 未受保护。 [android:exported=true] |
警告 | 检测到 Broadcast Receiver 已导出,未受任何权限保护,任意应用均可访问。 | |
16 |
Service (com.aSiAmnVKE.vHxbq.cpchSa) 未受保护。 [android:exported=true] |
警告 | 检测到 Service 已导出,未受任何权限保护,任意应用均可访问。 | |
17 |
Service (com.aSiAmnVKE.sDA.BcISlKM) 未受保护。 [android:exported=true] |
警告 | 检测到 Service 已导出,未受任何权限保护,任意应用均可访问。 | |
18 |
Activity (com.aSiAmnVKE.zYidyay.UtfZXsN) 未受保护。 存在 intent-filter。 |
警告 | 检测到 Activity 已与设备上的其他应用共享,因此可被任意应用访问。intent-filter 的存在表明该 Activity 被显式导出,存在安全风险。 | |
19 |
Service (cfbgex.amgvtf.B9exas) 受权限保护,但应检查权限保护级别。 Permission: android.permission.BIND_ACCESSIBILITY_SERVICE [android:exported=true] |
警告 | 检测到 Service 已导出并受未在本应用定义的权限保护。请在权限定义处核查其保护级别。若为 normal 或 dangerous,恶意应用可申请并与组件交互;若为 signature,仅同证书签名应用可访问。 | |
20 |
Service (ctox4q.ata3nb.Bvpl1w) 受权限保护,但应检查权限保护级别。 Permission: android.permission.BIND_INPUT_METHOD [android:exported=true] |
警告 | 检测到 Service 已导出并受未在本应用定义的权限保护。请在权限定义处核查其保护级别。若为 normal 或 dangerous,恶意应用可申请并与组件交互;若为 signature,仅同证书签名应用可访问。 | |
21 |
Broadcast Receiver (com.aSiAmnVKE.oXtBJbX.nya) 未受保护。 存在 intent-filter。 |
警告 | 检测到 Broadcast Receiver 已与设备上的其他应用共享,因此可被任意应用访问。intent-filter 的存在表明该 Broadcast Receiver 被显式导出,存在安全风险。 | |
22 |
Service (com.evernote.android.job.gcm.PlatformGcmService) 受权限保护,但应检查权限保护级别。 Permission: com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE [android:exported=true] |
警告 | 检测到 Service 已导出并受未在本应用定义的权限保护。请在权限定义处核查其保护级别。若为 normal 或 dangerous,恶意应用可申请并与组件交互;若为 signature,仅同证书签名应用可访问。 | |
23 |
高优先级 Intent(2147483647) - {5} 个命中 [android:priority] |
警告 | 通过设置较高的 Intent 优先级,应用可覆盖其他请求,可能导致安全风险。 |
可浏览 Activity 组件分析
ACTIVITY | INTENT |
---|
网络通信安全风险分析
序号 | 范围 | 严重级别 | 描述 |
---|---|---|---|
1 | * | 高危 | 基本配置不安全地配置为允许到所有域的明文流量。 |
API调用分析
安全漏洞检测
序号 | 问题 | 等级 | 参考标准 | 文件位置 | 操作 |
---|---|---|---|---|---|
1 | 应用程序记录日志信息,不得记录敏感信息 | 信息 |
CWE: CWE-532: 通过日志文件的信息暴露
OWASP MASVS: MSTG-STORAGE-3 |
升级会员:解锁高级权限 | |
2 | 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据 | 警告 |
CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage OWASP MASVS: MSTG-STORAGE-2 |
升级会员:解锁高级权限 | |
3 | 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等 | 警告 |
CWE: CWE-312: 明文存储敏感信息
OWASP Top 10: M9: Reverse Engineering OWASP MASVS: MSTG-STORAGE-14 |
升级会员:解锁高级权限 | |
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 | SHA-1是已知存在哈希冲突的弱哈希 | 警告 |
CWE: CWE-327: 使用了破损或被认为是不安全的加密算法
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-4 |
升级会员:解锁高级权限 | |
7 | 应用程序使用不安全的随机数生成器 | 警告 |
CWE: CWE-330: 使用不充分的随机数
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-6 |
升级会员:解锁高级权限 | |
8 | 此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击 | 安全 |
OWASP MASVS: MSTG-NETWORK-4 |
升级会员:解锁高级权限 | |
9 | 使用弱加密算法 | 高危 |
CWE: CWE-327: 使用了破损或被认为是不安全的加密算法
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-4 |
升级会员:解锁高级权限 | |
10 | 应用程序使用带PKCS5/PKCS7填充的加密模式CBC。此配置容易受到填充oracle攻击。 | 高危 |
CWE: CWE-649: 依赖于混淆或加密安全相关输入而不进行完整性检查
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-3 |
升级会员:解锁高级权限 | |
11 | 此应用程序将数据复制到剪贴板。敏感数据不应复制到剪贴板,因为其他应用程序可以访问它 | 信息 |
OWASP MASVS: MSTG-STORAGE-10 |
升级会员:解锁高级权限 | |
12 | 如果一个应用程序使用WebView.loadDataWithBaseURL方法来加载一个网页到WebView,那么这个应用程序可能会遭受跨站脚本攻击 | 高危 |
CWE: CWE-79: 在Web页面生成时对输入的转义处理不恰当('跨站脚本')
OWASP Top 10: M1: Improper Platform Usage OWASP MASVS: MSTG-PLATFORM-6 |
升级会员:解锁高级权限 | |
13 | IP地址泄露 | 警告 |
CWE: CWE-200: 信息泄露
OWASP MASVS: MSTG-CODE-2 |
升级会员:解锁高级权限 | |
14 | 已启用远程WebView调试 | 高危 |
CWE: CWE-919: 移动应用程序中的弱点
OWASP Top 10: M1: Improper Platform Usage OWASP MASVS: MSTG-RESILIENCE-2 |
升级会员:解锁高级权限 | |
15 | 此应用程序可能具有Root检测功能 | 安全 |
OWASP MASVS: MSTG-RESILIENCE-1 |
升级会员:解锁高级权限 | |
16 | SSL的不安全实现。信任所有证书或接受自签名证书是一个关键的安全漏洞。此应用程序易受MITM攻击 | 高危 |
CWE: CWE-295: 证书验证不恰当
OWASP Top 10: M3: Insecure Communication OWASP MASVS: MSTG-NETWORK-3 |
升级会员:解锁高级权限 | |
17 | 可能存在跨域漏洞。在 WebView 中启用从 URL 访问文件可能会泄漏文件系统中的敏感信息 | 警告 |
CWE: CWE-200: 信息泄露
OWASP Top 10: M1: Improper Platform Usage OWASP MASVS: MSTG-PLATFORM-7 |
升级会员:解锁高级权限 | |
18 | 不安全的Web视图实现。Web视图忽略SSL证书错误并接受任何SSL证书。此应用程序易受MITM攻击 | 高危 |
CWE: CWE-295: 证书验证不恰当
OWASP Top 10: M3: Insecure Communication OWASP MASVS: MSTG-NETWORK-3 |
升级会员:解锁高级权限 | |
19 | 应用程序在加密算法中使用ECB模式。ECB模式是已知的弱模式,因为它对相同的明文块[UNK]产生相同的密文 | 高危 |
CWE: CWE-327: 使用了破损或被认为是不安全的加密算法
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-2 |
升级会员:解锁高级权限 | |
20 | 不安全的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 | arm64-v8a/libmatfindimage.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 二进制文件有以下加固函数: ['__memmove_chk', '__strlen_chk', '__vsnprintf_chk'] |
True
info 符号被剥离 |
2 | arm64-v8a/libpngx.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 | 从给定的文件绝对路径打开文件 |
文件 |
升级会员:解锁高级权限 |
00054 | 从文件安装其他APK |
反射 |
升级会员:解锁高级权限 |
00192 | 获取短信收件箱中的消息 |
短信 |
升级会员:解锁高级权限 |
00063 | 隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
00051 | 通过setData隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
00191 | 获取短信收件箱中的消息 |
短信 |
升级会员:解锁高级权限 |
00036 | 从 res/raw 目录获取资源文件 |
反射 |
升级会员:解锁高级权限 |
00056 | 修改语音音量 |
控制 |
升级会员:解锁高级权限 |
00013 | 读取文件并将其放入流中 |
文件 |
升级会员:解锁高级权限 |
00019 | 从给定的类名中查找方法,通常用于反射 |
反射 |
升级会员:解锁高级权限 |
00029 | 动态初始化类对象 |
反射 |
升级会员:解锁高级权限 |
00157 | 使用反射实例化新对象,可能用于 dexClassLoader |
反射 dexClassLoader |
升级会员:解锁高级权限 |
00046 | 方法反射 |
反射 |
升级会员:解锁高级权限 |
00026 | 方法反射 |
反射 |
升级会员:解锁高级权限 |
00112 | 获取日历事件的日期 |
信息收集 日历 |
升级会员:解锁高级权限 |
00014 | 将文件读入流并将其放入 JSON 对象中 |
文件 |
升级会员:解锁高级权限 |
00089 | 连接到 URL 并接收来自服务器的输入流 |
命令 网络 |
升级会员:解锁高级权限 |
00030 | 通过给定的 URL 连接到远程服务器 |
网络 |
升级会员:解锁高级权限 |
00109 | 连接到 URL 并获取响应代码 |
网络 命令 |
升级会员:解锁高级权限 |
00162 | 创建 InetSocketAddress 对象并连接到它 |
socket |
升级会员:解锁高级权限 |
00163 | 创建新的 Socket 并连接到它 |
socket |
升级会员:解锁高级权限 |
00199 | 停止录音并释放录音资源 |
录制音视频 |
升级会员:解锁高级权限 |
00001 | 初始化位图对象并将数据(例如JPEG)压缩为位图对象 |
相机 |
升级会员:解锁高级权限 |
00183 | 获取当前相机参数并更改设置 |
相机 |
升级会员:解锁高级权限 |
00015 | 将缓冲流(数据)放入 JSON 对象 |
文件 |
升级会员:解锁高级权限 |
00005 | 获取文件的绝对路径并将其放入 JSON 对象 |
文件 |
升级会员:解锁高级权限 |
00033 | 查询IMEI号 |
信息收集 |
升级会员:解锁高级权限 |
00067 | 查询IMSI号码 |
信息收集 |
升级会员:解锁高级权限 |
00083 | 查询IMEI号 |
信息收集 电话服务 |
升级会员:解锁高级权限 |
00159 | 使用辅助服务执行通过文本获取节点信息的操作 |
无障碍服务 |
升级会员:解锁高级权限 |
00209 | 从最新渲染图像中获取像素 |
信息收集 |
升级会员:解锁高级权限 |
00003 | 将压缩后的位图数据放入JSON对象中 |
相机 |
升级会员:解锁高级权限 |
00096 | 连接到 URL 并设置请求方法 |
命令 网络 |
升级会员:解锁高级权限 |
00123 | 连接到远程服务器后将响应保存为 JSON |
网络 命令 |
升级会员:解锁高级权限 |
00153 | 通过 HTTP 发送二进制数据 |
http |
升级会员:解锁高级权限 |
00202 | 打电话 |
控制 |
升级会员:解锁高级权限 |
00203 | 将电话号码放入意图中 |
控制 |
升级会员:解锁高级权限 |
00023 | 从当前应用程序启动另一个应用程序 |
反射 控制 |
升级会员:解锁高级权限 |
00072 | 将 HTTP 输入流写入文件 |
命令 网络 文件 |
升级会员:解锁高级权限 |
00094 | 连接到 URL 并从中读取数据 |
命令 网络 |
升级会员:解锁高级权限 |
00108 | 从给定的 URL 读取输入流 |
网络 命令 |
升级会员:解锁高级权限 |
00125 | 检查给定的文件路径是否存在 |
文件 |
升级会员:解锁高级权限 |
00028 | 从assets目录中读取文件 |
文件 |
升级会员:解锁高级权限 |
00062 | 查询WiFi信息和WiFi Mac地址 |
WiFi 信息收集 |
升级会员:解锁高级权限 |
00172 | 检查管理员权限以(可能)获取它们 |
admin |
升级会员:解锁高级权限 |
00009 | 将游标中的数据放入JSON对象 |
文件 |
升级会员:解锁高级权限 |
00004 | 获取文件名并将其放入 JSON 对象 |
文件 信息收集 |
升级会员:解锁高级权限 |
00208 | 捕获设备屏幕的内容 |
信息收集 屏幕 |
升级会员:解锁高级权限 |
00012 | 读取数据并放入缓冲流 |
文件 |
升级会员:解锁高级权限 |
00206 | 检查视图的文本是否包含给定的字符串 |
无障碍服务 |
升级会员:解锁高级权限 |
00207 | 检查视图的资源名称是否包含给定的字符串 |
无障碍服务 |
升级会员:解锁高级权限 |
敏感权限分析
恶意软件常用权限 是被已知恶意软件广泛滥用的权限。
其它常用权限 是已知恶意软件经常滥用的权限。
IP地理位置
恶意域名检测
域名 | 状态 | 中国境内 | 位置信息 | 解析 |
---|---|---|---|---|
jsoup.org |
安全 |
否 |
IP地址: 104.21.64.1 国家: 美国 地区: 加利福尼亚 城市: 旧金山 查看: Google 地图 |
|
手机号提取
URL链接分析
URL信息 | 源码文件 |
---|---|
8.8.8.8 8.8.4.4 |
io/netty/resolver/dns/DnsServerAddresses.java |
https://github.com/tootallnate/java-websocket/wiki/lost-connection-detection |
org/java_websocket/AbstractWebSocket.java |
http://undefined/ https://jsoup.org/cookbook/extracting-data/working-with-urls |
org/jsoup/helper/HttpConnection.java |
127.0.0.1 |
p0000oO008/p001ooo8o088/p002Oo0oo80/C0571o8O8Oo.java |
127.0.0.1 |
p0000oO008/p001ooo8o088/p002Oo0oo80/C0569o8ooo8.java |
http://127.0.0.1:%s/ping http://127.0.0.1:%s/cmd |
p0000oO008/p001ooo8o088/p002Oo0oo80/C0540O0oOO.java |
10.0.0.200 10.0.0.172 |
p0000oO008/p001ooo8o088/p002Oo0oo80/C0160Oooo0.java |
10.0.0.200 10.0.0.172 |
p0000oO008/p001ooo8o088/p002Oo0oo80/C0100Oooo0.java |
127.0.0.1 |
p0000oO008/p001ooo8o088/p002Oo0oo80/C0511o8O8Oo.java |
http://127.0.0.1:%s/ping http://127.0.0.1:%s/cmd |
p0000oO008/p001ooo8o088/p002Oo0oo80/C0480O0oOO.java |
127.0.0.1 |
p0000oO008/p001ooo8o088/p002Oo0oo80/C0509o8ooo8.java |
Firebase配置检测
邮箱地址提取
第三方追踪器
名称 | 类别 | 网址 |
---|---|---|
TalkingData | Advertisement, Analytics | https://reports.exodus-privacy.eu.org/trackers/293 |
敏感凭证泄露
活动列表
显示 18 个 activities
服务列表
显示 9 个 services
内容提供者列表
显示 4 个 providers
第三方SDK
SDK名称 | 开发者 | 描述信息 |
---|---|---|
C++ 共享库 | Android | 在 Android 应用中运行原生代码。 |
OpenCV | OpenCV | OpenCV 是一个跨平台的计算机视觉库,可用于开发实时的图像处理、计算机视觉以及模式识别程序。 |
RenderScript | Android | RenderScript 是用于在 Android 上以高性能运行计算密集型任务的框架。RenderScript 主要用于数据并行计算,不过串行工作负载也可以从中受益。RenderScript 运行时可在设备上提供的多个处理器(如多核 CPU 和 GPU)间并行调度工作。这样您就能够专注于表达算法而不是调度工作。RenderScript 对于执行图像处理、计算摄影或计算机视觉的应用来说尤其有用。 |
Google Play Service | 借助 Google Play 服务,您的应用可以利用由 Google 提供的最新功能,例如地图,Google+ 等,并通过 Google Play 商店以 APK 的形式分发自动平台更新。 这样一来,您的用户可以更快地接收更新,并且可以更轻松地集成 Google 必须提供的最新信息。 | |
AgentWeb | Justson | AgentWeb 是一个基于的 Android WebView ,极度容易使用以及功能强大的库,提供了 Android WebView 一系列的问题解决方案 ,并且轻量和极度灵活。 |
EasyPermissions | EasyPermissions 是一个包装器库,用于简化针对 Android M 或更高版本的基本系统权限逻辑。 | |
File Provider | Android | FileProvider 是 ContentProvider 的特殊子类,它通过创建 content://Uri 代替 file:///Uri 以促进安全分享与应用程序关联的文件。 |
Firebase | Firebase 提供了分析、数据库、消息传递和崩溃报告等功能,可助您快速采取行动并专注于您的用户。 | |
Shizuku | RikkaW | Shizuku 可以帮助普通应用借助一个由 app_process 启动的 Java 进程直接以 adb 或 root 特权使用系统 API。 |
Jetpack Media | 与其他应用共享媒体内容和控件。已被 media2 取代。 | |
Android-Job | evernote | Android 实用程序库,用于在后台延迟运行作业。 根据 Android 版本的不同,将使用 JobScheduler,GcmNetworkManager 或 AlarmManager。 |
污点分析
当apk较大时,代码量会很大,造成数据流图(ICFG)呈现爆炸式增长,所以该功能比较耗时,请先喝杯咖啡,耐心等待……规则名称 | 描述信息 | 操作 |
---|---|---|
病毒分析 | 使用安卓恶意软件常用的API进行污点分析 | 开始分析 |
漏洞挖掘 | 漏洞挖掘场景下的污点分析 | 开始分析 |
隐私合规 | 隐私合规场景下的污点分析:组件内污点传播、组件间污点传播、组件与库函数之间的污点传播 | 开始分析 |
密码分析 | 分析加密算法是否使用常量密钥、静态初始化的向量(IV)、加密模式是否使用ECB等 | 开始分析 |
Callback | 因为Android中系统级的Callback并不会出现显式地进行回调方法的调用,所以如果需要分析Callback方法需要在声明文件中将其声明,这里提供一份AndroidCallbacks.txt文件,里面是一些常见的原生回调接口或类,如果有特殊接口需求,可以联系管理员 | 开始分析 |