APKscan: Scan for secrets, endpoints, and other sensitive data in Android files
APKscan
Scan for secrets, endpoints, and other sensitive data after decompiling and deobfuscating Android files. (.apk, .xapk, .dex, .jar, .class, .smali, .zip, .aar, .arsc, .aab, .jadx.kts).
Why use APKscan?
Find Leaked Secrets
APKs (Android Package Kits) often leak secrets due to over-reliance on security through obscurity. Developers sometimes leave sensitive information such as API keys, tokens, and credentials hidden within the code, assuming that they won’t be found easily since the code has been compiled and obfuscated. However, this approach is fundamentally flawed, and such secrets can be exposed, leading to potential security vulnerabilities.
Identify Sensitive Locations in Application Code
APKscan can help quickly identify sensitive locations in the code, such as SSL pinning libraries, root detection functions, and other security mechanisms. Identifying these functions can speed up reverse engineering and app manipulation by quickly revealing critical points where an app enforces its security policies, making it easier to bypass them with tools like Frida. By pinpointing these areas, APKscan aids in understanding an app’s security mechanisms and potential weaknesses.
Identify the Attack Surface of the Backend
APKscan also helps identify the attack surface of the backend by uncovering forgotten endpoints, test data payloads, and other traces of backend interfaces that developers might have unintentionally exposed. These endpoints can provide attackers with access to sensitive data or functionalities that are not meant for public use. By scanning for such endpoints and test data, APKscan assists in ensuring that the backend is secure and that no unnecessary exposure is left in the deployed applications.
Features
Automate the Scanning Process for Multiple Applications:
APKscan allows you to automate the process of scanning for secrets in any number of applications, saving you time and ensuring thorough coverage.
Multiple Decompilers and Deobfuscators:
Utilize one or more decompilers and deobfuscators to increase the chances of finding hidden secrets.
- Supports all popular decompilers including
JADX
,APKTool
,CFR
,Procyon
,Krakatau
, andFernflower
, providing flexibility and robustness in your scanning process. - Uses
enjarify-adapter
to convert the Dalvik bytecode in.apk
files into Java bytecode on the fly, so the resulting.jar
can be processed by decompilers/deobfuscators that do not support.apks
directly.
Customizable Rules:
Define your own secret locator rules or use the default ones provided. This flexibility allows you to tailor the scanning process to your specific needs and improve the detection accuracy of sensitive information.
- Support for common formats:
SecretLocator JSON
,secret-patterns-db YAML
,gitleaks TOML
, and simple key-value pairs.
Flexible Output Options:
Choose from multiple output formats (JSON
, YAML
, or text
) and organize the results by input file or locator. This makes it easier to integrate with other tools and workflows, and to analyze the findings effectively.
Comprehensive File Support:
Decompile and scan a wide range of Android-related files, including .apk,
.xapk,
.dex,
.jar,
.class,
.smali,
.zip,
.aar,
.arsc,
.aab,
and .jadx.kts
files.
Advanced Configuration and Concurrency Options:
APKscan offers advanced options for concurrency, decompilation, and scanning, enabling you to optimize the performance and behavior of the tool to suit your environment and requirements.
Install & Use
Copyright (c) 2024 Lucas Faudman