此工具旨在查找源代码或打包 APK 中的多个与安全相关的 Android 应用程序漏洞。该工具还能够创建“概念验证”可部署的 APK 和/或 ADB 命令,能够利用它发现的许多漏洞。无需 root 测试设备,因为该工具专注于可以在其他安全条件下利用的漏洞。
在 Python 2.7.13 和 3.6 上测试 在 OSX、Linux 和 Windows 上测试
有关更多选项,请参阅–help命令。
APK:
~ qark --apk path/to/my.apk
Java源代码文件:
~ qark --java path/to/parent/java/folder
~ qark --java path/to/specific/java/file.java
报告以 JSON 格式生成,可以构建为其他格式类型,要更改报告类型,请使用–report-type标志。
使用 pip(不对要求进行安全检查):
~ pip install --user qark # --user is only needed if not using a virtualenv
~ qark --help
使用 requirements.txt(对要求的安全检查):
~ git clone https://github.com/linkedin/qark
~ cd qark
~ pip install -r requirements.txt
~ pip install . --user # --user is only needed if not using a virtualenv
~ qark --help
QARK 可以针对已发现的一些漏洞生成基本漏洞利用 APK。
要生成漏洞利用 APK,需要遵循几个步骤。您需要有 Android SDK v21 和 build-tools v21.1.2
安装android SDK,可以在“命令行工具”下获取:https://developer.android.com/studio/#downloads
解压安卓SDK
进入新目录并使用 bin/sdkmanager --licenses 生成许可证
确保生成的许可证位于 android SDK 目录中。
安装 SDK 和正确的构建工具版本: bin/sdkmanager --install “platforms;android-21” “sources;android-21” “build-tools;21.1.2”
对APK进行安全评估
命令:
python qark.py --source 1 --pathtoapk /root/soft/app/needtest.apk --exploit 1 --install 1
加粗部分是你需要进行安全检测的APK的路径
QARK 是一个易于使用的工具,能够发现 Android 应用程序中的常见安全漏洞。与商业产品不同,它是 100% 免费使用的。QARK 提供教育信息,使安全审查人员能够找到对漏洞的精确、深入的解释。QARK 自动使用多个反编译器,利用它们的组合输出,在反编译 APK 时产生出色的结果。最后,与传统工具相比,QARK 的主要优势在于它可以生成 ADB 命令,甚至是功能齐全的 APK,从而将假设的漏洞转化为有效的“POC”漏洞利用。
此工具尝试查找的安全漏洞类型包括:
无意中导出的组件
保护不当的导出组件
容易被拦截或窃听的意图
不正确的 x.509 证书验证
创建世界可读或世界可写文件
可能泄露数据的活动
粘性意图的使用
不安全地创建待处理意图
发送不安全的广播意图
嵌入在源中的私钥
密码学使用薄弱或不当
潜在可利用的 WebView 配置
出口偏好活动
窃听
启用备份的应用程序
可调试的应用程序
支持过时 API 版本且存在已知漏洞的应用程序
注意:QARK 将 Android 应用程序反编译回原始源代码。如果在您的管辖范围内这可能被认为是非法的,请不要使用此工具。如果您不确定,请寻求法律顾问。
如果您在 OSX 上遇到问题,尤其是与对 Play 商店的出站调用或 SDK 下载有关的问题,可能是由于您的 Python/OpenSSL 配置以及 OSX 最近的更改影响了通过 brew 安装的 Python 的事实。核对您的 Python 安装并从源代码重新安装可能会解决您的问题。
版权所有 2015 LinkedIn Corp. 保留所有权利。
版权所有 2015 LinkedIn Corp. 根据 Apache 许可证 2.0 版(“许可证”)获得许可;除非遵守许可,否则您不得使用此文件。
您可以在此处获取许可证的副本。除非适用法律要求或书面同意,否则根据许可分发的软件是在“原样”基础上分发的,没有任何明示或暗示的保证或条件。
https://github.com/linkedin/qark
参考链接:
https://blog.csdn.net/daizhongyin/article/details/104656558