apkLeaks - APKファイルを解析してURLやシークレット情報を取り出す
アプリは一つのパッケージでリリースします。そのため、完全に暗号化されており、機密データも安全に扱われていると考えてしまいがちです。実際にはそんなことはなく、さまざまな情報が読み取れます。 今回紹介するapkLeaksはAndroidのAPKファイルを読み込み、そこに書かれたURLやエンドポイント、シークレット情報があるかチェックします。
apkLeaksの使い方
とあるAPKファイルで実行した結果です。
$ python apkleaks.py -f "Example.apk"
_ ____ _ ___ _
/ \ | _ \| |/ / | ___ __ _| | _____
/ _ \ | |_) | ' /| | / _ \/ _` | |/ / __|
/ ___ \| __/| . \| |__| __/ (_| | <\__ \
/_/ \_\_| |_|\_\_____\___|\__,_|_|\_\___/
# v1.0.2
--
Scanning APK file for URIs, endpoints & secrets
(c) 2020, dwisiswant0
Can't find jadx binary. Downloading...
** Decompiling APK...
INFO - loading ...
INFO - processing ...
ERROR - finished with errors, count: 9
** Scanning against 'com.example.com'
[LinkFinder]
- "/--sanitized--"
:
- "state.txt"
[IP Address]
- 192.0.2.1
- 203.0.100.100
- 100.0.0.1
** Results saved into '/var/folders/vq/8b5hnfxs2s156flj8kpycw440000gp/T/apkleaks-2UHAvi.txt'
機密に触れるような情報は出ませんでしたが、それでもIPアドレスなどが書かれているのは分かりました。自分のアプリであらかじめチェックしておくと、万一の漏洩に備えられるかも知れません。
apkLeaksはPython製のオープンソース・ソフトウェア(Apache Licnese 2.0)です。
dwisiswant0/apkleaks: Scanning APK file for URIs, endpoints & secrets.