
Escaneando archivo APK en busca de URIs, endpoints y secretos.
Escaneando archivo APK en busca de URIs, endpoints y secretos.
Es bastante sencillo instalar APKLeaks:
$ pip3 install apkleaks
Clona el repositorio e instala los requisitos:
$ git clone https://github.com/dwisiswant0/apkleaks
$ cd apkleaks/
$ pip3 install -r requirements.txt
Descarga la imagen de Docker ejecutando:
$ docker pull dwisiswant0/apkleaks:latest
APKLeaks utiliza el descompilador jadx para descompilar archivos APK. Si jadx no está presente en tu sistema, te pedirá que lo descargues.
Simplemente,
$ apkleaks -f ~/path/to/file.apk
# desde el código fuente
$ python3 apkleaks.py -f ~/path/to/file.apk
# o con Docker
$ docker run -it --rm -v /tmp:/tmp dwisiswant0/apkleaks:latest -f /tmp/file.apk
Aquí están todas las opciones que soporta.
En general, si no proporcionas el argumento -o, generará un archivo de resultados automáticamente.
[!TIP] Por defecto también guardará los resultados en formato de texto, usa el argumento
--jsonsi deseas formato de salida JSON.
Se pueden agregar patrones personalizados con el siguiente argumento para proporcionar reglas de búsqueda sensibles en formato de archivo JSON: --pattern /path/to/custom-rules.json. Si no se establece ningún archivo, la herramienta usará los patrones predeterminados que se encuentran en el archivo regexes.json.
Aquí hay un ejemplo de cómo podría verse un archivo de patrón personalizado:
// custom-rules.json
{
"Amazon AWS Access Key ID": "AKIA[0-9A-Z]{16}",
// ...
}
Para ejecutar la herramienta usando estas reglas personalizadas, usa el siguiente comando:
$ apkleaks -f /path/to/file.apk -p rules.json -o ~/Documents/apkleaks-results.txt
Damos al usuario total discreción para pasar argumentos al descompilador. Por ejemplo, si quieres activar hilos en el proceso de descompilación de jadx, puedes agregarlo con el argumento -a/--args, ejemplo: --args="--threads-count 5".
$ apkleaks -f /path/to/file.apk -a "--deobf --log-level DEBUG"
[!WARNING] Por favor, presta atención a los argumentos predeterminados del descompilador que usamos para evitar colisiones.
apkleaks se distribuye bajo Apache 2.
Dado que esta herramienta incluye algunas contribuciones, y no soy un idiota, agradeceré públicamente a los siguientes usuarios por su ayuda y recursos:
apkurlgrep, que es la razón por la que se hizo esta herramienta.truffleHogRegexes.LinkFinder.gf.dex2jar.SHA2048#4361 (usuario de Discord) que me ayudó a portar el código a Python3.NotKeyHacks.| Argumento | Descripción | Ejemplo |
|---|
| -f, --file | Archivo APK a escanear | apkleaks -f file.apk |
| -o, --output | Escribe los resultados en un archivo (aleatorio si no se especifica) | apkleaks -f file.apk -o results.txt |
| -p, --pattern | Ruta a JSON de patrones personalizados | apkleaks -f file.apk -p custom-rules.json |
| -a, --args | Argumentos del descompilador | apkleaks -f file.apk --args="--deobf --log-level DEBUG" |
| --json | Guardar en formato JSON | apkleaks -f file.apk -o results.json --json |