SlideShare a Scribd company logo
DroidCon
Mobile security
Penetration testing Android Applications
Whoami
Role: Senior QA engineer ScanGroup
Interests: Appsec as whole( i love code)
Twitter: @Judy_infosec
Co-founder : @WistSecurity Kenya
Whoami
Role: Security Analyst
Interests: Mobile Security and Network Security Monitoring
Projects: https://github.com/xtiankisutsa/swaraVM
Twitter: @PurpleR0b0t
Affiliate : Africa Hackon
Importance of Mobile Application
Security
▪ To ensure mobile applications are developed with security in mind.
Can you imagine being a developer who not only knows how to develop
mobile applications but understands and knows how to secure mobile
applications?
▪ To be able to spot a malicious application
▪ To ensure you comply with mobile security standards e.g. OWASP
▪ To ensure the user’s data is secured and confidentiality is maintained
Importance of Mobile Application
Security
▪ To protect the application and the service from malicious attackers
▪ To be able to build well secured mobile applications.
Penetration testing...what is
pentesting?
What is penetration testing-
A penetration test is the act of discovering security weaknesses or
vulnerabilities in a system before they are discovered by an attacker .
A pentest is comprehensive in ways where you conduct every bit of a security
test known to man: what do i mean
1. Vulnerability detection
2. Penetration attempt (very comprehensive)
3. Analysis and reporting
Types of Analysis
● Static Analysis
Static analysis is performed in a non-runtime environment.
Typically a static analysis tool will inspect program code for all
possible runtime behaviors and seek out coding flaws, back doors,
and potentially malicious code.
Types of Analysis
● Dynamic Analysis
Dynamic analysis entails executing the application, typically in an
instrumented or monitored manner, to garner more concrete
information on its behavior.
This often entails tasks like ascertaining artifacts the application
leaves on the file system, observing network traffic, monitoring
process behavior...basically all things that occur during execution.
Android Application Security Assessment
Methodology
The methodology we use encompasses the Open Web Application
Security Project (OWASP) Mobile Testing guide (including the
OWASP Mobile Top 10 2016-Top 10).
Our approach leverages on proprietary open source and bespoke
tools using a consistent and repeatable process. Some of the tools
that are used for testing android applications are;
▪ MARA Framework
▪ MobSF
▪ Xposed Framework
▪ Frida
▪ Burpsuite
▪ Alternatively you can install Swara VM or santoku that has all tools
What Next?
➔ Reverse Engineering
Reverse Engineering is taking something apart to see how it works.
Why Reverse Engineer Mobile Applications?
• Taking something apart to understand how it works.
• To understand how it works
• To determine how secure it was built (security assessment)
• To determine interoperability
• You get paid to break into them (mobile app pentester)
• To identify vulnerabilities :)
Reverse Engineering
1. De-compilation
The Android APK bundle contains the application binary which is
compiled in the dex file format for the Dalvik virtual machine.
The purpose of de-compilation is to gain access to the pseudo
source code for manual review.
This can be achieved using the MARA Framework.
Reverse Engineering
2. De-obfuscation (Where appropriate)
Obfuscation is a technique in which initial code of application is
intentionally made to be unclear to humans.
Where the source code for the mobile application binary has been
obfuscated, we will attempt to de-obfuscate.
This can be done using MARA Framework which makes use of a
tool called apk-deguard that attempts to reverse the process of
obfuscation performed by Android obfuscation tools.
Reverse Engineering
▪ Rename Obfuscation
Renaming alters the name of methods and variables. It makes the
decompiled source harder for a human to understand.
Static Analysis
1. Code Review
Manual static code analysis is conducted on source code (if
available), or on partial/pseudo source where code has been
decompiled, to identify security issues.
Automated Static Analysis can be performed using tools such as
the Mobile Security Framework (MobSF), an all-in-one mobile
application (Android/iOS/Windows) pen-testing framework
capable of performing static, dynamic and malware analysis and
Appknox, a mobile app security testing solution to detect and fix
vulnerabilities in mobile apps using a combination of automated
and manual tests.
Dynamic Analysis
1. Function Hooking
When source code is not accessible or limited, function hooking
provides another method to analyse the mobile application for
security vulnerabilities. This is typically achieved using tools
such as the XposedFramework which record and can be used to
modify API calls made by an application, including function calls,
arguments and return values
Dynamic Analysis
2. Run-time debugging
Android applications that are flagged as debuggable not only pose
a security concern but can also be leveraged to better analyse the
mobile application.
Using debug tools such as Android Debug Bridge (adb) to attach
to the mobile application running process, you can be able to
analyse the mobile applications behaviour, and conduct in-
memory manipulation.
Data at Rest Analysis
A thorough review of the device file system is conducted to identify any
sensitive residual data that may be exposed following normal use of the
mobile app.
This includes analysing caches and persistent app stores for sensitive
data.
Examples of places to look are, Shared Preferences and the SQlite
Databases.
Data in Transit Analysis
During normal use of the mobile app, all communication methods are
analysed to identify sensitive data in transit that should be encrypted,
and to assess the strength of encryption, if in use.
This can be achieved using proxy tools such as Burp Suite that lets you
intercept, inspect and modify the raw traffic passing in both directions
(communication between the client and the server).
DEMO
Reverse engineering using MARA
Framework.
HAPPY HACKING!

More Related Content

PDF
Challenges in Testing Mobile App Security
PDF
Cyber security series Application Security
PDF
OWASP Mobile Top 10 Deep-Dive
PDF
WHAT IS APP SECURITY – THE COMPLETE PROCESS AND THE TOOLS & TESTS TO RUN IT
ODP
Mobile Apps Security Testing -1
PPTX
Web and Mobile Application Security
PDF
Security testing in mobile applications
PDF
Introduction to Application Security Testing
Challenges in Testing Mobile App Security
Cyber security series Application Security
OWASP Mobile Top 10 Deep-Dive
WHAT IS APP SECURITY – THE COMPLETE PROCESS AND THE TOOLS & TESTS TO RUN IT
Mobile Apps Security Testing -1
Web and Mobile Application Security
Security testing in mobile applications
Introduction to Application Security Testing

What's hot (20)

PPTX
Secure SDLC in mobile software development.
PPTX
Security testing of mobile applications
PPT
Application Security
PDF
Mobile application security – effective methodology, efficient testing! hem...
PDF
Mobile App Hacking In A Nutshell
PDF
Intrusion Detection Systems By Anamoly-Based Using Neural Network
PPTX
Penetrating Android Aapplications
PPTX
Tony Hodgson (Brainwaive LLC): Enterprise AR Cyber Security – Breaking Down B...
PPT
Application Security
PPTX
Application security
PDF
OWASP Thailand-Beyond the Penetration Testing
PDF
Security Testing Mobile Applications
PPT
Mobile Application Security – Effective methodology, efficient testing!
PDF
Application Security Risk Assessment
PDF
Gloriolesoft Consulting Security and Privacy Offering
PDF
Jump-Start The MASVS
PPT
Web Application Security Testing
PPTX
Penetration testing reporting and methodology
PDF
Mobile Application Security
PDF
5 Important Secure Coding Practices
Secure SDLC in mobile software development.
Security testing of mobile applications
Application Security
Mobile application security – effective methodology, efficient testing! hem...
Mobile App Hacking In A Nutshell
Intrusion Detection Systems By Anamoly-Based Using Neural Network
Penetrating Android Aapplications
Tony Hodgson (Brainwaive LLC): Enterprise AR Cyber Security – Breaking Down B...
Application Security
Application security
OWASP Thailand-Beyond the Penetration Testing
Security Testing Mobile Applications
Mobile Application Security – Effective methodology, efficient testing!
Application Security Risk Assessment
Gloriolesoft Consulting Security and Privacy Offering
Jump-Start The MASVS
Web Application Security Testing
Penetration testing reporting and methodology
Mobile Application Security
5 Important Secure Coding Practices
Ad

Similar to Droidcon mobile security (20)

PDF
All You Need to Know About Application Security Testing.pdf
PDF
Penetration Testing Services_ Comprehensive Guide 2024.pdf
PPTX
Top 10 Mobile Hacking Tools – 2025 Edition
PPTX
Android pentesting
PDF
Top Mobile Application Penetration Testing Tools for Android and iOS.pdf
PDF
Malware Bytes – Advanced Fault Analysis
PPTX
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
PDF
Why Mobile App Penetration Testing Matters.pdf
PDF
Tips To Protect Your Mobile App from Hackers.pdf
PPTX
Untitled 1
PDF
Understanding Mobile App Security Testing_ What It Is and How to Perform It.pdf
PPTX
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
PDF
Understanding Mobile App Security Testing_ What It Is and How to Perform It.pdf
PDF
Mobile Banking Security: Challenges, Solutions
PPTX
FALCON.pptx
PDF
MACHINE LEARNING APPROACH TO LEARN AND DETECT MALWARE IN ANDROID
PDF
Blackhat Europe 2009 - Detecting Certified Pre Owned Software
PPTX
apidays New York 2025 - Why an SDK is Needed to Protect APIs from Mobile Apps...
ODP
Mobile App Security Testing -2
PDF
Ownux Global June 2023
All You Need to Know About Application Security Testing.pdf
Penetration Testing Services_ Comprehensive Guide 2024.pdf
Top 10 Mobile Hacking Tools – 2025 Edition
Android pentesting
Top Mobile Application Penetration Testing Tools for Android and iOS.pdf
Malware Bytes – Advanced Fault Analysis
Top 10 Software to Detect & Prevent Security Vulnerabilities from BlackHat US...
Why Mobile App Penetration Testing Matters.pdf
Tips To Protect Your Mobile App from Hackers.pdf
Untitled 1
Understanding Mobile App Security Testing_ What It Is and How to Perform It.pdf
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
Understanding Mobile App Security Testing_ What It Is and How to Perform It.pdf
Mobile Banking Security: Challenges, Solutions
FALCON.pptx
MACHINE LEARNING APPROACH TO LEARN AND DETECT MALWARE IN ANDROID
Blackhat Europe 2009 - Detecting Certified Pre Owned Software
apidays New York 2025 - Why an SDK is Needed to Protect APIs from Mobile Apps...
Mobile App Security Testing -2
Ownux Global June 2023
Ad

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Big Data Technologies - Introduction.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Encapsulation theory and applications.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPT
Teaching material agriculture food technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
Approach and Philosophy of On baking technology
Unlocking AI with Model Context Protocol (MCP)
Big Data Technologies - Introduction.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Chapter 3 Spatial Domain Image Processing.pdf
Electronic commerce courselecture one. Pdf
Review of recent advances in non-invasive hemoglobin estimation
Spectral efficient network and resource selection model in 5G networks
20250228 LYD VKU AI Blended-Learning.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
MYSQL Presentation for SQL database connectivity
Building Integrated photovoltaic BIPV_UPV.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Digital-Transformation-Roadmap-for-Companies.pptx
Encapsulation_ Review paper, used for researhc scholars
Encapsulation theory and applications.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Teaching material agriculture food technology
Advanced methodologies resolving dimensionality complications for autism neur...

Droidcon mobile security

  • 2. Whoami Role: Senior QA engineer ScanGroup Interests: Appsec as whole( i love code) Twitter: @Judy_infosec Co-founder : @WistSecurity Kenya
  • 3. Whoami Role: Security Analyst Interests: Mobile Security and Network Security Monitoring Projects: https://github.com/xtiankisutsa/swaraVM Twitter: @PurpleR0b0t Affiliate : Africa Hackon
  • 4. Importance of Mobile Application Security ▪ To ensure mobile applications are developed with security in mind. Can you imagine being a developer who not only knows how to develop mobile applications but understands and knows how to secure mobile applications? ▪ To be able to spot a malicious application ▪ To ensure you comply with mobile security standards e.g. OWASP ▪ To ensure the user’s data is secured and confidentiality is maintained
  • 5. Importance of Mobile Application Security ▪ To protect the application and the service from malicious attackers ▪ To be able to build well secured mobile applications.
  • 6. Penetration testing...what is pentesting? What is penetration testing- A penetration test is the act of discovering security weaknesses or vulnerabilities in a system before they are discovered by an attacker . A pentest is comprehensive in ways where you conduct every bit of a security test known to man: what do i mean 1. Vulnerability detection 2. Penetration attempt (very comprehensive) 3. Analysis and reporting
  • 7. Types of Analysis ● Static Analysis Static analysis is performed in a non-runtime environment. Typically a static analysis tool will inspect program code for all possible runtime behaviors and seek out coding flaws, back doors, and potentially malicious code.
  • 8. Types of Analysis ● Dynamic Analysis Dynamic analysis entails executing the application, typically in an instrumented or monitored manner, to garner more concrete information on its behavior. This often entails tasks like ascertaining artifacts the application leaves on the file system, observing network traffic, monitoring process behavior...basically all things that occur during execution.
  • 9. Android Application Security Assessment Methodology The methodology we use encompasses the Open Web Application Security Project (OWASP) Mobile Testing guide (including the OWASP Mobile Top 10 2016-Top 10). Our approach leverages on proprietary open source and bespoke tools using a consistent and repeatable process. Some of the tools that are used for testing android applications are; ▪ MARA Framework ▪ MobSF ▪ Xposed Framework ▪ Frida ▪ Burpsuite ▪ Alternatively you can install Swara VM or santoku that has all tools
  • 10. What Next? ➔ Reverse Engineering Reverse Engineering is taking something apart to see how it works. Why Reverse Engineer Mobile Applications? • Taking something apart to understand how it works. • To understand how it works • To determine how secure it was built (security assessment) • To determine interoperability • You get paid to break into them (mobile app pentester) • To identify vulnerabilities :)
  • 11. Reverse Engineering 1. De-compilation The Android APK bundle contains the application binary which is compiled in the dex file format for the Dalvik virtual machine. The purpose of de-compilation is to gain access to the pseudo source code for manual review. This can be achieved using the MARA Framework.
  • 12. Reverse Engineering 2. De-obfuscation (Where appropriate) Obfuscation is a technique in which initial code of application is intentionally made to be unclear to humans. Where the source code for the mobile application binary has been obfuscated, we will attempt to de-obfuscate. This can be done using MARA Framework which makes use of a tool called apk-deguard that attempts to reverse the process of obfuscation performed by Android obfuscation tools.
  • 13. Reverse Engineering ▪ Rename Obfuscation Renaming alters the name of methods and variables. It makes the decompiled source harder for a human to understand.
  • 14. Static Analysis 1. Code Review Manual static code analysis is conducted on source code (if available), or on partial/pseudo source where code has been decompiled, to identify security issues. Automated Static Analysis can be performed using tools such as the Mobile Security Framework (MobSF), an all-in-one mobile application (Android/iOS/Windows) pen-testing framework capable of performing static, dynamic and malware analysis and Appknox, a mobile app security testing solution to detect and fix vulnerabilities in mobile apps using a combination of automated and manual tests.
  • 15. Dynamic Analysis 1. Function Hooking When source code is not accessible or limited, function hooking provides another method to analyse the mobile application for security vulnerabilities. This is typically achieved using tools such as the XposedFramework which record and can be used to modify API calls made by an application, including function calls, arguments and return values
  • 16. Dynamic Analysis 2. Run-time debugging Android applications that are flagged as debuggable not only pose a security concern but can also be leveraged to better analyse the mobile application. Using debug tools such as Android Debug Bridge (adb) to attach to the mobile application running process, you can be able to analyse the mobile applications behaviour, and conduct in- memory manipulation.
  • 17. Data at Rest Analysis A thorough review of the device file system is conducted to identify any sensitive residual data that may be exposed following normal use of the mobile app. This includes analysing caches and persistent app stores for sensitive data. Examples of places to look are, Shared Preferences and the SQlite Databases.
  • 18. Data in Transit Analysis During normal use of the mobile app, all communication methods are analysed to identify sensitive data in transit that should be encrypted, and to assess the strength of encryption, if in use. This can be achieved using proxy tools such as Burp Suite that lets you intercept, inspect and modify the raw traffic passing in both directions (communication between the client and the server).
  • 19. DEMO Reverse engineering using MARA Framework. HAPPY HACKING!