0004Android App漏洞之战(4)——(三件套)AppInfoScanner+ApplicationScanner+AppShark
0004Android App漏洞之战(4)——(三件套)AppInfoScanner+ApplicationScanner+AppShark
1.前言
从第一次写Android APP漏洞之战系列文章以来,受到了不少朋友的热爱,我也从中收获很大。新的一年的,想想怎么样以第一篇文章开头了,想来想去还是以简单的工具文章开头吧,希望今年的一年能有所收获。
2.工具的安装与使用
2.1 AppInfoScanner
该工具是一个移动端的的静态信息收集工具,可以收集移动端的中的关键资产信息,例如:Title、Domain、CDN、指纹信息、状态信息等,该工具可以辅助用于Android APP中的信息泄露、Sql注入等漏洞的挖掘,还例如web接口、爆破敏感路径、找后台、弱口令、SQL注入、XSS、命令执行、其他端口存在的漏洞等等
项目的开源地址:https://github.com/kelvinBen/AppInfoScanner
(1)搭建环境
环境要求:Java1.8 python3
项目结构解析:
AppInfoScanner
|-- libs 程序的核心代码
|-- core
|-- __init__.py 全局配置信息
|-- parses.py 用于解析文件中的静态信息
|-- download.py 用于自动下载APP或者H5页面
|-- net.py 用于进行网络嗅探,并获取基本信息
|-- task
|-- __init__.py 目录初始化文件
|-- base_task.py 统一任务调度中心
|-- android_task.py 用于处理Android相关的任务
|-- download_task.py 用于处理自动下载APP或者H5的任务
|-- ios_task.py 用于处理iOS相关的任务
|-- net_task.py 用于处理网络嗅探相关任务
|-- web_task.py 用于处理Web相关的任务,比如网页右键源代码、H5相关的静态信息
|-- tools 程序需要依赖的工具
|-- apktool.jar 用于反编译apk文件,不同平台可能需要进行自我切换
|-- baksmali.jar 用于反编译dex文件,不同平台可能需要进行自我切换
|-- strings.exe 用于windows 32下获取iPA的字符串信息
|-- strings64.exe 用于windows 64的系统获取iPA的字符串信息
|-- __init__.py 目录初始化文件
|-- app.py 主运行程序
|-- config.py 整个程序的配置文件
|-- README.md 程序使用说明
|-- requirements.txt 程序中需要安装的依赖库
|-- update.md 程序历史版本信息
项目搭建:
git clone https://github.com/kelvinBen/AppInfoScanner.git
cd AppInfoScanner
python3 -m pip install -r requirements.txt
(2)工具使用
python app.py android -i <Your APK File or DEX File or APK Download Url or Save File Dir
其他的相关操作可以参考官网网址
2.2 ApplicationScanner
该工具是个大佬的开源工具,可以检测常见的Android app漏洞情况,经过探测,很多的漏扫工具都在此基础上进行了扩展,个人开发漏扫工具,该项目是一个很好的参考。很多的工具都基于ApplicationScanner进行了扩展,所以可以根据自己需求进开发漏扫工具。
项目开源地址:https://github.com/paradiseduo/ApplicationScanner
日常渗透测试中对APP中进行关键资产信息收集,比如URL地址、IP地址、关键字等信息的采集等
(1)搭建环境
环境要求:
python3+Java11
然后需要安装一些库:
npm -g install js-beautify
接着就是按照项目的要求进行安装即可
> git clone https://github.com/paradiseduo/ApplicationScanner.git
> cd ApplicationScanner
> pip install -r requirements.txt
(2)工具使用
最后我们可以直接对目标应用进行处理
python3 AppScanner.py -i xxx.apk
使用的效果:
该工具能扫描一些常规漏洞:目录遍历,webView,pendIntenting,解压缩等等
2.3 AppShark
这是字节跳动团队开源的一款app漏扫工具,可以通过编写规则进行app漏洞扫描,也可以进一步辅助工作。
开源地址:https://github.com/bytedance/appshark
(1)环境搭建
环境:jdk11及以上
git clone https://github.com/bytedance/appshark.git
拉取项目后,然后配置项目的环境
./gradlew build -x test
(2)工具使用
使用:
java -jar build/libs/AppShark-0.1.2-all.jar config/config.json5
json文件中存放着目标应用和检测的规则
我们可以发现目前已有的一些规则,包括Intent重定向,ContentProvider路径等等
然后我们可以观察输出结果:
这样使用者可以根据自己的需求进行定制
3.总结
本文简单的介绍了当前Android APP漏洞挖掘的三类工具,后续将会使用这三类工具挖掘Android APP中的一些常见的漏洞。实验的样本后续会上传知识星球
4.参考网址
https://github.com/kelvinBen/AppInfoScanner
https://github.com/bytedance/appshark
https://github.com/paradiseduo/ApplicationScanner