Android+Pentesting+101
Android+Pentesting+101
COURSE
Structure of the course
Penetration Testing
Basic Android Concepts
Static Analysis
Dynamic analysis
CHAPTER-1
Exploitation
STEP3 STEP4
Escalation
Covering tracks
STEP5 STEP6
Reporting
CHAPTER-1
Recon/Info
Gathering
REPORTING STATIC
ANALYSIS
DYNAMIC
ANALYSIS
CHAPTER-2
ANDROID
ARCHITECTURE
Platform libraries
The Platform Libraries includes various C/C++ core libraries and Java
based libraries such as Media, Graphics, Surface Manager, OpenGL
etc. to provide a support for android development.
Application RunTime
Android Runtime environment is one of the most important parts of
Android. It contains components like core libraries and the Dalvik
virtual machine(DVM). Mainly, it provides the base for the application
framework and powers our application with the help of the core
libraries.
BASIC ANDROID CONCEPTS
CHAPTER-2
APPLICATION FRAMEWORK
Application Framework provides several important classes which are
used to create an Android application. It provides a generic abstraction
for hardware access and also helps in managing the user interface with
application resources. Generally, it provides the services with the help
of which we can create a particular class and make that class helpful
for the Applications creation.
Applications
Applications are the top layer of the android architecture. The pre-
installed applications like home, contacts, camera, gallery, etc, and
third-party applications downloaded from the play store like chat
applications, games, etc. will be installed on this layer only.
ACTIVITIES
Activities are said to be the presentation layer of our applications. The UI of our application is built
around one or more extensions of the Activity class. By using Fragments and Views, activities set
the layout and display the output and also respond to the user’s actions.
SERVICES
Services are like invisible workers of our app. These components run at the backend, updating
your data sources and Activities, triggering Notification, and also broadcast Intents. They also
perform some tasks when applications are not active.
CONTENT PROVIDERS
It is used to manage and persist the application data also typically interacts with the SQL
database. They are also responsible for sharing the data beyond the application boundaries. The
Content Providers of a particular application can be configured to allow access from other
applications, and the Content Providers exposed by other applications can also be configured.
BROADCAST RECEIVERS
They are known to be intent listeners as they enable your application to listen to the Intents that
satisfy the matching criteria specified by us. Broadcast Receivers make our application react to
any received Intent thereby making them perfect for creating event-driven applications.
STATIC ANALYSIS
CHAPTER-3
STATIC ANALYSIS
CHAPTER-3
https://github.com/skylot/jadx/releases/tag/v1.3.1
https://github.com/charles2gan/GDA-android-
reversing-Tool/releases
https://www.pnfsoftware.com/jeb/community-
edition
STATIC ANALYSIS
CHAPTER-3
STATIC ANALYSIS
CHAPTER-3
https://mobsf.github.io/docs/#/
STATIC ANALYSIS
CHAPTER-3
STATIC ANALYSIS
CHAPTER-4
DYNAMIC ANALYSIS
CHAPTER-4
BURPSUITE+GENYMOTION
DYNAMIC ANALYSIS
CHAPTER-4
DYNAMIC ANALYSIS
CHAPTER-4
DYNAMIC ANALYSIS
CHAPTER-4
DYNAMIC ANALYSIS
CHAPTER-4
DYNAMIC ANALYSIS
CHAPTER-5