android-app-pentesting

Tests Android APK security through static analysis, Frida dynamic hooking, and component auditing.

1.7k|238|Updated Dec 7, 2019
One-click install
npx skills add https://github.com/wgpsec/AboutSecurity --skill android-app-pentesting
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-app-pentesting
Source: https://github.com/wgpsec/AboutSecurity/tree/main/skills/mobile/android-app-pentesting
Command: npx skills add https://github.com/wgpsec/AboutSecurity --skill android-app-pentesting

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Android application security assessments require coordinating many tools and techniques across static analysis, dynamic instrumentation, component testing, and protection bypass, and this Skill provides a structured phase-by-phase methodology so nothing in the attack surface is missed.

Core Features & Use Cases

  • APK Static Analysis: Decompile with jadx/apktool, audit AndroidManifest.xml for exported components and insecure flags, and extract hardcoded secrets, URLs, and Firebase endpoints.
  • Dynamic Analysis with Frida: Hook runtime behavior, bypass SSL pinning and root detection, dump memory for sensitive data, and intercept InMemoryDexClassLoader payloads.
  • Component & Storage Security Testing: Enumerate and exploit exported Activities, Content Providers, Services, and Broadcast Receivers with Drozer, and audit SharedPreferences, SQLite databases, and WebView configurations.
  • Use Case: Given a target APK, follow the workflow to extract it from a device, identify an exported Activity that bypasses authentication, bypass SSL pinning to intercept API traffic in Burp, and document the findings.

Quick Start

Analyze the attached target.apk for security vulnerabilities, starting with Manifest auditing and hardcoded secret extraction, then outline the dynamic testing plan.

Frequently Asked Questions about android-app-pentesting

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I bypass SSL pinning on Android apps?

SSL pinning bypass works via apk-mitm for repackaging without root, objection's android sslpinning disable command, or custom Frida scripts hooking OkHttp CertificatePinner and TrustManagerImpl. For Flutter apps, use reFlutter since Dart handles TLS independently.

How to decompile and analyze an APK file?

Use jadx to decompile the APK into readable Java source for code auditing, or apktool to decode into Smali for modification and repackaging. Then grep the output for hardcoded passwords, API keys, Firebase URLs, and AWS credentials.

What tools are used for Android app penetration testing?

Core tools include adb for device interaction, jadx and apktool for static analysis, Frida and objection for runtime hooking, Drozer for component testing, Burp Suite for traffic interception, and MobSF for automated static plus dynamic analysis.

Does Android traffic interception work without root?

Yes, if the app targets SDK below 24 it trusts user-installed CAs by default, so a WiFi proxy to Burp works directly. For targetSdkVersion 24 and above, modify the network security config and repackage, or use apk-mitm without root.

Why does Frida get detected by Android apps?

Apps detect Frida through its default port 27042, frida-agent strings in /proc/self/maps, D-Bus protocol fingerprints, and ptrace usage. Countermeasures include changing the listen port, using linjector for ptrace-free injection, or embedding Frida Gadget.

How do I test exported Android components for vulnerabilities?

Use Drozer to enumerate exported Activities, Services, Providers, and Receivers via app.package.attacksurface, then launch Activities directly to test authentication bypass, query Providers for SQL injection, and fuzz Broadcast Receivers with crafted Intents.