/apk2url

A tool to quickly extract IP and URL endpoints from APKs by disassembling and decompiling

Primary LanguageShellMIT LicenseMIT

apk2url

apk2url easily extracts URL and IP endpoints from an APK file to a .txt output. This is suitable for information gathering by the red team, penetration testers and developers to quickly identify endpoints associated with an application.

NOTE: Why use apk2url? When compared with APKleaks, MobSF and AppInfoScanner, apk2url identifies a significantly higher number of endpoints.

Inspired by diggy, apk2url is rewritten and upgraded with IP support, stronger regex, auto filtering and Jadx decompilation.

Running apk2url

NOTE: apk2url requires apktool and jadx which can be easily installed with apt. Please refer to the dependencies section.

git clone https://github.com/n0mi1k/apk2url
./apk2url.sh /path/to/apk/file.apk

You can also install directly for easy access by running ./install.sh.
After that you can run apk2url anywhere:

apk2url /path/to/apk/file.apk

By default there are 2 output files in the "endpoints" directory:

  • <apkname>_endpoints.txt - Contains endpoints with full URL paths
  • <apkname>_uniqurls.txt - Contains unique endpoint domains and IPs

By default, the program does not log the APK file path where endpoints are discovered.
To enable logging, run as follows:

apk2url /path/to/apk/file.apk log

*Tested on Kali 2023.2 and Ubuntu 22.04

Dependencies

Use apt for easy installation of these tools required by apk2url:

  • sudo apt install apktool
  • sudo apt install jadx

Demonstration

image

Disclaimer

This tool is for educational and testing purposes only. Do not use it to exploit the vulnerability on any system that you do not own or have permission to test. The authors of this script are not responsible for any misuse or damage caused by its use.