# Android Checklist

## How to approach a target ?

When performing Android penetration testing we first need to split the test into two phases

* Client Side Pentest (Mobile)
* Server Side Pentest (API / Web)

*The client side part is for mobile APK, in this phase you should perform a static/dynamic code analysis. Reversing the application in order to look for code quality, bypass root detection if exist. Looking for insecure data logging, etc...*

*The server side part is about API/Web pentesting, in this phase you should be able to test for web vulnerabilities like IDOR, SQL, SSRF, Command injection and any server side vulnerability that affect web application.*

### Client Side Vulnerabilities

#### Memory/Storage Analysis

* Sensitive information disclosed in storage of the mobile device&#x20;
* Sensitive information found in logs&#x20;
* Sensitive information found in cache
* Sensitive information found in installed application folder
* Sensitive information stored in SQLite database in cleartext
* Check if sensitive information remains there even after log out
* Sensitive information stored in shared preference files Code level vulnerabilities
* Source code obfuscation not found
* Sensitive information disclosed in application error message
* Binary reverse engineering

#### **Transport layer security**

* Older version of SSL used
* SSL pinning bypass
* Weak ssl ciphers and other SSL related vulnerabilities (sslscan, sslyze, osaft etc.)

### **Server side Vulnerabilities**

#### **Business Logic Check**

* User account compromise of other user
* Admin account compromise from user account
* Bruteforce authentication/otp/other services
* Check for server side validation
* Check for root detection method / bypass it
* Check for vulnerable android components

#### Server Side Check

* Check for SQL injection
* CAPTCHA implementation flaws & bypass
* Check for all HTTP methods (PUT, DELETE etc. Use burp intruder using HTTP verb tampering)
* Check for client side injection (XSS)
* Username enumeration
* Other user's sensitive details enumeration
* User detail's enumeration using IDOR
* Malicious file upload
* Server side flaws (IIS, APACHE, TOMCAT etc.)
* Run nikto, dirb on web content URL
* Check for session management (cookie flaws, session overriding, session fixation etc.)
