成长分析
GROWTH ANALYSIS
加强自身学习,提高自身素质。积累工作经验,改进工作方法,向周围同志学习,注重别人优点,学习他们处理问题的方法,查找不足,提高自己。
APP渗透测试信息收集篇
在说这个之前,首先我们需要搞明白或者说搞清楚,信息收集的意义是什么?
就比如:在中国古代(春秋战国时期),为什么会有斥候(探子)这一说呢,那是因为在古代军队的探子,他们的主要任务是就是刺探军情,在两国开战时得到敌国军队的第一手信息,让自己方的军队有充足的时间备战
不仅如此,孙子兵法当中,也有一句话,叫做:知彼知己,百战不殆。他的意思也很简单,就是说对敌人的情况和自己的情况都有彻底的了解,作战就不会失败。
那么在渗透测试当中信息收集,他的意义又是什么呢?
其实,意思是差不多的,渗透测试的第一步,就是信息收集,通过信息收集来获取目标的信息,从而来扩大我们可以利用的点。
那么app信息收集,简单理解就是根据多维度收集不同场景下的app,有针对性的进行漏洞测试,可以扩大我们的攻击面。
那么我们要怎么去寻找这些APP呢?
方式方法有很多,渠道也各不一样,我所知道的,例如:各大应用商店(Android,IOS),自媒体第三方平台,微信小程序,网站产品列表,朋友圈......等等
如下图所示:
接着,下面我们来说一下主动搜索:
这里我以IOS系统为例(因为我的手机就是苹果)
比如:苹果商店,开发者选项等
我就拿百度为例,大家可以看到下面这张图吧!
图中有一个开发者按钮
当我们点一下这个按钮的时候,你会发现跟百度有关的资产都出来了,这样我们就可以对他进行测试了
其次还有一个就是:安智
网址:http://www.anzhi.com/
我们可以通过这个网站,去寻找相关app的历史版本
那我们为什么要去寻找历史版本呢?
因为app会不断的更新对吧,那么漏洞也会进行修复
那么他的旧版本,你觉得他会进行修复吗(完全没必要好嘛,资本家很抠的,很心疼钱的)
所以,我们去寻找历史版本的话,那么我们就可以去互联网上寻找这个app旧版本的公开漏洞,然后加以利用
下面我们再说一个工具:appinfoscanner
这一款适用于以HW行动/红队/渗透测试团队为场景的移动端(Android、iOS、WEB、H5、静态网站)信息收集扫描工具,可以帮助渗透测试工程师、攻击队成员、红队成员快速收集到移动端或者静态WEB站点中关键的资产信息并提供基本的信息输出,如:Title、Domain、CDN、指纹信息、状态信息等等
下载地址:https://github.com/cqkenuo/appinfoscanner
安装的方法也很简单,如下:
git clone https://gitee.com/kelvin_ben/AppInfoScanner.git
cd AppInfoScanner
python3 -m pip install -r requirements.txt
下面我就随便去找一个app,然后把他下载下来,做一个演示
我就拿这个app做一个演示
然后我们就利用这个工具去进行分析
命令:
安卓:python3 app.py android -i <Your APK File or DEX File or APK Download Url or Save File Dir>
苹果:python3 app.py ios -i <Your IPA file or Mach-o File or IPA Download Url or Save File Dir>
web:python3 app.py web -i <Your Web file or Save Web Dir or Web Cache Url>
从上图,我们可以看到,通过这个工具进行分析,我们看到了很多敏感的地址路径,这样是不是就对我们做渗透,提供更多可利用的点啦
除此以外,这里我再说一个工具:AndroidKiller
ndroidKiller是一个可以对移动APP进行反编译的工具,如果一个公司的APP做好后没有对其进行加密加壳,通过这个工具就可以直接反编译,得到这个APP的源代码。
我们可以把我们下载好的apK直接通过Android killer打开。这里我们直接打开下载好的APP对其进行反编译(看效果)
最后,就是抓app的数据包,如何抓app的数据包?
可以参考我写的APP防抓包机制绕过手法
最后的最后,下面我就来说一下:
APP渗透测试信息收集的四个步骤
注意:下面我就不实际操作演示了,主要是提供一下思路,理解不了的同学,就看上面的那一篇文章就行
通常我们对app渗透测试一般涉及五个较为关键的环节,分别是:
①信息收集
②网站/服务器端渗透
③APP软件基本功能
④第三方平台SDK深入分析
⑤账户安全性和业务流程管理深入分析
下面,重点我主要说的是信息收集
渗透测试工程师为达到对服务器端的攻击,最先解决服务器端开展"精准定位"。
对服务器端精准定位的常见方式有:
①反汇编APP软件
②抓包软件深入分析
③APP软件有关信息检索
④信息内容归纳深入分析等
下面我们就来分析这4点:
一是反汇编APP软件:
这一流程很有可能会牵涉到对APP软件开展破壳等。反汇编后,在反汇编源代码和网络资源文档中,运用字符串数组检索和过虑,搜集全部超链接等信息内容,除HTTP/HTTPS超链接外,还应关心是不是有ftp客户端、账号登录凭据(例如邮箱帐号,有一些APP软件会发Crash信息内容直到电子邮件)等信息内容。字符串数组检索和过虑能够 根据写脚本,或在自动化技术软件中对扫描规定开展设置等办法来进行。
二.抓包软件深入分析:
通常移动APP软件和服务器端通讯应用HTTP(S),可应用抓包软件对传送数据开展抓包软件深入分析。抓包软件流程中我们可以人工点一下APP软件中各基本功能选项卡,或运用软件开启APP软件各种各样基本功能,根据抓包软件过虑或定做系统软件等办法尽可能清除非受测APP软件的通信网络数据信息影响(有一些URL可能是第三方平台SDK官方网站具体位置,非受权渗透测试总体目标,还应过虑)。
三.APP软件有关信息检索
这里有3个小点:
(1)应根据移动互联网多方面检索APP软件基本信息,若能查找其官方网站,应将其有关的官方网站、社区论坛的超链接都收集整理出来,若受权批准,也可以将其列入到渗透的总体目标区域内.
(2)查找该APP软件的历史版本,由于若该APP软件现阶段版本号的安全性结构加固措施做得较为完美,对其开展逆向分析较为繁杂,但在某一时间范围前的历史版本可能是未结构加固的。
(3)很有可能会出现别的出乎意料的察觉
四.信息内容归纳深入分析:
根据对搜集到的信息内容综合性挑选深入分析,产生一个信息内容集,涉及但不限于URL、lP、应用的第三方平台SDK等信息内容。网站/服务器端渗透这一环节,与过去的网站渗透流程同样,渗透测试工程师根据各种各样端口扫描工具对信息内容集中化的URL、lP开展网络嗅探和漏扫,以求察觉很有可能存有的漏洞等,并根据察觉的漏洞(无论0day还是nday),尝试获取网络服务器的权限。
感谢大家收看,有不对的地方,麻烦师傅指出,我一定进行改正,毕竟我也是一个菜鸡嘛,体谅一下下啦(嘿嘿)
原文始发于微信公众号(白虎实验室):APP信息收集
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论