时间轴
演示案例
APP资产—Web&备案信息&单位名称发现
APP资产—静态提取&动态抓包&动态调试
知识点
1.web&备案信息&单位名称中发现APP
2.APP资产静态提取&动态抓包&动态调试
解决:
1.如何获取到目标APP信息
2.如何从APP信息中提取资产
案例1:名称获取APP信息(爱企查/小蓝本/七麦/点点)
1.爱企查查知识产权
首先在补天上找到一个APP名称,再在爱企查里搜索查询名称,就能看到相关知识产权
也可以用小蓝本查询(爱企查要花点钱,但是小蓝本包免费的)
2.七麦&点点查名称
涉及地址
获客营销系统_ai智能拓客系统_企业获客系统-小蓝本获客系统 (xiaolanben.com)
爱企查首页 - 专业企业查询平台 - 查企业 - 查老板 - 查风险 - 工商信息查询系统 (baidu.com)
案例2:URL 网站备案查 APP
1.查备案信息
案例地址:邮惠万家银行-服务三农、助力小微、普惠大众 (psbc-ubank.com)
根据url:psbc-ubank.com查询备案信息
对于没有备案的网站可能有两种情况:
1.可能只是搭建着玩儿的,例如实验靶机
2.可能涉及黑灰产业
2.网站上有 APP 下载
3.市场直接搜单位名称
知道网站名称,再在应用市场中直接关键词搜索
寻找资产信息
通过获取App 配置、数据包,去获取 url、api、osskey、js 等敏感信息。
1.资产信息—IP 域名 网站 -转到对应 Web 测试 接口测试 服务测试
2.泄露信息—配置 key 资源文件 -—key(osskey 利用,邮件配置等)
3.代码信息—java 代码安全问题-—逆向相关
APP中收集资产
1.抓包-动态表现(鼠标点式,运行抓包)
优点:没有误报,解决不能代理抓包等问题
缺点:无法做到完整
2.提取-静态表现&动态调试
优点:数据较为完整
缺点:有较多无用的资产
3.搜索-静态表现
案例3:APP提取信息—静态分析
(APP逆向反编译—>源码—>网站—>网站API接口)
以下均以隆基HRSSC.apk为例子
1.MobSF(强烈推荐使用)
1.本机安装(偏麻烦)
注意:genimotion无法启动时
1.删除virtualbox里的所有配置
2.删除所有机器
3.删除两个软件后,将电脑关机。
4.关机后开机安装软件,安装好后再提示下关机。
5.关机后再开机,就能正常运行了。
注意:Mobsf报错时
python版本和Mobsf需求的版本要一致,最好是python3.9.0-10之间
在mobsf目录下运行setup.bat进行安装(安装时间有点久,差不多一小时),下面是下载好的界面
之后运行下面代码,再用浏览器访问127.0.0.1:8000
run.bat 0.0.0.0:8000
账号密码都是mobsf
开始对longi.com进行分析
2.F8x武器库——拉取镜像安装
由于本机安装较为麻烦,所以也可以在F8x武器库中拉取镜像安装
GitHub - ffffffff0x/f8x: 红/蓝队环境自动化部署工具 | Red/Blue team environment automation deployment tool
首先需要在阿里云控制台开一台香港服务器,系统选择linux/Ubuntu
linux操作指令(在xshell7中使用):
- wget :
wget -O f8x https://f8x.io/
-
bash f8x -mobsf
- docker run -it --rm -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
- 浏览器访问:服务器ip:8000
访问界面如下
可以查看域地址
3.虚拟机安装mobsf(推荐)
服务端:ubuntu(docker部署)
镜像拉取网站:
拉取命令:
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/opensecurity/mobile-security-framework-mobsf:latest
使用docker run的方式运行,避免内存撑不住,命令:
docker run
-it --rm -p 8000:8000 -p 1337:1337 -e MOBSF_ANALYZER_IDENTIFIER=192.168.187.1:5555 467e7388fa25
1.ip在Ubuntu中用ip a指令获取,5555是雷电模拟器端口
或2.ip为本机ip,开放5555
之后和前面一样,也是浏览器访问服务器(ubuntu)8000端口,就可以进行分析
2.AppInfoScanner
一款适用于以HW行动/红队/渗透测试团队为场景的移动端(Android、iOS、WEB、H5、静态网站)信息收集扫描工具,可以快速收集到移动端或者静态WEB站点中关键的资产信息并提供基本的信息输出
运行代码
扫描Android应用的APK文件、DEX文件、需要下载的APK文件下载地址、保存需要扫描的文件的目录
python app.py android -i <Your APK File or DEX File or APK Download Url or Save File Dir>
扫描iOS应用的IPA文件、Mach-o文件、需要下载的IPA文件下载地址、保存需要扫描的文件目录
python app.py ios -i <Your IPA file or Mach-o File or IPA Download Url or Save File Dir>
扫描Web站点的文件、目录、需要缓存的站点URl
python app.py web -i <Your Web file or Save Web Dir or Web Cache Url>
3.两个在线平台
摸瓜
摸瓜-查诈骗APP_查病毒APP_免费APK反编译分析工具 (mogua.co)
南明离火
南明离火-移动安全分析平台 (zhihuaspace.cn)(有时候可能打不开)
南明离火—>静态分析—>基础信息—>Java源代码—>得到资产信息
案例4:APP提取信息—动态抓包
前期部分抓包技术
案例演示:
首先cmd中ipconfig得到ip地址
在逍遥模拟器和BurpSuite中配置手动代理,让BurpSuite可以抓到模拟器的数据包
接下来手动抓包,就可以提取到url和端口号
值得注意的是,如果在抓包时仅仅只是打开longi.apk,并不会抓到任何数据包,只有当点击了登录后才会有数据包。也就是可以理解为APP打开没有数据包,登录有数据包or反编译后没有找到目标资产,但是抓包找到了。
原因在于登陆界面是APP打包的资源,但是并没有对外发送数据,因此在平台上也没有发现网站信息,因为没有进行登录。
换个思路,如果登录页面一打开就有数据包,那平台上是否也能有网站信息呢?其实也不一定,还是得由代码决定,例如网址用加密函数处理过,解密还原后再把网址打开,但是用反编译平台去搜索时由于加密了所以可能也搜不到(平台正则可能不匹配)。
案例5:APP提取信息—动态调试
MobSF+雷电模拟器
出现红色报错是因为没有开启模拟器
注意:如果是虚拟机/云上服务器安装模拟器需要修改配置文件,就是模拟器与mobsf没有安装到同一台主机但又要两台主机可以正常通讯的话,就需要在C:\Users\Administrator\.MobSF\config.py进行修改,修改内容为ANALYZER_IDENTIFIER后面;或者也可以直接在指令后面加上服务器ip和模拟器adb端口号
可以参考下面下面这篇文章
【移动安全】MobSF联动安卓模拟器配置动态分析教程_mobsf动态分析-CSDN博客
adb端口可以打开雷电多开器,看id号,正确的端口号是5555+2*id
其他模拟器的默认端口参考:
下面用虚拟机中的mobsf来演示,由于在配置文件中修改很麻烦,所以直接把ip和端口加入到指令中:
docker run -it --rm -p 8000:8000 -p 1337:1337 -e MOBSF_ANALYZER_IDENTIFIER=192.168.187.1:5555 467e7388fa25
正确的界面应该是下面这个:
然后点击start dynamic analysis进行分析,在mobsf中点击start activity,模拟器中的apk就可以启动,show screen可以实时查看模拟器状态
动态分析可以查看日志、明文流量、证书绕过、生成报告等
生成报告后查看的日志
启动httptools
AppInfoScanner与mobsf对比
AppInfoScanner
由于是静态提取,因此只能提取到页面上存在的url,提取到的东西有限
mobsf
静态
动态
以上文章由李豆豆喵&番薯小羊卷~共同完成