信息打点-APP资产&静态提取&动态抓包&动态调试
文章目录
本节知识&思维导图
1、Web&备案信息&单位名称中发现APP
2、APP资产静态提取&动态抓包&动态调试
解决:
1、如何获取到目标APP信息
2、如何从APP信息中提取资产
本节使用到的链接&工具
APP相关信息搜索
在线反编译工具(不推荐
https://www.zhihuaspace.cn:8888/
反编译&调试工具(推荐
https://github.com/kelvinBen/AppInfoScanner
https://github.com/MobSF/Mobile-Security-Framework-MobSF
Windows - MobSF安装参考:
https://www.cnblogs.com/B-hai/p/15696948.html
https://blog.csdn.net/ljh824144294/article/details/119181803
如何获取目标APP
目标分类:
1、给的网址
找到网站相关的APP信息
2、给的名称(单位名称
找到关于单位的APP
3、给的APP
从目标中拓展信息
从名称中获取APP
- 爱企查
- 小蓝本(推荐
- 七麦(推荐,没有点点数据全
- 点点(推荐
应用中可以进开发者厂商,查看该厂商开发的APP
从URL获取APP
1、网站下载
2、URL备案信息查
根据网站URL查找备案信息,找到单位名称,变成从名称获取
APP要上架到市场需要资质,要审核,没有备案的目标,网站就是自己玩的,没有APP,或者网站时违法的,这种一般网站中会提示在哪下载APP,这种APP在IOS安装还需要信任
3、市场直接搜单位名称
网站中有的单位名称,搜索
APP搜集资产信息
APP下载:豌豆荚
APP提取信息分类
通过获取App配置、数据包,去获取url、api、osskey、js等敏感信息。(安全测试有关的信息,和后期的安全测试漏洞,测试手段相关
主要为以下三方面
1、资产信息
IP -> 端口服务
域名 -> web测试
接口 -> 接口测试
2、泄露信息
邮箱配置
oss配置 -> key利用(osskey利用
接口配置
3、代码信息
Java代码安全问题 ->
APP加密不完整,能破解/反编译等逆向相关问题
信息提取方式
1、动态抓包提取
动态表现
2、逆向静态反编译提取
静态表现&动态调试
3、动态调试提取,从表现中提取数据
信息提取工具&项目工具
1、MobSF(推荐
做信息搜集的话将该工具安装在本地,若安装在服务器则很难进行动态调试
和在线平台一样,但是不收费,在线平台就是套它的
好用,有动态分析,将动态抓包集成了
该项目主要是给做破解、逆向、反编译测试的项目,我们只用到其中搜集关键信息的部分,其中还会分析一些APP的安全问题。
2、AppInfoScanner
3、两个在线平台
https://www.zhihuaspace.cn:8888/
https://github.com/kelvinBen/AppInfoScanner
https://github.com/MobSF/Mobile-Security-Framework-MobSF
Windows - MobSF安装参考:
https://www.cnblogs.com/B-hai/p/15696948.html
https://blog.csdn.net/ljh824144294/article/details/119181803
工具的提取规则不同,所以可能不同工具提取出的内容不同。
APP提取信息-逆向静态分析
APP没有动静,从逆向的角度将APP反编译,得到APP的源码,再通过特定的方法从源码中搜索/提取其中涉及到的网站/API信息
优点:数据较为完整
缺点:有很多无用的资产信息
APP提取信息-动态抓包
抓包抓表现出来的数据
优点:没有误报
缺点:无法做到完整
静态和动态中提取的信息不同
静态中提取的信息可能很多,但是不一定都有用
案例:某APP打开无数据包,点击登录有数据包(反编译后未找到目标资产,抓包住到了)
原因:那个登录界面是APP打包的资源,并没有对外发送数据
反编译后的源码有可能会是加密的,有可能匹配不到有的URL等资产信息
APP提取信息-动态调试
优点:没有误报,解决不能抓包,不能代理等情况
逆向,破解的能看到实时的APP调用链
缺点:无法做到完整。
MobSF+模拟器
集成了动态抓包还有其他功能。
MobSF中开始动态分析,需要开一个模拟器
若MobSF安装在服务器,则找不到模拟器,因为模拟器在本机安装(内网环境),很难链接
获取方式不同,有的动态抓包抓不到的信息可以通过动态调试获取到。
动态调试不是用代理抓包,代理抓包需要设置证书
有些APP抓包抓不到数据,甚至代理打开,APP就崩了(反证书,反代理检测),这种情况使用动态调试可获取数据