目录
案例1:名称获取APP信息(爱企查/小蓝本/七麦/点点)
案例2:URL网站备案查APP
案例3:APP提取信息-静态分析
案例3:APP提取信息-动态抓包
案例4:APP提取信息-动态调试
思维导图
章节知识点
Web:语言/CMS/中间件/数据库/系统/WAF等
系统:操作系统/端口服务/网络环境/防火墙等
应用:APP对象/API接口/微信小程序/PC应用等
架构:CDN/前后端/云应用/站库分离/OSS资源等
技术:JS爬虫/敏感扫描/端口扫描/源码获取/接口泄漏等
技术:指纹识别/Github监控/CDN绕过/WAF识别/蜜罐识别等
名称获取APP信息(爱企查/小蓝本/七麦/点点)
已知公司名称获取APP1、爱企查知识产权2、七麦&点点查名称
https://www.xiaolanben.com/
https://aiqicha.baidu.com/ (知识产权,经营状况)
https://www.qimai.cn/ (推荐)
https://app.diandian.com/ (推荐)
URL网站备案查APP
已知URL获取APP:1、查备案信息在搜2、网站上有APP下载
3、市场直接搜单位名称
已知:https://psbc-ubank.com/
ICP备案查到域名的公司名字
问题就是已知名字查APP
APP-提取信息-方法总结
如何从APP提取的信息?
通过获取App配置、数据包,去获取url、api、osskey、js等敏感信息。
1、资产信息-IP 域名 网站 -转到对应Web测试 接口测试 服务测试
2、泄露信息-配置key 资源文件 - key(osskey利用,邮件配置等)
3、代码信息-java代码安全问题- 逆向相关
APP中收集资产方式:
静态表现:反编译APP代码分析信息
动态表现:抓APP的数据包
1、抓包-动态表现
2、提取-静态表现&动态调试
3、搜索-静态表现
三种方式优缺点对比
1、抓包抓表现出来的数据(动态)
优点:没有误报
缺点:无法做到完整
2、反编译从源码中提取数据(静态)
优点:数据较为完整
缺点:有很多无用的资产
3、动态调试从表现中提取数据(动态调试)
优点:没有误报,解决不能抓包不能代理等情况
优点;搞逆向的人能看到实时的app调用链等
缺点:无法做到完整
案例1:APP提取信息-静态分析
一般情况下静态分析基本上是难以发现信息的
静态分析项目
1、MobSF:https://github.com/MobSF/Mobile-Security-Framework-MobSF2、AppInfoScanner:https://github.com/kelvinBen/AppInfoScanner
3、两个在线平台
https://mogua.co/
https://www.zhihuaspace.cn:8888/
Windows - MobSF安装参考:
https://www.cnblogs.com/B-hai/p/15696948.html
https://blog.csdn.net/ljh824144294/article/details/119181803
两个在线项目分析APP:原理是反编译APP,然后依据正则表达式提取数据
- 找到隆基hrssc软件,并下载apk包
- 上传至静态分析页面等候报告
- 发现报告中并没有有用的资产
https://mogua.co/
下载APP上传至网站,就会自动分析
https://www.zhihuaspace.cn:8888/
跟上面操作一样
AppInfoScanner:https://github.com/kelvinBen/AppInfoScanner
- 解压至相关目录下,使用cmd+
python -m pip install -r requirements.txt
安装必要依赖- 安装依赖时候发现openpyxl 安装不上,可以尝试使用在python→Scripts目录下输入:
pip3 install openpyxl
重新安装即可
- 使用:相关目录下:扫描Android应用的APK文件、DEX文件、需要下载的APK文件下载地址、保存需要扫描的文件的目录,等待执行即可获得资产域名信息
- 可能执行过程中比较缓慢,耐心等待即可
- 执行完成后,会生成对应表格文件在目标目录下点击查看即可
python app.py android -i <Your APK File or DEX File or APK Download Url or Save File Dir>
MobSF:https://github.com/MobSF/Mobile-Security-Framework-MobSF
安装:https://www.cnblogs.com/B-hai/p/15696948.html
要求:
OpenSSL安装一路默认即可,wkhtmltodpf可以不安装,直接网页看
在安装包时不要使用代理!!!
由于直接使用
python –m pip install -r requirements.txt
可能存在网络状态或者数据包依赖寻找不到的情况所以推荐使用setup.bat进行安装在进行setup.bat打开安装之前首先要配置以下信息:有加快下载减少等待的作用;首先找到c盘下目录C:\Users\用户名\AppData\Roaming下
- 创建一个文件夹pip
- 在文件中pip中创建pip.ini文件(方便系统定位):如果没有创建文件夹直接创建文件,速度特别慢只有几kb,很容易卡断下载
- pip.ini内容如下
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple [install] trusted-host=mirrors.aliyun.com
使用国内源,提升访问速度
解压MobSF,到当前目录下打开setup.bat,会自动检测前面要求的内容
然后就开始自动下载依赖
遇到的问题:一直卡在这两个版本不恰的问题商
- 直接打开文件目录下requirements.txt,修改其中的版本值(一个一个试出来的)
- 当看到如下图的标识的时候,证明依赖已经安装完成,正在导入python等耐心等待即可
- 此时可以打开文件目录下的run.bat,文件若发现是黑框有闪动,即可打开浏览器输入**
127.0.0.1:8000
**;即可看到目标网址已经展现,至此成功搭建
案例2:APP提取信息-动态抓包
APP抓包:
- 将找到的隆基hrssc软件包安装至模拟器
- 打开模拟器代理和burp代理
- 打开目标软件进行抓包
- 发现打开目标软件时候并没有任何数据包传递,只有点击登录的时候才有一个数据包传输
案例:某APP打开无数据包,登录有数据包(反编译后未找到目标资产,抓包住到了)
原因:那个登录界面是APP打包的资源(是存储本地资源),并没有对外发送数据
源码内的信息可能加密,使用时再解密,所以反编译后正则提取不到信息
案例3:APP提取信息-动态调试
- 提前打开模拟器,并将要动态调试的软件安装上去,点击安装好的MobSF(注意:都需要安装在本机环境中,由于MobSF可以自动检测内网虚拟机的支持,如果不在一个环境内,需要有多于配置)注意记得关闭模拟器上的代理
- 点击开始动态分析即可
- 可以自己试试各个功能,然后生成报告即可