使用 Apktool 分析 Android 恶意软件
概述
以 APK 文件形式分发的 Android 恶意软件可通过静态分析提取权限、Activity、Service、广播接收器和可疑 API 调用,无需执行样本。本技能使用 androguard 进行编程化 APK 分析,识别危险权限组合、混淆代码模式、动态代码加载、基于反射的 API 调用以及网络通信指标。
前置条件
- Python 3.9+,安装
androguard - apktool(用于资源反编译)
- jadx(用于 Java 源码恢复,可选)
- 隔离分析环境(虚拟机或沙箱)
- 待分析的 APK 样本文件
工作流程
- 使用 androguard 解析 APK,提取清单元数据
- 枚举所请求的权限,标记危险权限组合
- 从清单中列出 Activity、Service、Receiver 和 Provider
- 扫描可疑 API 调用(反射、加密、短信、电话)
- 检测动态代码加载模式(DexClassLoader、Runtime.exec)
- 从字符串中提取硬编码 URL、IP 和 C2 指标
- 生成包含 MITRE ATT&CK 移动端映射的风险评估报告
输出格式
- JSON 报告,包含权限分析、组件列表、可疑 API 调用、网络指标和风险评分
- 从 APK 中提取的字符串和潜在 IOC