10 信息打点——APP&小程序篇&抓包封包&XP框架&反编译&资产提取

发布时间 2023-12-25 16:30:30作者: chenhongl

一、APP资产收集

对APP进行资产收集,不但要用Fiddler等抓包工具,对外在资产进行分析收集;还要使用AppInfoScanner等工具,对内在资产(源码)进行反编译分析。

安卓APP入手

1、APP-外在资产收集

  1. 将APP安装在模拟器中,修改模拟器代理设置,使用Fiddler、Burpsuite、Charles等抓包工具抓取APP访问的http协议数据包,抓取url资源。

  2. 收集到web信息后,后续外在渗透测试同web。

 

2、APP内在资产收集(从源码提取)

1. APP-内在提取工具 - AppInfoScanner

(1)AppInfoScanner:一款适用于以HW行动/红队/渗透测试团队为场景的移动端(Android、iOS、WEB、H5、静态网站)信息收集扫描工具。

  适用场景:日常渗透测试中对APP中进行关键资产信息收集,比如URL地址、IP地址、关键字等信息的采集等。

  下载地址:https://github.com/kelvinBen/AppInfoScanner

 

(2)使用AppInfoScanner扫描Android应用的APK文件(APP无壳或脱壳后直接扫描):

    【示例】:python app.py android -i xxx.apk

  反编译后的文件放在AppInfoScanner/out/xxx下,文件可以放到IDEA中查看

  

  【例】:渗透目标1:https://fastapi.oss-cn-beijing.aliyuncs.com/,阿里云对象存储OSS服务,用来存储资源,尝试获取“OSS browser”的客户端的登录key值

 

(3)反编译后载入IDEA

  ①将APP载入IDEA进行反编译,搜索代码关键词进行修改,提取ICO、MD5、HASH值;

  ②反编译得到JAVA代码后,可进行代码审计寻找漏洞;

  ③提取到RES资源后可配合黑暗引擎收集资产;

 

(4)出现错误:Error: This application has shell, the retrieval results may not be accurate, Please remove the shell and try again!

说明需要扫描的应用存在壳,需要进行脱壳/砸壳以后才能进行扫描,目前可以结合以下工具进行脱壳/砸壳处理,使用ApkScan查看加壳的类型:

    Android系统下脱壳:
        xposed模块: dexdump插件
        frida模块: FRIDA-DEXDump
        无Root脱壳:blackdex
    iOS系统下脱壳:使用firda模块
    windows系统使用: frida-ipa-dump
    MacOS系统使用:frida-ios-dump

#Apk查壳工具:查壳ApkScan-PKID.jar

 

2. APP-资源提取工具- 安卓修改大师

1)使用安卓修改大师可对APP进行反编译、资源提取、抓取封包、关键字搜索和修改,提取ICO、MD5、HASH值。

  ①搜索/替换中搜索“http://”查找URL地址

  ②“网络抓包”:需要用真机操作抓包;

  ③修改源码,重新打包;

(2)反编译得到JAVA后进行代码审计:查看源代码、代码结构、代码逻辑等

(3)提取到RES资源后可配合黑暗引擎收集资产。

 

3. 工具 - APK资源提取器

提取安卓apk包、相关资源(图片、视频等),再利用fofa、360、夸克等引擎,支持针对文件的MD5值、hash值进行搜索,对一些特殊文件如ico文件、图标、文件MD5值、hash值关联到相关的网站

 

4. 封包监听工具:封包监听工具1.13.rar

封包工具也能抓到通讯信息,类似于“安卓修改大师”的“网络抓包”功能。

 

5.APP-框架使用-Xposed&JustTrustMe

模拟器环境下使用xposed框架,利用JustTrustMe等工具进行反编译、资产提取等工作。

 

二、小程序-微信-电脑版登录启动抓包分析

1、在PC端微信打开小程序,使用burpsuite、fiddler等抓包工具进行抓包,提取关键资源。

2、收集到相关资产后,后续渗透测试同web测试。