此工具旨在查找 Android 应用程序中的多个安全相关漏洞,无论是源代码还是打包的 APK。该工具还能够创建“概念验证”可部署 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 ~ qark --help
通过 requirements.txt(对依赖项进行安全检查)::
~ git clone https://github.com/linkedin/qark ~ cd qark ~ pip install -r requirements.txt ~ pip install . --user # 仅在未使用虚拟环境时需加 --user ~ qark --help
QARK 可以对发现的少数几个漏洞生成基本的利用 APK。
生成利用 APK 需要执行以下几个步骤。你需要 Android SDK v21 和 build-tools v21.1.2
bin/sdkmanager --licenses 生成许可证bin/sdkmanager --install "platforms;android-21" "sources;android-21" "build-tools;21.1.2"QARK 是一个易于使用的工具,能够查找 Android 应用程序中的常见安全漏洞。与商业产品不同,它是 100% 免费使用的。QARK 包含教育信息,允许安全审查人员找到关于漏洞的精确、深入的解释。QARK 自动使用多个反编译器,利用它们的组合输出,在反编译 APK 时获得更优结果。最后,QARK 相比于传统工具(仅指出可能的漏洞)的主要优势在于,它可以生成 ADB 命令,甚至是功能完整的 APK,将假设性的漏洞转化为可工作的“POC”利用。
此工具尝试查找的安全漏洞类型包括:
注意:QARK 会将 Android 应用程序反编译回原始源代码。如果在您的司法管辖区这可能被视为非法,请不要使用此工具。如果不确定,请寻求法律建议。
如果在 OSX 上遇到问题,特别是与对 Play Store 的出站调用或下载 SDK 有关的问题,这很可能是由于您的 Python/OpenSSL 配置以及 OSX 最近的变化影响了通过 brew 安装的 Python。清除您的 Python 安装并从源码重新安装可能会解决问题。
Copyright 2015 LinkedIn Corp. 保留所有权利。
Copyright 2015 LinkedIn Corp. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License here <http://www.apache.org/licenses/LICENSE-2.0/>_.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.