免责声明:本文章仅用于交流学习,因文章内容而产生的任何违法&未授权行为,与文章作者无关!!!
附:完整笔记目录~
ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正!
三、App信息收集
-
引子:上一章主要介绍了信息收集中的Web信息收集,包括要收集什么信息、该怎样去做等内容。而本章则简单介绍一下当目标为App时该如何进行信息收集。由于本篇章为信息收集篇,因此很多内容笔者并没有深究(ps:其实是深究不明白),或许等一轮学完后再回头看时会明白很多吧。
-
App种类收集
当目标旗下有多种不同的App时,这些App资产也均为测试目标,因此需要尽可能多的收集目标旗下App,来扩展我们的测试范围。一般情况下,借助在线平台来实现App种类收集。- 小蓝本:https://sou.xiaolanben.com/pc
小蓝本会列出其所收集的目标资产,其中包括App资产。以小米为例:
- 点点数据:https://app.diandian.com/
与小蓝本不同,小蓝本为搜索企业并获取企业旗下的各种信息,如资产、股东、风险信息等,只不过作为测试者我们所重点关注的主要为资产信息。而点点数据则主要通过关键词搜索,并向我们展示各大应用市场中与关键词相匹配的App。即小蓝本主要搜索企业综合信息,而点点数据则主要由关键词搜索App信息。
同样以小米为例:
- 小蓝本:https://sou.xiaolanben.com/pc
-
敏感信息收集
与App种类收集不同,敏感信息收集旨在收集各App内所泄露的敏感信息,如key、ip、url、身份信息等。即App种类收集仅是收集目标旗下都有哪些App,而敏感信息收集则是针对这些App更进一步。接下来,列举几种常见App敏感信息收集方式。-
抓包
一般情况下将目标App置于模拟器中,再通过抓包软件如Burp、Reqable等,抓包分析App中的敏感信息。当然这种情况仅适用于未对模拟器&代理进行检测的App。(如何抓模拟器App数据包,详见:https://www.cnblogs.com/sjjjjer/p/18575051)
使用小迪上课案例(某医疗app ):
环境:逍遥模拟器 + Burp
-
反编译&正则匹配
将目标App反编译为源码,再通过正则匹配,获取源码中所泄露的敏感信息。不过若App加壳,则无法直接执行反编译操作,需先破壳再反编译。这里推荐两个项目:
AppInfoScanner:https://github.com/kelvinBen/AppInfoScanner
支持对无壳的Android&Ios App进行反编译与敏感信息收集(url、ip、关键字等),案例同上:
apkleaks:https://github.com/dwisiswant0/apkleaks
apkleaks仅支持对Android App进行反编译&敏感信息收集,例子:
综上,1. appinfoscanner支持android&ios&静态Web的敏感信息收集,而apkleaks仅支持apk信息收集。2. appinfoscanner默认不会收集app所泄露的key、secrect等信息,需额外指定。而apkleaks则默认支持这类信息的收集。 3. apkleaks相较于appinfoscanner项目更新。 -
动态调试
与上述的反编译&正则匹配不同,动态调试指分析app运行时的可能产生的安全问题。
推荐项目MobSF:https://github.com/MobSF/Mobile-Security-Framework-MobSF
MobSF,强大的开源移动应用安全测试框架,同时支持静态分析&动态调试。(ps:静态分析其实就是反编译&正则匹配。总之该项目听小迪说功能又多又强,但我从来没接触过,也没法介绍太多,放到这以了解为主吧。)
-