Android Analysis CheatSheet
Application permission
- check permission in AndroidManifest.xml
Authentication
- stateless or stateful
Insecure Data Storage
- sensitive information in code
- database
- log
- cookies
- cache
Sensitive Data sent to third party
- check third party libray in code
- intercept request
scan content provider URI
1 | dz > run app.provider.info -a com.iapps.ssc |
Check Backup for Sensitive Data
- android:allowBackup=”true”
1 | $> adb backup -apk -nosystem com.iapps.ssc |
Auto Generate for sensitive Data
Check Memory for Sensitive Data
- dynamic analysis dump memory
Testing the Device-Access-Security Policy
- USB Debuggin activation
- Root Detection
Test Random Number
Local Authentication
Network API
Certificate Pinning
- check value “android:networkSecurityConfig” in AndroidManifest.xml
default network Config
Android API Permission
- Normal (android.permission.INTERNET)
- Dangerous (android.permission.RECORD AUDIO)
- Signature (android.permission.ACCESS_MOCK_LOCATION)
- SystemOrSignature (android.permission.ACCESS_DOWNLOAD_MANAGER)
1
2dz > run app.package.info -a com.kth.test
dz > run app.provider.finduri com.kth.test
service info
1 | dz > run app.service.info -a com.kth.test |
- Check Application Sign
1 | apksigner verify --verbose Desktop/example.apk |
- Check Webview XSS
- search code in
setJavaScriptEnable(true)
- search code in
- Static Analysis with Mobfs
1 | git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF.git |