声明:本平台专为移动应用安全风险研究与合规评估设计,严禁用于任何非法用途。 如有疑问或建议,欢迎加入微信群交流

应用图标

文件基本信息

文件名称
y.apk
文件大小
6.41MB
MD5
f8ebd772ae7b12fd0a617c9a49528139
SHA1
df8c360e53b91bd4f91bf6a6aa66359cc11c9dd6
SHA256
43d16e1372c0306e9336cb7e0fc5b7c6e53b1716d72dcefb9187a97850437fc5

应用基础信息

应用名称
하나캐피탈
包名
com.red.rabbit
主活动
com.demo.prometheus.activity.MainActivity
目标SDK
19
最小SDK
14
版本号
1.0
子版本号
1
加固信息
未加壳
开发框架
Java/Kotlin

反编译与源码导出

Manifest文件 查看
Java源代码 查看 -- 下载

文件结构与资源列表

    应用签名证书信息

    二进制文件已签名
    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-04-15 22:40:50+00:00
    有效期至: 2035-09-01 22:40:50+00:00
    发行人: C=US, ST=California, L=Mountain View, O=Android, OU=Android, CN=Android, E=android@android.com
    序列号: 0xb3998086d056cffa
    哈希算法: md5
    证书MD5: 8ddb342f2da5408402d7568af21e29f9
    证书SHA1: 27196e386b875e76adf700e7ea84e4c6eee33dfa
    证书SHA256: c8a2e9bccf597c2fb6dc66bee293fc13f2fc47ec77bc6b2b0d52c11f51192ab8
    证书SHA512: 5d802f24d6ac76c708a8e7afe28fd97e038f888cef6665fb9b4a92234c311d6ff42127ccb2eb5a898f4e7e4e553f6ef602d43d1a2ebae9f002a6598e72fd2d83
    公钥算法: rsa
    密钥长度: 2048
    指纹: 65ba0830722d5767f8779e37d0d9c67562f03ec63a2889af655ee9c59effb434
    找到 1 个唯一证书

    权限声明与风险分级

    权限名称 安全等级 权限内容 权限描述 关联代码
    android.permission.KILL_BACKGROUND_PROCESSES 普通 结束进程 允许应用程序结束其他应用程序的后台进程。
    android.permission.AUTHENTICATE_ACCOUNTS 危险 作为帐户身份验证程序 允许应用程序使用 AccountManager 的帐户身份验证程序功能,包括创建帐户以及获取和设置其密码。
    android.permission.GET_ACCOUNTS 普通 探索已知账号 允许应用程序访问帐户服务中的帐户列表。
    android.permission.WRITE_SYNC_SETTINGS 危险 修改同步设置 允许应用程序修改同步设置。
    android.permission.CHANGE_WIFI_STATE 危险 改变Wi-Fi状态 允许应用程序改变Wi-Fi状态。
    android.permission.GET_TASKS 危险 检索当前运行的应用程序 允许应用程序检索有关当前和最近运行的任务的信息。恶意应用程序可借此发现有关其他应用程序的保密信息。
    android.permission.INTERNET 危险 完全互联网访问 允许应用程序创建网络套接字。
    android.permission.ACCESS_NETWORK_STATE 普通 获取网络状态 允许应用程序查看所有网络的状态。
    android.permission.PROCESS_OUTGOING_CALLS 危险 拦截外拨电话 允许应用程序处理外拨电话或更改要拨打的号码。恶意应用程序可能会借此监视、另行转接甚至阻止外拨电话。
    android.permission.READ_CALL_LOG 危险 读取通话记录 允许应用程序读取用户的通话记录
    android.permission.READ_CONTACTS 危险 读取联系人信息 允允许应用程序读取您手机上存储的所有联系人(地址)数据。恶意应用程序可借此将您的数据发送给其他人。
    android.permission.WRITE_CONTACTS 危险 写入联系人信息 允许应用程序修改您手机上存储的联系人(地址)数据。恶意应用程序可借此清除或修改您的联系人数据。
    android.permission.RECEIVE_BOOT_COMPLETED 普通 开机自启 允许应用程序在系统完成启动后即自行启动。这样会延长手机的启动时间,而且如果应用程序一直运行,会降低手机的整体速度。
    android.permission.WRITE_CALL_LOG 危险 写入通话记录 允许应用程序写入(但不读取)用户的通话记录数据。
    android.permission.CALL_PHONE 危险 直接拨打电话 允许应用程序直接拨打电话。恶意程序会在用户未知的情况下拨打电话造成损失。但不被允许拨打紧急电话。
    android.permission.READ_PHONE_STATE 危险 读取手机状态和标识 允许应用程序访问设备的手机功能。有此权限的应用程序可确定此手机的号码和序列号,是否正在通话,以及对方的号码等。
    android.permission.MODIFY_PHONE_STATE 签名(系统) 修改手机状态 允许应用程序控制设备的电话功能。拥有此权限的应用程序可自行切换网络、打开和关闭无线通信等,而不会通知您。
    android.permission.ANSWER_PHONE_CALLS 危险 允许应用程序接听来电 一个用于以编程方式应答来电的运行时权限。
    android.permission.SYSTEM_ALERT_WINDOW 危险 弹窗 允许应用程序弹窗。 恶意程序可以接管手机的整个屏幕。
    android.permission.WAKE_LOCK 危险 防止手机休眠 允许应用程序防止手机休眠,在手机屏幕关闭后后台进程仍然运行。
    android.permission.DISABLE_KEYGUARD 危险 禁用键盘锁 允许应用程序停用键锁和任何关联的密码安全设置。例如,在手机上接听电话时停用键锁,在通话结束后重新启用键锁。
    android.permission.READ_SMS 危险 读取短信 允许应用程序读取您的手机或 SIM 卡中存储的短信。恶意应用程序可借此读取您的机密信息。
    android.permission.RECEIVE_SMS 危险 接收短信 允许应用程序接收短信。 恶意程序会在用户未知的情况下监视或删除。
    android.permission.REORDER_TASKS 危险 对正在运行的应用程序重新排序 允许应用程序将任务移至前端和后台。恶意应用程序可借此强行进入前端,而不受您的控制。
    android.permission.READ_LOGS 危险 读取系统日志文件 允许应用程序从系统的各日志文件中读取信息。这样应用程序可以发现您的手机使用情况,这些信息还可能包含用户个人信息或保密信息,造成隐私数据泄露。
    android.permission.FOREGROUND_SERVICE 普通 创建前台Service Android 9.0以上允许常规应用程序使用 Service.startForeground,用于podcast播放(推送悬浮播放,锁屏播放)

    证书安全合规分析

    高危
    0
    警告
    1
    信息
    1
    标题 严重程度 描述信息
    已签名应用 信息 应用程序使用代码签名证书进行签名

    Manifest 配置安全分析

    高危
    1
    警告
    5
    信息
    0
    屏蔽
    0
    序号 问题 严重程度 描述信息 操作
    1 应用程序数据可以被备份
    [android:allowBackup=true]
    警告 这个标志允许任何人通过adb备份你的应用程序数据。它允许已经启用了USB调试的用户从设备上复制应用程序数据。
    2 Broadcast Receiver (com.demo.prometheus.receiver.ShowBR) 未被保护。
    [android:exported=true]
    警告 发现 Broadcast Receiver与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
    3 Broadcast Receiver (com.demo.prometheus.receiver.MessageBR) 受权限保护, 但是应该检查权限的保护级别。
    Permission: android.permission.BROADCAST_SMS
    [android:exported=true]
    警告 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
    4 Broadcast Receiver (com.demo.prometheus.app.HomeBR) 未被保护。
    存在一个intent-filter。
    警告 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。
    5 Activity (com.fanjun.keeplive.activity.OnePixelActivity) 的启动模式不是standard模式 高危 Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
    6 高优先级的Intent (1000) - {1} 个命中
    [android:priority]
    警告 通过设置一个比另一个Intent更高的优先级,应用程序有效地覆盖了其他请求。

    可浏览 Activity 组件分析

    ACTIVITY INTENT

    网络通信安全风险分析

    序号 范围 严重级别 描述

    API调用分析

    API功能 源码文件
    一般功能-> IPC通信
    隐私数据-> 读取短信 com/demo/prometheus/receiver/MessageBR.java
    一般功能-> 获取系统服务(getSystemService)
    组件-> 启动 Service
    一般功能-> PowerManager操作
    进程操作-> 杀死进程 com/demo/prometheus/app/NewApplication.java
    com/demo/prometheus/c/g.java
    com/demo/prometheus/log/MyCrashHandler.java
    组件-> 发送广播
    一般功能-> Android通知 wei/mark/standout/StandOutWindow.java
    调用java反射机制
    组件-> 启动 Activity com/demo/prometheus/activity/a.java
    com/demo/prometheus/c/a.java
    com/demo/prometheus/fragment/c.java
    一般功能-> 文件操作
    命令执行-> getRuntime.exec() com/demo/prometheus/log/LogcatHelper.java
    进程操作-> 获取进程pid
    进程操作-> 获取运行的进程\服务 com/demo/prometheus/app/NewApplication.java
    com/fanjun/keeplive/KeepLive.java
    com/fanjun/keeplive/service/JobHandlerService.java
    隐私数据-> 读写通讯录 com/demo/prometheus/app/a.java
    com/demo/prometheus/c/c.java
    设备指纹-> 查看本机号码 com/demo/prometheus/c/d.java
    加密解密-> Crypto加解密组件 com/demo/prometheus/c/e.java
    加密解密-> Base64 加密 com/demo/prometheus/c/e.java
    加密解密-> Base64 解密 com/demo/prometheus/c/e.java
    加密解密-> 信息摘要算法 com/demo/prometheus/c/e.java
    隐私数据-> 获取已安装的应用程序 com/demo/prometheus/app/NewApplication.java
    一般功能-> 获取活动网路信息 com/demo/prometheus/c/a.java

    安全漏洞检测

    高危
    2
    警告
    3
    信息
    1
    安全
    1
    屏蔽
    0
    序号 问题 等级 参考标准 文件位置 操作
    1 应用程序记录日志信息,不得记录敏感信息 信息 CWE: CWE-532: 通过日志文件的信息暴露
    OWASP MASVS: MSTG-STORAGE-3
    升级会员:解锁高级权限
    2 应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库 警告 CWE: CWE-89: SQL命令中使用的特殊元素转义处理不恰当('SQL 注入')
    OWASP Top 10: M7: Client Code Quality
    升级会员:解锁高级权限
    3 此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击 安全
    OWASP MASVS: MSTG-NETWORK-4
    升级会员:解锁高级权限
    4 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据 警告 CWE: CWE-276: 默认权限不正确
    OWASP Top 10: M2: Insecure Data Storage
    OWASP MASVS: MSTG-STORAGE-2
    升级会员:解锁高级权限
    5 应用程序使用带PKCS5/PKCS7填充的加密模式CBC。此配置容易受到填充oracle攻击。 高危 CWE: CWE-649: 依赖于混淆或加密安全相关输入而不进行完整性检查
    OWASP Top 10: M5: Insufficient Cryptography
    OWASP MASVS: MSTG-CRYPTO-3
    升级会员:解锁高级权限
    6 MD5是已知存在哈希冲突的弱哈希 警告 CWE: CWE-327: 使用了破损或被认为是不安全的加密算法
    OWASP Top 10: M5: Insufficient Cryptography
    OWASP MASVS: MSTG-CRYPTO-4
    升级会员:解锁高级权限
    7 该文件是World Readable。任何应用程序都可以读取文件 高危 CWE: CWE-276: 默认权限不正确
    OWASP Top 10: M2: Insecure Data Storage
    OWASP MASVS: MSTG-STORAGE-2
    升级会员:解锁高级权限

    Native库安全分析

    No Shared Objects found.
    序号 动态库 NX(堆栈禁止执行) PIE STACK CANARY(栈保护) RELRO RPATH(指定SO搜索路径) RUNPATH(指定SO搜索路径) FORTIFY(常用函数加强检查) SYMBOLS STRIPPED(裁剪符号表)

    文件分析

    序号 问题 文件

    行为分析

    编号 行为 标签 文件
    00055 查询短信内容及电话号码来源 短信
    信息收集
    升级会员:解锁高级权限
    00048 查询短信内容 短信
    信息收集
    升级会员:解锁高级权限
    00049 查询短信发送者的电话号码 短信
    信息收集
    升级会员:解锁高级权限
    00063 隐式意图(查看网页、拨打电话等) 控制
    升级会员:解锁高级权限
    00051 通过setData隐式意图(查看网页、拨打电话等) 控制
    升级会员:解锁高级权限
    00064 监控来电状态 控制
    升级会员:解锁高级权限
    00022 从给定的文件绝对路径打开文件 文件
    升级会员:解锁高级权限
    00191 获取短信收件箱中的消息 短信
    升级会员:解锁高级权限
    00189 获取短信内容 短信
    升级会员:解锁高级权限
    00188 获取短信地址 短信
    升级会员:解锁高级权限
    00200 从联系人列表中查询数据 信息收集
    联系人
    升级会员:解锁高级权限
    00187 查询 URI 并检查结果 信息收集
    短信
    通话记录
    日历
    升级会员:解锁高级权限
    00201 从通话记录中查询数据 信息收集
    通话记录
    升级会员:解锁高级权限
    00077 读取敏感数据(短信、通话记录等) 信息收集
    短信
    通话记录
    日历
    升级会员:解锁高级权限
    00078 获取网络运营商名称 信息收集
    电话服务
    升级会员:解锁高级权限
    00038 查询电话号码 信息收集
    升级会员:解锁高级权限
    00033 查询IMEI号 信息收集
    升级会员:解锁高级权限

    敏感权限分析

    恶意软件常用权限 14/30
    android.permission.GET_ACCOUNTS
    android.permission.GET_TASKS
    android.permission.PROCESS_OUTGOING_CALLS
    android.permission.READ_CALL_LOG
    android.permission.READ_CONTACTS
    android.permission.WRITE_CONTACTS
    android.permission.RECEIVE_BOOT_COMPLETED
    android.permission.WRITE_CALL_LOG
    android.permission.CALL_PHONE
    android.permission.READ_PHONE_STATE
    android.permission.SYSTEM_ALERT_WINDOW
    android.permission.WAKE_LOCK
    android.permission.READ_SMS
    android.permission.RECEIVE_SMS
    其它常用权限 6/46
    android.permission.AUTHENTICATE_ACCOUNTS
    android.permission.CHANGE_WIFI_STATE
    android.permission.INTERNET
    android.permission.ACCESS_NETWORK_STATE
    android.permission.REORDER_TASKS
    android.permission.FOREGROUND_SERVICE

    恶意软件常用权限 是被已知恶意软件广泛滥用的权限。
    其它常用权限 是已知恶意软件经常滥用的权限。

    IP地理位置

    恶意域名检测

    手机号提取

    URL链接分析

    URL信息 源码文件
    http://180.150.226.34:8080/v1/api/
    com/demo/prometheus/api/ApiManager.java

    Firebase配置检测

    邮箱地址提取

    第三方追踪器

    名称 类别 网址

    敏感凭证泄露

    已显示 1 个secrets
    1、 fe34337a-20cb-4c9b-98a2-e56da11aa3d8

    字符串信息

    建议导出为TXT,方便查看。

    内容提供者列表

    第三方SDK

    SDK名称 开发者 描述信息
    File Provider Android FileProvider 是 ContentProvider 的特殊子类,它通过创建 content://Uri 代替 file:///Uri 以促进安全分享与应用程序关联的文件。

    污点分析

    当apk较大时,代码量会很大,造成数据流图(ICFG)呈现爆炸式增长,所以该功能比较耗时,请先喝杯咖啡,耐心等待……
    规则名称 描述信息 操作
    病毒分析 使用安卓恶意软件常用的API进行污点分析 开始分析  
    漏洞挖掘 漏洞挖掘场景下的污点分析 开始分析  
    隐私合规 隐私合规场景下的污点分析:组件内污点传播、组件间污点传播、组件与库函数之间的污点传播 开始分析  
    密码分析 分析加密算法是否使用常量密钥、静态初始化的向量(IV)、加密模式是否使用ECB等 开始分析  
    Callback 因为Android中系统级的Callback并不会出现显式地进行回调方法的调用,所以如果需要分析Callback方法需要在声明文件中将其声明,这里提供一份AndroidCallbacks.txt文件,里面是一些常见的原生回调接口或类,如果有特殊接口需求,可以联系管理员 开始分析