Frida Tutorial
Frida Tutoriaal
Bug bounty wenk: teken aan vir Intigriti, 'n premium bug bounty platform geskep deur hackers, vir hackers! Sluit vandag by ons aan by https://go.intigriti.com/hacktricks, en begin om belonings tot $100,000 te verdien!
Installasie
Installeer frida-gereedskap:
Laai af en installeer die frida-bediener in die Android-toestel (Laai die nuutste vrystelling af). Eenreël om adb in root-modus te herlaai, daarmee te verbind, frida-server op te laai, uitvoeringsregte te gee en dit agtergrond te laat loop:
Kyk of dit werk:
Tutoriale
Vanaf: https://medium.com/infosec-adventures/introduction-to-frida-5a3f51595ca1 APK: https://github.com/t0thkr1s/frida-demo/releases Bronkode: https://github.com/t0thkr1s/frida-demo
Volg die skakel om dit te lees.
Vanaf: https://11x256.github.io/Frida-hooking-android-part-2/ (Dele 2, 3 & 4) APK's en Bronkode: https://github.com/11x256/frida-android-examples
Volg die skakel om dit te lees.
Vanaf: https://joshspicer.com/android-frida-1 APK: https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/Android/Level_01/UnCrackable-Level1.apk
Volg die skakel om dit te lees.
Jy kan meer Awesome Frida-skripte hier vind: https://codeshare.frida.re/
Vinnige Voorbeelde
Frida vanaf die opdraglyn aanroep
Basiese Python-skrips
Hierdie is 'n basiese Python-skrips wat gebruik kan word met die Frida-raamwerk vir Android-app-pentesting.
Die skrips maak gebruik van die frida
-biblioteek om met die toestel te kommunikeer en die toepassing te ondersoek.
Die skrips begin deur die toestel te kry wat aan die rekenaar gekoppel is deur die frida.get_usb_device()
-funksie te gebruik.
Dan word die voorste toepassing op die toestel gekry deur die device.get_frontmost_application()
-funksie te gebruik. Die proses-ID (pid) van die toepassing word ook verkry.
'n Sessie word geheg aan die toepassing deur die device.attach(pid)
-funksie te gebruik.
'n Skrips word geskep deur die session.create_script()
-funksie te gebruik. Die skrips bevat 'n eenvoudige drukopdrag wat die boodskap "Hello, world!" na die konsole stuur.
Die skrips word gelaai deur die script.load()
-funksie te gebruik.
Uiteindelik word die sessie losgemaak deur die session.detach()
-funksie te gebruik.
Hooking funksies sonder parameters
Haak die funksie a()
van die klas sg.vantagepoint.a.c
Frida - Handleiding
Hier is een korte handleiding over het gebruik van Frida om de exit()
-methode in Java te hooken.
Stap 1: Installatie
Installeer Frida op uw apparaat. U kunt de Frida-instructies volgen op de officiële website van Frida.
Stap 2: Voorbereiding
Zorg ervoor dat u de benodigde bestanden en hulpmiddelen heeft:
De APK van de app die u wilt pentesten.
Een Android-apparaat of emulator.
Een teksteditor om het Frida-script te maken.
Stap 3: Frida-script maken
Maak een nieuw bestand met de extensie .js
en voeg de volgende code toe:
Stap 4: Frida-script uitvoeren
Voer het Frida-script uit met behulp van de volgende opdracht:
Vervang <app_package_name>
door de naam van het pakket van de app die u wilt pentesten.
Stap 5: Testen
Start de app op uw apparaat of emulator en voer de actie uit die de exit()
-methode aanroept. U zou een bericht moeten zien in de console waarin staat dat exit()
wordt aangeroepen.
Conclusie
Met behulp van Frida kunt u de exit()
-methode in Java hooken en controleren wanneer deze wordt aangeroepen. Dit kan handig zijn bij het pentesten van Android-apps om verdachte of ongewenste gedragingen te identificeren.
Frida Tutorial: Hook MainActivity .onStart()
& .onCreate()
.onStart()
& .onCreate()
In hierdie tutoriaal sal ons leer hoe om die .onStart()
en .onCreate()
metodes van die MainActivity
klas in 'n Android-toepassing te hak.
Stap 1: Verstaan die doel
Die .onStart()
en .onCreate()
metodes word opgeroep wanneer 'n aktiwiteit in Android begin en geskep word. Deur hierdie metodes te hak, kan ons die uitvoering van die toepassing beïnvloed en insette of uitsette manipuleer.
Stap 2: Installeer Frida
Om te begin, moet ons Frida op ons toestel installeer. Volg die instruksies in die Frida-dokumentasie om dit te doen.
Stap 3: Skryf die skripsie
Ons sal 'n eenvoudige Frida-skripsie skryf om die .onStart()
en .onCreate()
metodes te hak. Hier is die skripsie:
Stap 4: Voer die skripsie uit
Om die skripsie uit te voer, moet ons Frida gebruik om dit aan die toepassing te heg. Voer die volgende opdrag in die opdraglyn in:
Vervang <pad_na_skripsie.js>
met die pad na jou skripsie-lêer en <pakket_naam>
met die naam van die toepassing se pakkie.
Stap 5: Monitor die uitset
Nou kan ons die toepassing uitvoer en die uitset monitor om te sien of die .onStart()
en .onCreate()
metodes gehak word. As alles reg verloop, sal ons die gehakte boodskappe in die uitset sien.
Stap 6: Manipuleer die toepassing
Met die .onStart()
en .onCreate()
metodes gehak, kan ons nou die toepassing manipuleer deur insette te verander of uitsette te onderskep. Hierdie tegniek kan gebruik word om sekuriteitslekke te identifiseer en te misbruik.
Stap 7: Opruiming
As jy klaar is met die hak van die toepassing, kan jy die Frida-skripsie verwyder en die oorspronklike toestand van die toepassing herstel.
Slotwoord
Met behulp van Frida kan ons die .onStart()
en .onCreate()
metodes van die MainActivity
klas in 'n Android-toepassing hak. Hierdie tegniek stel ons in staat om die toepassing te manipuleer en sekuriteitslekke te identifiseer. Onthou egter dat die gebruik van hierdie tegniek slegs toegelaat word in wettige en etiese pentesting-scenarios.
Frida Tutorial: Hook android .onCreate()
.onCreate()
In hierdie tutoriaal sal ons leer hoe om die .onCreate()
-metode in 'n Android-toepassing te hook met behulp van Frida. Hierdie metode word aangeroep wanneer 'n aktiwiteit in die toepassing geskep word.
Vereistes
Om hierdie tutoriaal te volg, moet jy die volgende hê:
'n Android-toestel of 'n virtuele masjien met 'n geïnstalleerde Android-emulator.
Die Frida-framework geïnstalleer op jou toestel of emulator.
Stap 1: Verbind met die toestel
Verbind met jou toestel of emulator deur die volgende opdrag in die opdraglyn uit te voer:
Hierdie opdrag sal 'n lys van aktiewe prosesse op die toestel vertoon.
Stap 2: Kies die toepassing
Kies die toepassing waarin jy die .onCreate()
-metode wil hook deur die volgende opdrag uit te voer:
Hierdie opdrag sal 'n lys van alle toepassings op die toestel vertoon, saam met hul proses-ID's.
Stap 3: Skryf die hook-skripsie
Skep 'n nuwe tekslêer en skryf die volgende skripsie:
Hierdie skripsie gebruik die Java.perform()
-funksie om toegang tot die Java-omgewing te verkry. Dit gebruik dan die Java.use()
-funksie om die Activity
-klas te kry en die .onCreate()
-metode te hook. Die gehookte metode skryf eenvoudig 'onCreate() is gehook!' na die konsole en roep dan die oorspronklike metode aan.
Stap 4: Voer die skripsie uit
Voer die volgende opdrag in die opdraglyn uit om die skripsie uit te voer:
Vervang <pad_na_skripsie>
met die pad na die skripsie-lêer wat jy in stap 3 geskep het, en <pakket_naam>
met die naam van die toepassing wat jy in stap 2 gekies het.
Stap 5: Toets die hook
Voer die toepassing uit op jou toestel of emulator en kyk na die konsole-uitset. As alles korrek gehook is, moet jy die boodskap 'onCreate() is gehook!' sien.
Dit is hoe jy die .onCreate()
-metode in 'n Android-toepassing kan hook met behulp van Frida. Hierdie tegniek kan gebruik word om die uitvoering van die metode te monitor of te verander vir pentesting-doeleindes.
Haak funksies met parameters en haal die waarde terug
Haak 'n dekripsie-funksie. Druk die inset uit, roep die oorspronklike funksie aan om die inset te dekripteer en druk uiteindelik die ongekripteerde data af:
Hierdie kode haak die decrypt
-funksie in die com.example.app.Encryption
-klas. Dit druk die insetwaarde af, roep die oorspronklike decrypt
-funksie aan om die inset te dekripteer en druk die ongekripteerde data af.
Hooking funksies en om hulle te roep met ons insette
Haak 'n funksie wat 'n string ontvang en roep dit met 'n ander string (van hier)
Kry 'n reeds geskep objek van 'n klas
As jy 'n eienskap van 'n geskep objek wil onttrek, kan jy dit gebruik.
In hierdie voorbeeld sal jy sien hoe om die objek van die klas my_activity te kry en hoe om die funksie .secret() aan te roep wat 'n private eienskap van die objek sal druk:
Ander Frida-tutoriale
Bug bounty wenk: teken aan vir Intigriti, 'n premium bug bounty platform geskep deur hackers, vir hackers! Sluit vandag by ons aan by https://go.intigriti.com/hacktricks, en begin om belonings tot $100,000 te verdien!
Last updated