APP信息打点-如完
APP资产
对于app的信息搜集,我们首先肯定是通过目标来判断的,看对方给你一个什么东西,比如一个网址,或者直接是apk文件这种,首先就是对于这个有个判断,他跟web不太一样的就是需要判断对应资产是否是自己测试的目标
比如给你一个网站打开发现很像一个app然后这种有可能就是web应用套壳了成了一个app
这时候就又回到了上个web应用信息搜集的思路了,所以首先我们要对目标进行判断
首先就是通过名称获得app信息
给你一个公司的名称,让你找
首先那肯定就是通过网络平台了(爱企查,小蓝本,七麦,点点)
比如上爱企查上随便搜一个公司名,看他旗下的apk哪个是我们需要的
这里可以看到这么多,这些就需要自己判断了,这里更推荐使用点点和七麦,这两个是专门差app信息的,用法只要认字就能查哈,这里不过多赘述
URL网站备案查APP
这个就是给你一个网站来查找
首先第一个就是有可能给你的本来就是一个app下载的链接,或者打开可以看到下载app的地方这就不用多说了
如果是那种官网的话那还是需要通过备案信息来查对应的开发者
比如随便搜索一个公司,上面没有app下载的地方,我们直接去看看他的备案信息
可以看到对应的公司名,然后根据上面说的搜索公司名也是一样能查到是否有app信息的
这时候有人要问了,主播主播,要是没有备案怎么办呀,这时候就要发挥聪明的小脑袋瓜想一想了,为什么没有备案,只有两种情况,一就是普通的小破网站,这种直接是按没有app来算,网站都开不起还开app呢,还有一种就是,违法的网站,你懂得~~这种一般都会告诉你软件会去哪里下载,相信各位老司机都知道哈,这个也就不用多说了
然后下载到了app之后该干嘛呢,这时候当然是疯狂的日啦
对于app来说,一般我们需要的是他配置,数据包,然后去获取url,api,key,js等等敏感信息
首先最普通的就是抓包去提取了-动态表现
就是你打开app后使用他,通过抓包来查看是否有自己需要的信息
优点就是没有误报,缺点就是无法做到完整
其次就是反编译-静态表现,动态调试
通过反编译来观察源码,然后搜索特定的函数来查找需要的信息
优点就是数据完整,缺点就是无用信息多
最后就是普通的搜索
接下来可以看看各种方法的利用,首先上平台
随便打开一个看看,里面就有很多apk的信息之类的,静态分析代码里面的信息,很多东西自己看,这里不好展示
然后我们来看看抓包这个app来看看能有什么
首先是将抓包的软件证书导入到模拟器中,这样才能抓到https的包
burp证书添加
首先打开burp后他默认是本地回环地址和8080端口,浏览器访问
然后右上角下载即可,把他传到模拟器里找的到的文件夹然后使用sd卡安装凭证
不过手机他不支持der文件,所以把证书文件更改成cer文件即可
然后再burp中添加本地网卡端口ip
端口号随意
然后在模拟器中wifi设置代理
然后就成功咯
随便安装一个软件抓包看看
可以看到成功的抓到了冈易云的包
我么先理解一个东西
一个app打开的时候有时候没有数据包,但是登录有数据包(反编译后为找到目标资产,抓包抓到了)
登录界面是app打包的资源,并没有对外开放
主要因为其实打开app的时候他的页面是已经写好的静态页面,没有任何流量,所以抓不到,而登录的时候会调用接口,接口就会产生流量,这样就会被抓到,所以app查找资源分为静态和动态
静态反编译后查看源码可以看到源码和各种接口,但是由于没有触发,有时候并不能很好的看到有用的信息,因为你也不知道他这个接口有没有用
而动态可以弥补这一点,查找哪些接口有用,然后查到对应的资产,从而进行更多的资产查找
我们再来看一下另一个搜索资产的工具
AppInfoScanner
他是一款适用于以HW行动/红队/渗透测试团队为场景的移动端(Android、iOS、WEB、H5、静态网站)信息收集扫描工具,可以帮助渗透测试工程师、攻击队成员、红队成员快速收集到移动端或者静态WEB站点中关键的资产信息并提供基本的信息输出,如:Title、Domain、CDN、指纹信息、状态信息等。
首先安装依赖库
python -m pip install -r requirements.txt
基础扫描
python app.py android -i E:\WEBshentou\2-信息打点\apk\NeteaseCloudMusic_Music_official_9.2.90.250424124645_3264.apk //后面这里接的是apk的路径
这个工具就可以扫到代码里具体的各种资产,非常好用~
其次就是另一个超好用的工具,就是这个
mobsf
具体安装请看
下载好之后首先使用setup.bat下载运行组件
然后
run.bat 0.0.0.0:8000
映射到8000端口
然后我们去浏览器访问一下
这样算是启动了
账号密码cmd里启动已经告诉你了,输入即可,现在我们来随便测一个应用
可以看到也是一样呢扫出来,byd平台还收费了,肺雾
具体自己实验就好了,这只是普通的静态分析
我们再来看看动态调试,先打开模拟器,然后打开动态调试
就可以看到连接到模拟器了,接着我们点开始分析
可以看到就成功的连接模拟器了,现在可以对模拟器进行远程操作,各种东西都点点看,就可以发现静态调试看不到的,这里只是演示一下用法,具体分析还是到后面app渗透再说
最后生成报告后,可以看到各种你使用的时候他触发的接口,还有日志生成,这对逆向非常有帮助,对我们安全人员来说,知道他调用了哪些接口就差不多了,如果你会逆向的话,那么app渗透对你来说就非常简单咯~~
所以说动态调试的有点就是没有误报,然后还可以解决不能抓包不能代理等情况,然后对逆向非常用帮助
缺点就是如果你调试的时候有些接口没点到可能还是无法触发
所以最后总结一下就是
app信息打点的话主要收集的资产就是IP 域名 网站,其次就是泄露的信息,配置的key 或者资源文件之类的
还有代码信息,JAVA代码安全问题。
那么收集到web相关的,那么我们就可以使用web思路去进行安全测试,key的话就可以针对他的类型来进行利用,或者对邮件配置进行利用,最后就是代码审计,app的加密不完整不规范,反编译,主要都是逆向方向的
这样app信息打点也差不多咯,好多要安的环境,好麻烦哦
关于小程序的这里就简单提一嘴
如何获取到小程序的目标
还有如何从小程序中获取资产信息
小程序一般都是直接在平台上直接运行的,不需要安装任何东西
比如微信,百度,支付宝,抖音等等上面都有各种小程序
想获取一个小程序一般都是直接搜索即可
一个小程序包含一个描述整体程序的app和多个描述各自页面的page,
一个小程序主体部分(即app)由三个文件组成,必须放在项目根目录,比如
app.js
app.json
app.wxss
所以怎么去获取小程序资产呢
首先肯定是炒鸡抓包了,使用brup和proxifier配合抓包
对抓到的ip或域名进行web安全测试
对抓到的ip或域名进行API安全测试
对抓到的IP或域名进行端口服务测试
还有小程序逆向-解包反编译-动态调试-架构
对源码进行架构分析
更多的资产信息
敏感的配置信息
未授权访问测试
源码中的安全问题
抓包的话就和web&app思路一样的
着重看一下反编译
但是反编译都要花米,好的,结束,没有米
一个小程序页面由死哦文件组成
xx.js //页面逻辑
xx,json //页面配置
xx.wxml //页面结构
xx.wxss //页面样式
小程序结构
pages //页面文件夹
index //首页
1ogs //日志
utils //
util //工具类(mina框架自动生成,你也可以建立一个:api)
app.js //入口js(类似于java类中的main方法)、全局js
app.json //全局配置文件
app.WXsS //全局样式文件
proiect.config.json //跟你在详情中勾选的配置一样
sitemap.json //用来配置小程序及其页面是否允许被微信索引
没咯,基本就是和app渗透差不多,只是环境要复杂一点,反编译要环境,这里简单的提一下,后面真正开始的时候再深入
未完待续~~~