安卓渗透

资产提取

在安卓应用的信息收集阶段,资产提取的核心目标是获取应用后端的API接口、云存储配置、硬编码的敏感信息(如AK/SK、密码等)以及其他潜在的攻击面。

抓包提取网络资产 (动态流量分析)

通过配置网络代理,拦截应用与服务器之间的通信流量,提取动态交互中的实际请求URL、内网IP、接口路径和参数结构。

  • 常用工具: Burp Suite, Charles, Fiddler, HTTP Toolkit。
  • 核心操作要点:
    • 基础抓包: 在测试机(手机/模拟器)上配置WiFi代理,并安装抓包工具的CA证书。
    • 突破证书校验 (SSL Pinning): 现代APP普遍会校验证书,导致HTTPS流量显示未知或抓取失败。
      • 解决方案: 需要配合 Root 环境 + Xposed/LSPosed 框架,使用 JustTrustMeTrustMeAlready 模块;或者使用 Frida 配合绕过脚本(如 frida-multiple-unpinning)。
    • 防代理绕过 (VPN抓包): 部分APP会检测系统代理并拒绝发送请求,或不走系统代理。
      • 解决方案:使用 PosternProxifier 等工具进行全局VPN流量转发到Burp;或者使用基于底层的路由抓包方案(如软路由Wireshark抓包、TCPDump)。

防抓包情况

自动化工具扫描 (静态特征提取)

利用自动化脚本快速从APK文件或反编译后的源码中提取硬编码的URL、IP、邮箱、云服务AccessKey等敏感资产,适合快速打面。

  • AppInfoScanner: 一款基于Python的强大信息收集工具。可以直接分析APK、DEX或跨平台编译产物,提取其中的URL、IP、可能存在的敏感信息、硬编码密码等。
  • MobSF (Mobile Security Framework): 自动化的移动应用静态和动态分析框架。上传APK后,会自动生成图文并茂的报告,包含应用权限、硬编码的URL、API端点、恶意软件特征等信息。
  • APKleaks: 专门用于扫描APK文件获取URI、端点和机密信息的轻量级命令行工具。
  • grep / strings 命令: 针对Linux/Mac环境,可以直接配合正则表达式在解包后的目录中暴力搜索特定格式的敏感信息。

反编译分析与手动提取 (深度静态挖掘)

当自动化工具遗漏、解析失败,或需要结合业务逻辑挖掘隐藏接口时,需要手动反编译APK进行资产挖掘。

  • 反编译工具: JADX / JADX-GUI: 将APK/DEX直接反编译为易读的Java代码。非常适合全局搜索关键字(如 "http://", "https://", "token", "password", "secret", "AccessKeyId")。
    • Apktool: 主要用于获取应用的资源文件(如 AndroidManifest.xmlstrings.xml 等)。许多测试环境的URL、云端SDK的Key会写在这些XML资源文件中。
  • 前置处理 (脱壳): 如果APP进行了加壳保护(如360加固、腾讯御安全等),上述静态工具无法直接看到真实的源码,必须先进行脱壳(如使用 BlackDex, FRIDA-DEXDump 等)获取真实的DEX文件后才能分析。

动态Hook与内存提取 (高级对抗)

针对高度混淆、URL动态拼接,或密钥在运行时才解密的复杂APP。

  • 工具: Frida, Xposed。
  • 应用场景: 如果APP的URL或密钥在本地是高强度加密存储的,只有在网络请求发起前一刻才在内存中解密,我们可以通过编写 Frida 脚本,Hook 相关的网络请求底层类(如 java.net.URL, okhttp3.Request 等)或加解密函数,直接在控制台打印出明文的URL、Header和参数体。