对APP得资产进行提取
使用工具:AppinfoScanner
工具功能:对移动端(安卓、ios、web、h5、静态网站)进行信息搜集
工具输出内容:资产的title、domain、cdn、指纹信息、状态信息
工具下载地址:https://github.com/kelvinBen/AppInfoScanner
-移动安全框架 (MobSF) 是一种自动化的一体化移动应用程序 (Android/iOS/Windows) 渗透测试、恶意软件分析和安全评估框架,能够执行静态和动态分析。MobSF 支持移动应用程序二进制文件(APK、XAPK、IPA 和 APPX)以及压缩源代码,并提供 REST API 以与您的 CI/CD 或 DevSecOps 管道无缝集成。动态分析器可帮助您执行运行时安全评估和交互式仪器测试。
这个框架检测apk文件之后,可以输出安全分析报告
-Mobexler是基于Elementary OS的定制虚拟机,旨在帮助进行Android和iOS应用程序的渗透测试。Mobexler预装了各种开源工具,脚本,黑客必备软件等,这些都是安全测试Android和iOS应用程序所必需的。
https://github.com/MobSF/Mobile-Security-Framework-MobSF
docker pull opensecurity/mobile-security-framework-mobsf
docker run -it -p 8008:8000 opensecurity/mobile-security-framework-mobsf:latest
抓包
1.app没有走http协议
2.app有反模拟器检测,app有证书校验检测
抓包遇到的问题:
情况1.
场景:模拟器、burp;
抓包情况:使用burp设置代理之前可以抓包,app正常使用,使用代理之后app显示错误,无法进行抓包;
原因:
解决办法:使用工具frida进行抓包,同时使用r0capture(仅适合安卓),该工具调用系统底层,可以绕过很多限制,介绍如下:
-Firda 是一款易用的跨平 Hook 工具, Java 层到 Native 层的 Hook 无所不能,是一种 动态 的插桩工具,可以插入代码到原生 App 的内存空间中,动态的去监视和修改行为,原生平台包括 Win、Mac、Linux、Android、iOS 全平台。
r0capture仅限安卓平台,测试安卓7、8、9、10、11 可用 ;
无视所有证书校验或绑定,不用考虑任何证书的事情;
通杀TCP/IP四层模型中的应用层中的全部协议;
通杀协议包括:Http,WebSocket,Ftp,Xmpp,Imap,Smtp,Protobuf等、及它们的SSL版本;
通杀所有应用层框架,包括HttpUrlConnection、Okhttp1/3/4、Retrofit/Volley等等;
无视加固,不管是整体壳还是二代壳或VMP,不用考虑加固的事情;
https://github.com/r0ysue/r0capture
https://github.com/frida/frida/releases
解决过程:
模拟器下载frida-server
本地下载frida-tools
模拟器打开frida-server
本地连接frida
脚本抓包:解决掉证书的问题
1、本地安装Frida
pip install frida 15.2.2
pip install frida-tools 11.0.0 //安装结束之后注意记住安装的版本
2、模拟器安装Frida
注意:版本要与本地Frida一致 // 比如上面是15.2.2,就应该下载server对应的版本,注意应该是安卓x86的
具体x86还是x86_64,在模拟器安装的bin目录,打开cmd,Nox_adb.exe devices,Nox_adb.exe shell ,进入模拟器的内核,再输入getprop ro.product.cpu.abi查看框架
下载:https://github.com/frida/frida/releases
真机:ARM版本及位数 模拟器:无ARM的位数
getprop ro.product.cpu.abi //下载完server之后,解压然后安装在模拟器的bin目录之下
adb push frida-server /data/local/取一个文件名 //这条命令是要把server放到模拟器下
cd /data/local/ //看到了确实存在该文件之后
./frida-server //因为没有权限所以不能执行
chmod 777 frida-server //提权
./frida-server //输入之后光标闪动但是没有反应,证明正常
再启动一个cmd,再nox_abd.exe shell 输入下面命令检测是否server正确启动。
ps | grep frida
3、转发并启动Frida
使用pip show frida查找安装路径,返回上一页在script页面启用cmd,使用frida-ps -U 测试
adb forward tcp:27042 tcp:27042 //这个是在模拟器bin目录下执行
连接判断:frida-ps -U frida-ps -R
4、获取包名并运行抓包
获取包名:ls /data/data 或 Apk Messenger
python r0capture.py -U -f 包名 -p xxxx.pcap //如果发现没有安装xx库的话,就先到python目录使用pip intall 包名 安装
app测试:
1.渗透测试:
获取app的资产信息,比如域名等
2.逆向破解:
获取app本身的功能问题,破解限制等
抓不了包可能是有证书检测或者反模拟器
反模拟器,相当于在模拟器开代理,转发流量到抓包工具,系统检测时发现启用了代理,就会禁止后续动作。那么这个时候可以使用一个转发工具:Proxifier
使用该工具时,模拟器或者手机不用设置代理,在流量出口对数据进行转发,也就是说具有反模拟器反代理功能检测时没发现开了代理,自然不会制止后续操作。proxifier会将数据转发到burp,绕过了代理检查,如果不能绕过,说明机制不是代理验证。
下面是过程:
1.burp设置127.0.0.1 888
2.proxifier也设置同样的IP和端口,HTTP,检查成功后,添加

3.接下来在proxifier配置代理规则,找到模拟器的进程,相当于指转发从模拟器抓来的数据,抓模拟器进程的进程名,以及模拟器网络出口的名,如下图所示(可在任务管理器处找)注意到动作要选:127.0.0.1

证书校验绕过:
情况1,客户端不存在证书校验,服务器也不存在证书校验。
情况2,客户端存在校验服务端证书,服务器也不存在证书校验,单项校验。
情况3、客户端存在证书校验,服务器也存在证书校验,双向校验。
一般先验证代理,下一步就是验证证书了。
解决证书问题可以用上几个部分的frida+r0工具解决;
下面使用Xpose框架进行绕过:
1.模拟器下载xpose
2.安装俩APK,将APK文件拖到模拟器内:
