/data/local/tmp/
pm list packages
See pm help for a full list of usages.
/data/data/<package_name>
databases/: here go the app's databaseslib/: libraries and helpers for the appfiles/: other related filesshared_prefs/: preferences and settingscache/: well, caches
Perhaps something in:
/data/app/<package_name>//data/app/<package_name>-1/or another number
Notes about a test done on December 28th, 2019 using an Ubuntu 16.04.6 Xenial LTS (Backbox).
Note: adb was already installed.
snap install --devmode --beta anboxsudo add-apt-repository ppa:morphis/anbox-support
sudo apt update
sudo apt install linux-headers-generic anbox-modules-dkmsEnable the modules (or reboot)
sudo modprobe ashmem_linux
sudo modprobe binder_linuxInstall adb if needed:
sudo apt install android-tools-adbThe device should now be visible from adb using:
adb devicesOr maybe it is needed to launch the session manager? (don't remember)
anbox session-manageradb install example.apkanbox launch --package=com.contoso.superapp --component=com.contoso.superapp.MainActivityIt is now possible to listen traffic on the anbox0 network interface.
Using adb, frida, iptables, Burp Suite, etc. it is possible to do almost everything!
Using adb with:
adb shell settings put global http_proxy <ip>:<port>et si c'est le cas, ne pas oublier d'activer l'option "accès root" dans les options développeurs
Il est possible de connecter le téléphone en USB ou bien d'activer le débogage par réseau.
TODO : expliquer la partie pour activer le débogage par réseau à l'aide de la commande adb tcpip 4444
Note : avec Virtualbox et la kali en VM, les options usb sont restés en mode USB 2.0 et le cable utilisé était un câble USB 2.0 malgré qu'il soit sur un port USB 3.0.
sinon il n'est pas possible d'accéder aux autres applications : adb root
- Le récupérer sur https://github.com/frida/frida/releases et prendre la version
frida-server-x.x.x-android-arm.xzoufrida-server-x.x.x-android-arm64.xzen fonction de l'architecture du téléphone (ou même les versions x86 si besoin). - L'envoyer sur le téléphone :
adb push frida-server-x.x.x-android-arm.xz /data/local/tmp/frida-server - Le lancer en root
adb shell /data/local/tmp/frida-server(pour s'assurer que le shell adb a bien les permissions root, il est possible de faireadb shell id)
sudo apt update
sudo apt install android-tools-adb android-tools-fastboot
sudo usermod -a -G plugdev joe # si l'utilisateur n'appartient pas encore au groupe plugdev
sudo su - joe # pour recharger les permissionsIl est maintenant possible de :
- lister les devices :
frida-ls-devices - lister tous les processus :
frida-ps -U - lister les applications :
frida-ps -Ua - etc…
(Le -U est utilisé car le téléphone est branché en USB)
-
Nativement, on liste les applications qui tournent (
frida-ps -Ua) puis on s'y attache (frida-trace -U com.example.app). Mais parfois ça ne fonctionne pas, et ça necessite de lancer frida en root (pas toujours possible). -
Via frida-gadget. Cela demande d'insérer le "Gadget" dans l'application mais permet de l'utiliser sans root. C'est cette méthode qui sera décrite ici.
Voir plus haut
apktool d example.apk -o apktool_output- Télécharger le gadget adéquat : https://github.com/frida/frida/releases et prendre la version
frida-gadget-12.0.8-android-arm64.so.xzoufrida-gadget-12.0.8-android-arm64.so.xz.