Mobile Application Penetration Testing
Mobile application penetration testing is an authorized security assessment of an Android or iOS app, its behavior on a device, and the backend services it uses. You examine the app without running it and while it runs to find weaknesses, prove impact safely, and give developers evidence they can fix.
itOffensive security and application security | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic: Mobile Application Penetration Testing
A mobile application penetration test is an authorized inspection of an app, the device behavior it creates, and the services it trusts. That sounds like three jobs because it is three jobs, stacked in a trench coat and handed one app icon.
The useful mental model is evidence. The package is evidence. The running app is evidence. Neither gets to be the final judge of server-side data or actions. That job belongs to the backend, which is less glamorous than a dramatic bypass and considerably more important when an account identifier changes.
Start with authorization, meaning written permission for the app, accounts, services, and techniques in scope. Permission to test an app does not magically include every host or third party it contacts. Mobile software is very good at introducing friends without checking the guest list.
Then keep track of three boundaries. The app boundary contains the distributed package, code, configuration, and local data. The platform boundary contains storage, permissions, links, web views, and communication with other apps. The service boundary contains APIs, identity systems, content hosts, and third parties. A test becomes manageable when each observed behavior has somewhere to live.
Static analysis looks at the package without running it. It can reveal strings, permissions, endpoints, local storage calls, and platform entry points. Dynamic analysis watches approved workflows while the app runs. It shows files, requests, responses, sessions, and platform behavior. One view supplies a clue; the other supplies a controlled way to check whether the clue matters. A scanner helps find things to ask about. It does not receive a tiny judge's wig.
The surprise is that the client is not an authority. A hidden screen is not authorization. A valid session does not grant every action. Certificate pinning, obfuscation, and device-integrity checks can raise the cost of observation or tampering, but they do not repair a backend decision that accepts an unauthorized request.
Keep minimum proof close at hand. Use approved test accounts and harmless test data. Capture the precondition, action, observed result, device state, and cleanup. Stop when the security claim is demonstrated. The aim is a finding a developer can reproduce and fix, not a souvenir collection of data nobody needed to see.
Read the Intro for the complete map of control areas and boundaries. Use Slides when the relationships need a quick visual pass. Keep the Cheatsheet nearby while recording evidence and stop conditions. The Reference tab leads from MASVS objectives to MASTG test material and isolated reference apps, where practice can be useful without becoming an incident.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://mas.owasp.org/MASVS/02-Frontispiece/
Supports
- MASVS as a mobile application security standard
- Control coverage for storage, cryptography, authentication, network communication, platform interaction, code quality, resilience, and privacy
- Use across Android, iOS, and different deployment scenarios
- https://mas.owasp.org/MASVS/03-Using_the_MASVS/
Supports
- Using MASVS controls to establish security requirements and verification objectives
- Adapting control selection to risk and application context
- https://mas.owasp.org/MASTG/
Supports
- MASTG as a manual for mobile security testing and reverse engineering
- MASTG knowledge, tests, techniques, demos, tools, and reference apps
- Relationship between MASTG tests, MASVS controls, and mobile weaknesses
- https://mas.owasp.org/MASTG/0x04b-Mobile-App-Security-Testing/
Supports
- Mobile security testing as static and dynamic analysis
- Agreement on scope and security requirements
- Dynamic evaluation of platform behavior, backend services, and APIs
- Context limits and false positives in automated scanning
- https://mas.owasp.org/MASTG/0x05b-Android-Security-Testing/
Supports
- Android test-environment components including Android Studio, platform tools, emulator, and test device
- Privileged Android test-device considerations
- Android-specific testing processes and techniques
- https://mas.owasp.org/MASTG/techniques/android/MASTG-TECH-0014/
Supports
- Static analysis as examination without executing the application
- Inspection of Android manifest and source artifacts
- Static analysis as one technique for identifying potential vulnerabilities and errors
- https://mas.owasp.org/MASTG/techniques/generic/MASTG-TECH-0049/
Supports
- Dynamic analysis as evaluation of the running app and workflows
- Runtime discovery of storage, business logic, input, and environment behavior
- Automated assistance without replacement of manual assessment
- https://mas.owasp.org/MASTG/tools/
Supports
- Tools for static analysis, dynamic analysis, network interception, and other techniques
- Tool results as assistance rather than conclusive app-security status
- Possibility of false positives, false negatives, and environment-specific compatibility
- https://mas.owasp.org/MASTG/apps/
Supports
- Reference applications for Android and iOS security practice
- Maintained MASTG apps and crackmes as training material
- https://mas.owasp.org/MASVS/07-MASVS-AUTH/
Supports
- Authentication and authorization controls
- Secure access to remote endpoints
- Additional authentication for sensitive operations
- https://mas.owasp.org/MASVS/08-MASVS-NETWORK/
Supports
- Secure network traffic and endpoint identity requirements
- Certificate or public-key pinning as a defense-in-depth control for selected endpoints
- https://mas.owasp.org/MASVS/09-MASVS-PLATFORM/
Supports
- Secure use of platform interaction and interprocess communication
- Secure handling of web views and user-interface data exposure
- https://mas.owasp.org/MASVS/11-MASVS-RESILIENCE/
Supports
- Resilience against reverse engineering and tampering
- Obfuscation, anti-debugging, integrity, and runtime-environment controls
- https://developer.android.com/privacy-and-security/security-best-practices
Supports
- Android guidance for secure communication, app interaction, storage, permissions, and dependencies
- Use of non-exported components and controlled inter-app communication
- Platform facilities for authentication and sensitive operations
- https://developer.android.com/privacy-and-security/security-tips
Supports
- Android application sandbox and permission model
- Private internal storage behavior
- Risks from sensitive logs, overbroad data collection, and permissive interprocess communication
- https://support.apple.com/guide/security/app-security-overview-sec35dd877d0/web
Supports
- Apple app signing, distribution, and platform protection model
- Sandboxing as protection against unauthorized access to user data
- Layered app-security controls and their role in system integrity
- https://support.apple.com/en-lamr/guide/security/secf49cad4db/web
Supports
- Runtime code-signature enforcement
- iOS and iPadOS measures intended to prevent one app from compromising other apps or the system
- https://github.com/sindresorhus/awesome
Supports
- Discovery of the Android Security list under the catalog's Security section
- https://github.com/ashishb/android-security-awesome
Supports
- Discovery of MobSF, Frida, JADX, Apktool, and mitmproxy as Android security tools
- Curated descriptions of mobile analysis, reverse-engineering, and traffic tools
- https://mobsf.github.io/docs/
Supports
- MobSF as an automated mobile penetration-testing and assessment framework
- Static and dynamic analysis support for Android and iOS
- https://frida.re/docs/home/
Supports
- Frida as a dynamic code instrumentation toolkit
- Injection and tracing across Android and iOS native apps
- Android and iOS tutorials and examples
- https://github.com/skylot/jadx
Supports
- JADX command-line and graphical tools for decompiling Android Dex and package files
- Manifest and resource decoding
- Warning that complete and correct decompilation is not guaranteed
- https://apktool.org/
Supports
- Apktool disassembly of Android resources and manifests
- Authorized package rebuilding and resource inspection
- https://docs.mitmproxy.org/stable/
Supports
- mitmproxy as an interactive intercepting proxy
- Inspection, modification, replay, and scripting of network flows
- https://www.apple.com/newsroom/2007/01/09Apple-Reinvents-the-Phone-with-iPhone/
Supports
- Apple introduced iPhone on January 9, 2007 as a software-rich handheld platform.
- https://www.apple.com/newsroom/pdfs/app-store-study-2019.pdf
Supports
- Apple opened the App Store in July 2008.
- https://developer.android.com/reference/android/os/Build.VERSION_CODES
Supports
- Android 1.0 was released publicly in September 2008.
- https://owasp.org/www-chapter-belgium/assets/2012/2012-03-06/Appsecusa2011-bechapterbyKen-owasptop10mobilerisks.pdf
Supports
- OWASP AppSec USA 2011 material documents the OWASP Mobile Security Project and Mobile Top 10 risks.
- https://owasp.org/www-project-mobile-top-10/
Supports
- OWASP documents a final 2016 Mobile Top 10 list and the August 2023 initial release of the current Mobile Top 10.
- https://github.com/OWASP/mastg/releases
Supports
- OWASP release notes document MASTG v1.2 in July 2021 and later MASTG releases and refactoring.
- https://github.com/OWASP/masvs/releases
Supports
- OWASP release notes document MASVS v2.0.0 and v2.1.0, including the refactoring of the standard.
- https://mobsf.org/about-us/
Supports
- MobSF is an open-source mobile security framework for Android, iOS, and Windows platforms.
- https://www.nowsecure.com/products/platform/
Supports
- NowSecure Platform analyzes compiled mobile binaries on real devices and presents mobile security and privacy risk evidence.
- https://www.guardsquare.com/appsweep-mobile-application-security-testing
Supports
- AppSweep automates mobile static and interactive security testing and groups findings with OWASP MASVS.
- https://www.appknox.com/
Supports
- Appknox provides CI/CD-integrated mobile security testing across build upload and app-store submission.
- https://www.appdome.com/mobile-app-security/
Supports
- Appdome automates mobile app security controls in Android and iOS delivery pipelines.
