
Learn Android hacking fundamentals, including architecture, security model, and APK structure; set up a lab, perform dynamic analysis, modify smali code, and intercept traffic despite root detection and pinning.
Explore Android architecture's layered software stack, including the Linux kernel, Android runtime and core libraries, the application framework, hardware abstraction layer, and the applications layer.
Explore the Android runtime (art) and its execution of Dalvik bytecode. Learn how art replaces Dalvik vm, uses jit and aot with profile-guided optimization and cloud profiles.
Explore genymotion, a virtual emulator for mobile devices, with or without VirtualBox, and set up a Google Pixel 3 device with configurable processor, memory, and network settings.
Apktool Installation: https://ibotpeaches.github.io/Apktool/install/
Download FridaLoader apk file from following link:
https://github.com/dineshshetty/FridaLoader/releases
Install ADB in Linux and learn that ADB, the Android Debug Bridge, lets you install and debug apps, access a device shell, and communicate with a connected Android device.
Install jadx on Linux by downloading the release from GitHub, unzip and run the Linux binary; decompile APK files to view Java classes, manifest and resources.
MobSF Github Repository:
https://github.com/MobSF/Mobile-Security-Framework-MobSF
Installation Steps:
https://mobsf.github.io/docs/#/installation
Github Repository: https://github.com/sensepost/objection
Install runtime mobile security on linux using aramis, a frida-based UI, to hook android apps. Learn to install with npm, run the tool, and attach or spawn apps by package.
Install frida tools on Windows using Python package management. Upload the frida server to the Android device after identifying its architecture and downloading the correct binaries from the Frida release.
Install apktool on Windows by downloading the wrapper script and jar, ensure java 8+ compatibility, copy files to Windows directory, update PATH, and run apktool from cmd.
https://developer.android.com/studio/releases/platform-tools
https://github.com/skylot/jadx
MobSF Github Repository:
https://github.com/MobSF/Mobile-Security-Framework-MobSF
Installation Steps:
https://mobsf.github.io/docs/#/installation
Github Repository: https://github.com/sensepost/objection
Install runtime mobile security on Windows by setting up Node.js and npm, installing RMS globally, and launching it at local IP: 5000 to view iOS packages and connect devices.
Decompile the APK with apktool, modify the app logic, repackage and sign the APK with a keystore, then install the modified file on a device.
Download clickme.apk from here:
https://drive.google.com/file/d/1zqPug0383Y4Ey5W71x_rxCMxP70AarCh/view?usp=share_link
Magic Smali Code for Enabling WebView Debugging:
const/4 v2, 0x1
invoke-static {v2}, Landroid/webkit/WebView;->setWebContentsDebuggingEnabled(Z)V
Discover how to intercept mobile app traffic using Burp Suite, configure proxy settings, install certificates, and analyze requests and responses between the app and test sites.
Learn to bypass root detection in android apps using Frida and objection, identify the checks in a vulnerable bank app, and override them for bug bounty pentesting.
Learn to bypass ssl pinning in Android apps using Objection and Frida, understand certificate and public key pinning, and intercept traffic with a mitm proxy to test app security.
Patch an apk on non-rooted devices with objection by detecting architecture, unzipping the apk, ensuring android.permission.INTERNET, and injecting the gadget into the first activity constructor.
Learn to use free code share Frida scripts with objection startup scripts to bypass ssl pinning, spoof locations, and automate tests in android app pentesting.
Explore insecure data storage on Android apps, including escalated db, shared preferences, and Firebase time databases, and learn to identify sensitive data exposure during pentesting.
Explore Android storage options, including internal storage that is containerized and removed upon uninstall, deprecated mode_readable and mode_writable flags, and the risks of external storage and logging sensitive data.
Explore insecure data storage by inspecting how credentials are stored in shared preferences in plaintext within an intentionally vulnerable Android app.
Demonstrates insecure data storage example 3 by saving plaintext credentials to a local file in the app's internal storage, exposing sensitive data.
Explore how hard coding sensitive information like credentials and API keys in an app's source code creates security risks, demonstrated by a vendor secret key check that grants access.
Explore hard coding issues by inspecting a native library via strings and JNI, revealing a string check that grants access when matched.
https://rewanthtammana.com/damn-vulnerable-bank/index.html
https://hackerone.com/reports/583987
https://hackerone.com/reports/637194
https://hackerone.com/reports/401793
https://hackerone.com/reports/351555
https://hackerone.com/reports/258460
https://hackerone.com/reports/44727
https://hackerone.com/reports/55530
https://hackerone.com/reports/855618
Breaking The Facebook For Android Application
https://ash-king.co.uk/blog/facebook-bug-bounty-09-18
Downloading any file via Facebook for Android
https://ash-king.co.uk/blog/downloading-any-file-via-facebook-android
Launching Internal & Non-Exported Deeplinks On Facebook
https://ash-king.co.uk/blog/Launching-internal-non-exported-deeplinks-on-Facebook/
Accidental $70k Google Pixel Lock Screen Bypass
https://bugs.xdavidhu.me/google/2022/11/10/accidental-70k-google-pixel-lock-screen-bypass/
Facebook android vulnerability: Launching internal/tighten deeplink onbehalf of user
https://servicenger.com/mobile/facebook-android-vulnerability-launching-internal-tighten-deeplink-onbehalf-of-user/
Crash Instagram Bug (Android) using U+043E
https://servicenger.com/mobile/crash-instagram-android-using-u043e-unpatched/
Welcome to our course: Android Applications Hacking for Bug Bounty and Pentesting
This course is designed to help you kick-start the journey of android pentesting with right tools and methodology. Information security is the ever-changing field, we bring the latest methodology to setup your own environment and get your hands dirty with the android pentesting.
This course initiates with basics such as Android Architecture, what is Android Run time (ART), Android device Rooting Basics. Towards the intermediate concepts like Reversing Android Apps, Bypassing client side restrictions such as root detection, SSL Pinning etc. This course leverages multiple industry known & open source applications to demonstrate the test cases.
This course will also teaches you how to identify a variety of Android App vulnerabilities such as Insecure Data Storage, Insecure Logging, Weak Root detection, insecure end to end encryption, Access Control issues in REST API etc.
Essentially this course is designed to teach the general approach right from reversing the APK, to understand & identify vulnerabilities, modifying the application logic to run the modified application in the android environment. This course is for all levels. We will take you from beginner to advance level. You will learn step-by-step with hands-on demonstrations.
The highlights of this course are:
Fundamentals of android
Lab Setup in Windows & Linux
Static & Dynamic Analysis
Intercept Traffic using Burpsuite
Root detection bypass
SSL Pinning Bypass
Patching apps using objection
Frida code share & Startup scripts
Reversing & patching applications manually
Smali Understanding
Identifying client side encryption
Real world findings Walkthrough
See you inside the course!