Tuesday, March 19, 2024

Android Application Penetration Testing – Part 1

Android security testing is more often used by security industries to test the vulnerabilities in Android applications.

After web applications, the more concern area is mobile application penetration test Let’s start with some basics.

Also, we recommend you take the best Android Hacking and Penetration Testing Course online to enhance your Android hacking skills.

The basic architecture for Android device

Linux kernel

For hardware, we always required drivers as software so that that hardware can smoothly work.

We choose the Linux kernel because it has Security features like

  • A user-based permissions model
  • Process isolation
  • The extensible mechanism for secure IPC
  • The ability to remove unnecessary and potentially insecure parts of the kernel

The hardware Abstraction Layer just gives Applications direct access to the Hardware resources.

Bluetooth, audio, and radio are examples

Android Application Penetration Testing

On top of the Hardware Abstraction Layer sits a layer that contains some of the most important and

Useful libraries are as follows:

  • Surface Manager: This manages the windows and screens
  • Media Framework: This allows the use of various types of codecs for the playback and recording of different media
  • SQLite: This is a lighter version of SQL used for database management
  • WebKit: This is the browser rendering engine
  • OpenGL: This is used to render 2D and 3D contents on the screen properly the libraries in Android are written in C and C++

Dalvik Virtual Machine which is specifically designed by Android Open Source Project to execute applications written for Android. Each app running on the Android Device has its own Dalvik Virtual Machine.

Android Runtime (ART) is an alternative to Dalvik Virtual Machine which has been released with Android 4.4 as an experimental release, in Android Lollipop (5.0) it will completely replace Dalvik Virtual Machine.

A major change in ART is because of the ahead-of-time (AOT) Compilation and Garbage Collection.

In Ahead-of-time(AOT) Compilation, Android apps will be compiled when a

In Ahead-of-time(AOT) Compilation, Android apps will be compiled when a user installs them on their device whereas in the Dalvik used Just-in-time(JIT) compilation in which bytecode is compiled when the user runs the app.

Moving to the last one, these are common. From Android Version 4.4, there is also the availability of another runtime called Android Runtime (ART), and the user is free to switch between the DVM and the ART Runtime environments

Application Framework

The Application Framework layer provides many higher-level services to applications in the form of Java classes.

Application developers are allowed to make use of these services in their applications.

Android Application Penetration Testing

The Android framework includes the following key services

Activity Manager– application lifecycle and stack are controlled by the activity manager

Content Provider

The content provider component supplies data from one application to others on request.

You can store the data in the file system, an SQLite database, on the web, or any other persistent storage location your app can access.

Through the content provider, other apps can query or even modify the data (if the content provider allows it).

Content Provider is useful in cases when an app wants to share data with another app.

Resource Manager – Provides access to non-code embedded resources such as strings, color settings, and user interface layouts.

Notifications Manager – Allows applications to display alerts and notifications to the user.

View System – An extensible set of views used to create application user interfaces.

Package Manager – The system by which applications are able to find out information about other applications currently installed on the device.

Telephony Manager – Provides information to the application about the telephony services available on the device such as status and subscriber information.

Location Manager – Provides access to the location services allowing an application to receive updates about location changes.

Applications

Located at the top of the Android software stack are the applications.

These comprise both the native applications provided with the particular Android implementation (for example web browser and email applications) and the third-party applications installed by the user after purchasing the device.

Typical applications include Camera, Alarm, Clock, Calculator, Contacts, Calendar, Media Player, and so forth.

Website

Latest articles

Beware Of Free wedding Invite WhatsApp Scam That Steal Sensitive Data

The ongoing "free wedding invite" scam is one of several innovative campaigns aimed at...

Hackers Using Weaponized SVG Files in Cyber Attacks

Cybercriminals have repurposed Scalable Vector Graphics (SVG) files to deliver malware, a technique that...

New Acoustic Keyboard Side Channel Attack Let Attackers Steal Sensitive Data

In recent years, personal data security has surged in importance due to digital device...

Discontinued WordPress Plugin Flaw Exposes Websites to Cyber Attacks

A critical vulnerability was discovered in two plugins developed by miniOrange.The affected plugins,...

ShadowSyndicate Hackers Exploiting Aiohttp Vulnerability To Access Sensitive Data

A new Aiohttp vulnerability has been discovered, which the threat actor ShadowSyndicate exploits.Aiohttp...

Hackers Launching AI-Powered Cyber Attacks to Steal Billions

INTERPOL's latest assessment on global financial fraud uncovers the sophisticated evolution of cybercrime, fueled...

Fujitsu Hacked – Attackers Infected The Company Computers with Malware

Fujitsu Limited announced the discovery of malware on several of its operational computers, raising...

Mitigating Vulnerability Types & 0-day Threats

Mitigating Vulnerability & 0-day Threats

Alert Fatigue that helps no one as security teams need to triage 100s of vulnerabilities.

  • The problem of vulnerability fatigue today
  • Difference between CVSS-specific vulnerability vs risk-based vulnerability
  • Evaluating vulnerabilities based on the business impact/risk
  • Automation to reduce alert fatigue and enhance security posture significantly

Related Articles