SlideShare a Scribd company logo
Android application security
assessment
Introductions
Agenda:
1. Methodology
2. Static testing
3. Dynamic testing
P.1. Methodology
1. OWASP Mobile Top-10
2. MSTG - Mobile Security Testing Guide
3. MASVS - Mobile Application Security Verification Standard
P.1. Methodology
P.1.1. OWASP Mobile TOP-10
https://www.owasp.org/index.php/Mobile_Top_10_2016-Top_10
M1-Improper Platform Usage M6-Insecure Authorization
M2-Insecure Data Storage M7-Poor Code Quality
M3-Insecure Communication M8-Code Tampering
M4-Insecure Authentication M9-Reverse Engineering
M5-Insufficient Cryptography M10-Extraneous Functionality
P.1. Methodology
P.1.2. MSTG
General parts
Mobile App Authentication Architectures
Testing Network Communication
Cryptography in Mobile Apps
Testing Code Quality
Tampering and Reverse Engineering
Testing User Education
https://github.com/OWASP/owasp-mstg
P.1. Methodology
P.1.2. MSTG Android specific parts
Platform Overview
Android Basic Security Testing
Data Storage on Android
Android Cryptographic APIs
Local Authentication on Android
Android Network APIs
Android Platform APIs
Code Quality and Build Settings for Android Apps
Tampering and Reverse Engineering on Android
Android Anti-Reversing Defenses
P.1. Methodology
P.1.3. MASVS v1 Architecture, Design and Threat Modeling Requirements
v2 Data Storage and Privacy Requirements
v3 Cryptography Requirements
v4 Authentication and Session Management Requirements
v5 Network Communication Requirements
v6 Environmental Interaction Requirements
v7 Code Quality and Build Setting Requirements
v8 Resiliency Against Reverse Engineering Requirements
https://github.com/OWASP/owasp-masvs
P.2. Static testing Android-app
1. MobSF
2. Androbugs framework
3. QARK
4. VCG scanner
P.2. Static testing Android-app
P.2.1. MobSF
Mobile Security Framework (MobSF) is an automated, all-in-one mobile
application (Android/iOS/Windows) pen-testing, malware analysis and
security assessment framework capable of performing static and
dynamic analysis.
https://github.com/MobSF/Mobile-Security-Framework-MobSF
P.2. Static testing Android-app
P.2.1. MobSF
P.2. Static testing Android-app
P.2.2. Androbugs framework
AndroBugs Framework is an Android vulnerability analysis system that
helps developers or hackers to find the potential security vulnerabilities
in Android applications. No splendid GUI interface, but the most efficient
(less than 2 minutes per scan in average) and more accurate.
https://github.com/AndroBugs/AndroBugs_Framework
P.2. Static testing Android-app
P.2.2. Androbug framework
P.2. Static testing Android-app
P.2.3. QARK
QARK is an easy to use tool capable of finding common security vulnerabilities in Android
applications. Unlike commercial products, it is 100% free to use. QARK features educational
information allowing security reviewers to locate precise, in-depth explanations of the
vulnerabilities. QARK automates the use of multiple decompilers, leveraging their combined
outputs, to produce superior results, when decompiling APKs. Finally, the major advantage
QARK has over traditional tools, that just point you to possible vulnerabilities, is that it can
produce ADB commands, or even fully functional APKs, that turn hypothetical vulnerabilities
into working "POC" exploits.
https://github.com/linkedin/qark
P.2. Static testing Android-app
P.2.3. QARK
P.2. Static testing Android-app
P.2.4. VCG scanner
VCG is an automated code security review tool for C++, C#, VB, PHP,
Java and PL/SQL which is intended to drastically speed up the code
review process by identifying bad/insecure code.
https://sourceforge.net/projects/visualcodegrepp/
P.2. Static testing Android-app
P.2.4. VCG scanner
P.3. Dynamic testing Android-app
1. BurpSuite
2. Inspeckage
3. LogCat
4. MobSF
5. Drozer
6. Frida
P.3. Dynamic testing Android-app
P.3.1. BurpSuite
https://habr.com/ru/post/432820/
P.3. Dynamic testing Android-app
P.3.1. BurpSuite
P.3. Dynamic testing Android-app
P.3.2. Inspeckage
Inspeckage - Android Package Inspector
Inspeckage is a tool developed to offer dynamic analysis of Android applications. By
applying hooks to functions of the Android API, Inspeckage will help you understand
what an Android application is doing at runtime.
● Shared Preferences
● Serialization
● Crypto
● Hash
● SQLite
● HTTP
● FileSystems
● IPC
https://github.com/ac-pm/Inspeckage
https://habr.com/ru/post/432820/
P.3. Dynamic testing Android-app
P.3.2. Inspeckage
P.3. Dynamic testing Android-app
P.3.3. LogCat
https://developer.android.com/studio/command-line/logcat
https://habr.com/ru/post/432820/
Logcat is a command-line tool that dumps a
log of system messages, including stack traces
when the device throws an error and
messages that you have written from your app
with the Log class.
P.3. Dynamic testing Android-app
P.3.3. LogCat
P.3. Dynamic testing Android-app
P.3.3. LogCat
P.3. Dynamic testing Android-app
P.3.4. MobSF
Run a Genymotion Android VM before starting MobSF. Everything will be configured
automatically at runtime. MobSF requires Genymotion Android x86 VMs version 4.1 to 9.0 for
dynamic analysis. We recommend using Android 7.0 and above.
HTTPS Proxy
● For Android versions 4.4 - 9.0, global proxy settings are automatically applied at runtime.
● For Android version 4.1 - 4.3, set Android VM proxy as displayed in Dynamic Analysis
page.
P.3. Dynamic testing Android-app
P.3.4. MobSF
P.3. Dynamic testing Android-app
P.3.5. Drozer
Drozer (formerly Mercury) is the leading security testing framework for Android.
Drozer allows you to search for security vulnerabilities in apps and devices by assuming the role of
an app and interacting with the Dalvik VM, other apps' IPC endpoints and the underlying OS.
Drozer provides tools to help you use, share and understand public Android exploits. It helps you to
deploy a drozer Agent to a device through exploitation or social engineering. Using weasel (MWR's
advanced exploitation payload) drozer is able to maximise the permissions available to it by
installing a full agent, injecting a limited agent into a running process, or connecting a reverse shell
to act as a Remote Access Tool (RAT).
https://github.com/mwrlabs/drozer
https://habr.com/ru/post/352252/
P.3. Dynamic testing Android-app
P.3.5. Drozer
P.3. Dynamic testing Android-app
P.3.5. Drozer
P.3. Dynamic testing Android-app
P.3.6. Frida
Frida, as described by its creators as – “ a dynamic code
instrumentation toolkit. It lets you inject snippets of JavaScript or
your own library into native apps on Windows, macOS, Linux, iOS,
Android, and QNX”
https://frida.re
https://www.notsosecure.com/pentesting-android-apps-using-frida/
https://codeshare.frida.re/browse?page=1
P.3. Dynamic testing Android-app
P.3.6. Frida
P.3. Dynamic testing Android-app
P.3.6. Frida
Any questions???

More Related Content

PDF
APIsecure 2023 - Android Applications and API Hacking, Gabrielle Botbol
PDF
Android application penetration testing
PDF
Android application security testing
PPTX
Android Application Penetration Testing - Mohammed Adam
PPTX
Pentesting Android Apps
PPTX
Mobile security part 1(Android Apps Pentesting)- Romansh yadav
PPTX
Android security
PPTX
Automated Security Analysis of Android & iOS Applications with Mobile Securit...
APIsecure 2023 - Android Applications and API Hacking, Gabrielle Botbol
Android application penetration testing
Android application security testing
Android Application Penetration Testing - Mohammed Adam
Pentesting Android Apps
Mobile security part 1(Android Apps Pentesting)- Romansh yadav
Android security
Automated Security Analysis of Android & iOS Applications with Mobile Securit...

What's hot (20)

PPTX
Mobile Application Security Testing (Static Code Analysis) of Android App
PPTX
Pentesting Android Applications
PPTX
Android pentesting the hackers-meetup
PPTX
Android security
PDF
PDF
Pwning mobile apps without root or jailbreak
PPTX
Pentesting Android Apps using Frida (Beginners)
PDF
Nullcon Goa 2016 - Automated Mobile Application Security Testing with Mobile ...
PPTX
Security Testing.pptx
PDF
TypeScript Best Practices
PDF
SecDevOps
PPTX
Android Hacking + Pentesting
PPT
Native, Web or Hybrid Mobile App Development?
PDF
Android Hacking
PDF
"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy
PPTX
Secure Design: Threat Modeling
PPTX
Owasp mobile top 10
PPTX
Pentesting iOS Applications
PDF
Pentesting like a grandmaster BSides London 2013
PDF
SSL Pinning and Bypasses: Android and iOS
Mobile Application Security Testing (Static Code Analysis) of Android App
Pentesting Android Applications
Android pentesting the hackers-meetup
Android security
Pwning mobile apps without root or jailbreak
Pentesting Android Apps using Frida (Beginners)
Nullcon Goa 2016 - Automated Mobile Application Security Testing with Mobile ...
Security Testing.pptx
TypeScript Best Practices
SecDevOps
Android Hacking + Pentesting
Native, Web or Hybrid Mobile App Development?
Android Hacking
"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy
Secure Design: Threat Modeling
Owasp mobile top 10
Pentesting iOS Applications
Pentesting like a grandmaster BSides London 2013
SSL Pinning and Bypasses: Android and iOS
Ad

Similar to Android pentesting (20)

PDF
Android pentesting
PPTX
Droidcon mobile security
PPTX
Mobile application security
PPTX
Mobile Application Security
PDF
Mobile application security tools
PDF
Top Mobile Application Penetration Testing Tools for Android and iOS.pdf
ODP
Mobile App Security Testing -2
PPTX
100 effective software testing tools that boost your Testing
PPTX
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
PDF
2.Android App Development_ Types of Automated Unit Tests.pdf
PPTX
Top 10 Mobile Hacking Tools – 2025 Edition
PPTX
COVERT app
PDF
Getting started with Android pentesting
PPTX
apidays New York 2025 - Why an SDK is Needed to Protect APIs from Mobile Apps...
PPTX
Appium overview
PPTX
Droidstat-X, Android Applications Security Analyser Xmind Generator
PPT
Android automation tools
PPTX
Getting started with android
PDF
Avtest Kasım 2011 Bedava Android Antivirüs Araştırması
PDF
Owasp masvs spain 17
Android pentesting
Droidcon mobile security
Mobile application security
Mobile Application Security
Mobile application security tools
Top Mobile Application Penetration Testing Tools for Android and iOS.pdf
Mobile App Security Testing -2
100 effective software testing tools that boost your Testing
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
2.Android App Development_ Types of Automated Unit Tests.pdf
Top 10 Mobile Hacking Tools – 2025 Edition
COVERT app
Getting started with Android pentesting
apidays New York 2025 - Why an SDK is Needed to Protect APIs from Mobile Apps...
Appium overview
Droidstat-X, Android Applications Security Analyser Xmind Generator
Android automation tools
Getting started with android
Avtest Kasım 2011 Bedava Android Antivirüs Araştırması
Owasp masvs spain 17
Ad

More from Mykhailo Antonishyn (8)

PDF
Arcantos - web applications pentest tools
PDF
Правила_кибер_гигиены_при_работе_с_криптовалютами.pdf
PDF
Правила_кибер_гигиены.pdf
PPTX
Secure SDLC in mobile software development.
PPTX
Standards and methodology for application security assessment
PPTX
Masters of transformation part 2
PPTX
Masterstvo transformacii part 1
PDF
Android application security assessment
Arcantos - web applications pentest tools
Правила_кибер_гигиены_при_работе_с_криптовалютами.pdf
Правила_кибер_гигиены.pdf
Secure SDLC in mobile software development.
Standards and methodology for application security assessment
Masters of transformation part 2
Masterstvo transformacii part 1
Android application security assessment

Android pentesting

  • 3. P.1. Methodology 1. OWASP Mobile Top-10 2. MSTG - Mobile Security Testing Guide 3. MASVS - Mobile Application Security Verification Standard
  • 4. P.1. Methodology P.1.1. OWASP Mobile TOP-10 https://www.owasp.org/index.php/Mobile_Top_10_2016-Top_10 M1-Improper Platform Usage M6-Insecure Authorization M2-Insecure Data Storage M7-Poor Code Quality M3-Insecure Communication M8-Code Tampering M4-Insecure Authentication M9-Reverse Engineering M5-Insufficient Cryptography M10-Extraneous Functionality
  • 5. P.1. Methodology P.1.2. MSTG General parts Mobile App Authentication Architectures Testing Network Communication Cryptography in Mobile Apps Testing Code Quality Tampering and Reverse Engineering Testing User Education https://github.com/OWASP/owasp-mstg
  • 6. P.1. Methodology P.1.2. MSTG Android specific parts Platform Overview Android Basic Security Testing Data Storage on Android Android Cryptographic APIs Local Authentication on Android Android Network APIs Android Platform APIs Code Quality and Build Settings for Android Apps Tampering and Reverse Engineering on Android Android Anti-Reversing Defenses
  • 7. P.1. Methodology P.1.3. MASVS v1 Architecture, Design and Threat Modeling Requirements v2 Data Storage and Privacy Requirements v3 Cryptography Requirements v4 Authentication and Session Management Requirements v5 Network Communication Requirements v6 Environmental Interaction Requirements v7 Code Quality and Build Setting Requirements v8 Resiliency Against Reverse Engineering Requirements https://github.com/OWASP/owasp-masvs
  • 8. P.2. Static testing Android-app 1. MobSF 2. Androbugs framework 3. QARK 4. VCG scanner
  • 9. P.2. Static testing Android-app P.2.1. MobSF Mobile Security Framework (MobSF) is an automated, all-in-one mobile application (Android/iOS/Windows) pen-testing, malware analysis and security assessment framework capable of performing static and dynamic analysis. https://github.com/MobSF/Mobile-Security-Framework-MobSF
  • 10. P.2. Static testing Android-app P.2.1. MobSF
  • 11. P.2. Static testing Android-app P.2.2. Androbugs framework AndroBugs Framework is an Android vulnerability analysis system that helps developers or hackers to find the potential security vulnerabilities in Android applications. No splendid GUI interface, but the most efficient (less than 2 minutes per scan in average) and more accurate. https://github.com/AndroBugs/AndroBugs_Framework
  • 12. P.2. Static testing Android-app P.2.2. Androbug framework
  • 13. P.2. Static testing Android-app P.2.3. QARK QARK is an easy to use tool capable of finding common security vulnerabilities in Android applications. Unlike commercial products, it is 100% free to use. QARK features educational information allowing security reviewers to locate precise, in-depth explanations of the vulnerabilities. QARK automates the use of multiple decompilers, leveraging their combined outputs, to produce superior results, when decompiling APKs. Finally, the major advantage QARK has over traditional tools, that just point you to possible vulnerabilities, is that it can produce ADB commands, or even fully functional APKs, that turn hypothetical vulnerabilities into working "POC" exploits. https://github.com/linkedin/qark
  • 14. P.2. Static testing Android-app P.2.3. QARK
  • 15. P.2. Static testing Android-app P.2.4. VCG scanner VCG is an automated code security review tool for C++, C#, VB, PHP, Java and PL/SQL which is intended to drastically speed up the code review process by identifying bad/insecure code. https://sourceforge.net/projects/visualcodegrepp/
  • 16. P.2. Static testing Android-app P.2.4. VCG scanner
  • 17. P.3. Dynamic testing Android-app 1. BurpSuite 2. Inspeckage 3. LogCat 4. MobSF 5. Drozer 6. Frida
  • 18. P.3. Dynamic testing Android-app P.3.1. BurpSuite https://habr.com/ru/post/432820/
  • 19. P.3. Dynamic testing Android-app P.3.1. BurpSuite
  • 20. P.3. Dynamic testing Android-app P.3.2. Inspeckage Inspeckage - Android Package Inspector Inspeckage is a tool developed to offer dynamic analysis of Android applications. By applying hooks to functions of the Android API, Inspeckage will help you understand what an Android application is doing at runtime. ● Shared Preferences ● Serialization ● Crypto ● Hash ● SQLite ● HTTP ● FileSystems ● IPC https://github.com/ac-pm/Inspeckage https://habr.com/ru/post/432820/
  • 21. P.3. Dynamic testing Android-app P.3.2. Inspeckage
  • 22. P.3. Dynamic testing Android-app P.3.3. LogCat https://developer.android.com/studio/command-line/logcat https://habr.com/ru/post/432820/ Logcat is a command-line tool that dumps a log of system messages, including stack traces when the device throws an error and messages that you have written from your app with the Log class.
  • 23. P.3. Dynamic testing Android-app P.3.3. LogCat
  • 24. P.3. Dynamic testing Android-app P.3.3. LogCat
  • 25. P.3. Dynamic testing Android-app P.3.4. MobSF Run a Genymotion Android VM before starting MobSF. Everything will be configured automatically at runtime. MobSF requires Genymotion Android x86 VMs version 4.1 to 9.0 for dynamic analysis. We recommend using Android 7.0 and above. HTTPS Proxy ● For Android versions 4.4 - 9.0, global proxy settings are automatically applied at runtime. ● For Android version 4.1 - 4.3, set Android VM proxy as displayed in Dynamic Analysis page.
  • 26. P.3. Dynamic testing Android-app P.3.4. MobSF
  • 27. P.3. Dynamic testing Android-app P.3.5. Drozer Drozer (formerly Mercury) is the leading security testing framework for Android. Drozer allows you to search for security vulnerabilities in apps and devices by assuming the role of an app and interacting with the Dalvik VM, other apps' IPC endpoints and the underlying OS. Drozer provides tools to help you use, share and understand public Android exploits. It helps you to deploy a drozer Agent to a device through exploitation or social engineering. Using weasel (MWR's advanced exploitation payload) drozer is able to maximise the permissions available to it by installing a full agent, injecting a limited agent into a running process, or connecting a reverse shell to act as a Remote Access Tool (RAT). https://github.com/mwrlabs/drozer https://habr.com/ru/post/352252/
  • 28. P.3. Dynamic testing Android-app P.3.5. Drozer
  • 29. P.3. Dynamic testing Android-app P.3.5. Drozer
  • 30. P.3. Dynamic testing Android-app P.3.6. Frida Frida, as described by its creators as – “ a dynamic code instrumentation toolkit. It lets you inject snippets of JavaScript or your own library into native apps on Windows, macOS, Linux, iOS, Android, and QNX” https://frida.re https://www.notsosecure.com/pentesting-android-apps-using-frida/ https://codeshare.frida.re/browse?page=1
  • 31. P.3. Dynamic testing Android-app P.3.6. Frida
  • 32. P.3. Dynamic testing Android-app P.3.6. Frida