mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/mobile-pentesting/android-app-pentesting/frida-tutorial
This commit is contained in:
parent
7b7454f928
commit
5c15f42b94
@ -12,7 +12,7 @@
|
||||
|
||||
Gebaseer op [https://joshspicer.com/android-frida-1](https://joshspicer.com/android-frida-1)
|
||||
|
||||
**Hook die \_exit()**\_ funksie en **dekripteer funksie** sodat dit die vlag in die frida-konsol druk wanneer jy verifieer druk:
|
||||
**Hook die _exit()**_ funksie en **dekripteer funksie** sodat dit die vlag in die frida-konsol druk wanneer jy verifieer druk:
|
||||
```javascript
|
||||
Java.perform(function () {
|
||||
send("Starting hooks OWASP uncrackable1...")
|
||||
@ -55,7 +55,7 @@ send("Hooks installed.")
|
||||
|
||||
Gebaseer op [https://joshspicer.com/android-frida-1](https://joshspicer.com/android-frida-1)
|
||||
|
||||
**Haal rootchecks** en ontsleutel die funksie sodat dit die vlag in die frida-konsol druk wanneer jy verifieer druk:
|
||||
**Haal rootchecks** en dekripteer funksie sodat dit die vlag in die frida-konsol druk wanneer jy verifieer druk:
|
||||
```javascript
|
||||
Java.perform(function () {
|
||||
send("Starting hooks OWASP uncrackable1...")
|
||||
@ -115,4 +115,54 @@ return false
|
||||
send("Hooks installed.")
|
||||
})
|
||||
```
|
||||
---
|
||||
|
||||
## Oplossing 3 – `frida-trace` (Frida ≥ 16)
|
||||
|
||||
As jy nie handmatig hooks wil skryf nie, kan jy **Frida** laat die Java stubs vir jou genereer en dit dan redigeer:
|
||||
```bash
|
||||
# Spawn the application and automatically trace the Java method we care about
|
||||
aadb shell "am force-stop owasp.mstg.uncrackable1"
|
||||
frida-trace -U -f owasp.mstg.uncrackable1 \
|
||||
-j 'sg.vantagepoint.a.a.a("[B","[B")[B' \
|
||||
-j 'sg.vantagepoint.a.c!*' \
|
||||
--output ./trace
|
||||
|
||||
# The first run will create ./trace/scripts/sg/vantagepoint/a/a/a__B_B_B.js
|
||||
# Edit that file and add the logic that prints the decrypted flag or
|
||||
# returns a constant for the root-checks, then:
|
||||
frida -U -f owasp.mstg.uncrackable1 -l ./trace/_loader.js --no-pause
|
||||
```
|
||||
Met Frida 16+ gebruik die gegenereerde stub reeds die moderne **ES6** sjabloon sintaksis en sal saamgekompileer word met die ingeboude *QuickJS* runtime – jy het nie meer `frida-compile` nodig nie.
|
||||
|
||||
---
|
||||
|
||||
## Oplossing 4 – Een-liner met Objection (2024)
|
||||
|
||||
As jy **Objection >1.12** geïnstalleer het, kan jy die vlag met 'n enkele opdrag dump (Objection verpak Frida intern):
|
||||
```bash
|
||||
objection -g owasp.mstg.uncrackable1 explore \
|
||||
--startup-command "android hooking watch class sg.vantagepoint.a.a method a \n && android hooking set return_value false sg.vantagepoint.a.c * \n && android hooking invoke sg.vantagepoint.a.a a '[B' '[B'"
|
||||
```
|
||||
* `watch class` druk die platte teks wat deur die AES roetine teruggegee word
|
||||
* `set return_value false` dwing elke root / debugger kontrole om *false* te rapporteer
|
||||
* `invoke` laat jou toe om die metode direk aan te roep sonder om **Verify** te druk.
|
||||
|
||||
> LET WEL: Op Android 14 (API 34) moet jy Objection/Frida in *spawn* modus (`-f`) uitvoer omdat *attach* geblokkeer word deur **seccomp-bpf** beperkings wat in Oktober 2024 bekendgestel is.
|
||||
|
||||
---
|
||||
|
||||
## Moderne Android notas (2023 - 2025)
|
||||
|
||||
* **libsu 5.x** en **Zygisk** verberg *su* redelik goed; egter, die Java-gebaseerde kontroles in Vlak 1 faal steeds as die lêer `/system/bin/su` bestaan. Maak seker om **denylist** in te skakel of haak eenvoudig `java.io.File.exists()` met Frida.
|
||||
* Frida 16.1 het 'n kragonderbreking op **Android 12/13** reggestel wat veroorsaak is deur Google se *Scudo* allokator. As jy `Abort message: 'missing SHADOW_OFFSET'` sien, werk Frida op (of gebruik die voorafgeboude 17.0 nagweergawe).
|
||||
* Omdat Play Integrity SafetyNet in 2023 vervang het, roep sommige nuwer toepassings die **com.google.android.gms.tasks.Task** API aan. Vlak 1 doen NIE, maar dieselfde haakstrategie wat hier getoon word werk – haak `com.google.android.gms.safetynet.SafetyNetClient` en gee 'n vervalste *EvaluationType* terug.
|
||||
|
||||
## Verwysings
|
||||
|
||||
* Frida vrylating aankondiging – "Frida 16.0 (2023-04-02): Android 12/13 betroubaarheid regstellings & spawn API oorsig"
|
||||
* Objection 1.12 – "Spawn-slegs modus vir Android 14" (BlackHat USA 2024 praat skyfies)
|
||||
|
||||
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user