
Scansionando il file APK per URI, endpoint e segreti.
Scansione di file APK per URI, endpoint e segreti.
È abbastanza semplice installare APKLeaks:
$ pip3 install apkleaks
Clona il repository e installa i requisiti:
$ git clone https://github.com/dwisiswant0/apkleaks
$ cd apkleaks/
$ pip3 install -r requirements.txt
Scarica l'immagine Docker eseguendo:
$ docker pull dwisiswant0/apkleaks:latest
APKLeaks utilizza il disassemblatore jadx per decompilare i file APK. Se jadx non è presente nel sistema, ti verrà chiesto di scaricarlo.
Semplicemente,
$ apkleaks -f ~/percorso/al/file.apk
# da Sorgente
$ python3 apkleaks.py -f ~/percorso/al/file.apk
# o con Docker
$ docker run -it --rm -v /tmp:/tmp dwisiswant0/apkleaks:latest -f /tmp/file.apk
Ecco tutte le opzioni supportate.
In generale, se non fornisci l'argomento -o, verrà generato automaticamente un file dei risultati.
[!SUGGERIMENTO] Per impostazione predefinita salva i risultati anche in formato testo; usa l'argomento
--jsonse desideri il formato di output JSON.
È possibile aggiungere pattern personalizzati con il seguente argomento per fornire regole di ricerca sensibili nel formato file JSON: --pattern /percorso/a/regole-personalizzate.json. Se nessun file viene impostato, lo strumento utilizzerà i pattern predefiniti presenti nel file regexes.json.
Ecco un esempio di come potrebbe apparire un file di pattern personalizzato:
// regole-personalizzate.json
{
"Amazon AWS Access Key ID": "AKIA[0-9A-Z]{16}",
// ...
}
Per eseguire lo strumento utilizzando queste regole personalizzate, usa il seguente comando:
$ apkleaks -f /path/al/file.apk -p regole.json -o ~/Documenti/apkleaks-risultati.txt
Diamo all'utente la massima discrezione nel passare gli argomenti del disassemblatore. Ad esempio, se si desidera attivare i thread nel processo di decompilazione di jadx, è possibile aggiungerli con l'argomento -a/--args, esempio: --args="--threads-count 5".
$ apkleaks -f /path/al/file.apk -a "--deobf --log-level DEBUG"
[!ATTENZIONE] Presta attenzione agli argomenti predefiniti del disassemblatore che utilizziamo per evitare collisioni.
apkleaks è distribuito sotto Apache 2.
Poiché questo strumento include alcuni contributi, e non sono uno stronzo, ringrazierò pubblicamente i seguenti utenti per il loro aiuto e risorse:
apkurlgrep, motivo per cui è stato creato questo strumento.truffleHogRegexes.LinkFinder.gf.dex2jar.SHA2048#4361 (utente Discord) che mi ha aiutato a portare il codice in Python3.NotKeyHacks.| Argomento | Descrizione | Esempio |
|---|
| -f, --file | File APK da scansionare | apkleaks -f file.apk |
| -o, --output | Scrive i risultati su file (casuale se non impostato) | apkleaks -f file.apk -o risultati.txt |
| -p, --pattern | Percorso al file JSON dei pattern personalizzati | apkleaks -f file.apk -p regole-personalizzate.json |
| -a, --args | Argomenti del disassemblatore | apkleaks -f file.apk --args="--deobf --log-level DEBUG" |
| --json | Salva in formato JSON | apkleaks -f file.apk -o risultati.json --json |