With my last article(Android Application Penetration testing Part 1), (Android Application Penetration testing Part 2)we had look at basic architecture and penetration testing tools. Now Let’s dig deeper with ADB.
Android Debug Bridge
Android Debug Bridge (ADB) is a versatile command-line tool that lets you communicate with a device
Adb install – It is used to install an apk file into an Emulated/Connected Device
Adb pull – It is used to fetch some data from an Emulated device (remote) to local host (local).
Adb push – It is used to push some data from localhost (local) to Emulated Device (remote).
Adb forward – Forwards socket connections from a specified local port to a specified remote port on the emulator/device instance.
Adb shell – Adb provides a UNIX shell that you can use to run a variety of commands on an emulator or connected device. In the terminal, you can use all adb commands
- We can install applications via ADB shell or directly by using app use dashboard
Some Important notes
- UID– Every time a new application is initiated in the Android device, it is assigned a unique User ID
- PID– As every application has its own process id
- GID– group IDs of the application that owns that process
Dumpsys meminfo – All process details
Dumpsys meminfo name of .apk
Android Package (APK) is the default extension for the Android applications, which is just an archive file that contains all the necessary files and folders of the application.
All data of the application in the device can be found in /data/data directory.
All applications (apk files) in device can be found in /data/app directory
Standard permissions granted to the shell can be found in /system/etc/permissions # cat platform.xml
Hacks via ADB:
We usually open our android device by unlocking various gesture pattern or password key
If you remove gesture. Key or password. The key which located at data/system, you can bypass that lock.
Try with ADB shell
Cd /data/data/com.android.providers.settings/databases3; 3; sqlite3 settings.db3; 3; Update system set value=0 where name='lock_pattern_autolock';3; 3; Update system set value=0 where name='lockscreen.lockedoutpermanently'; .quit
Reset your phone. Don’t worry try a random pattern or pin or Password, you will bypass.