一、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测试。