11 KiB
Objection Tutoriaal
Leer AWS hakwerk vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien dat jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat Kontroleer die INSKRYWINGSPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek Die PEASS Familie, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou haktruuks deur PRs in te dien by die HackTricks en HackTricks Cloud github repos.
Bugsbounty wenk: teken aan vir Intigriti, 'n premium bugsbounty platform geskep deur hackers, vir hackers! Sluit by ons aan by https://go.intigriti.com/hacktricks vandag, en begin om belonings te verdien tot $100,000!
{% embed url="https://go.intigriti.com/hacktricks" %}
Inleiding
objection - Tydverloop mobiele verkenning
Objection is 'n tydverloop mobiele verkenningstoolkit, aangedryf deur Frida. Dit is gebou met die doel om te help om mobiele aansoeke en hul sekuriteitspostuur te assesseer sonder die behoefte aan 'n gejailbreakte of gewortelde mobiele toestel.
Nota: Dit is nie 'n vorm van jailbreak / wortel omseil nie. Deur objection
te gebruik, is jy steeds beperk deur al die beperkings wat deur die toepaslike sandboks wat jy in die gesig staar, opgelê word.
Hervat
Die doel van objection is om die gebruiker die hoofaksies wat Frida bied, te laat aanroep. Andersins sal die gebruiker 'n enkele skrips vir elke aansoek wat hy wil toets, moet skep.
Tutoriaal
Vir hierdie tutoriaal gaan ek die APK gebruik wat jy hier kan aflaai:
{% file src="../../../.gitbook/assets/app-release.zip" %}
Of vanaf sy oorspronklike bewaarplek (laai app-release.apk af)
Installasie
pip3 install objection
Verbinding
Maak 'n gewone ADB-verbinding en begin die frida-bediener op die toestel (en kontroleer dat frida in beide die klient en die bediener werk).
As jy 'n gerootte toestel gebruik, is dit nodig om die aansoek te kies wat jy binne die --gadget opsie wil toets. in hierdie geval:
frida-ps -Uai
objection --gadget asvid.github.io.fridaapp explore
Basiese Aksies
Nie alle moontlike bevele van besware sal in hierdie handleiding gelys word nie, slegs diegene wat ek meer nuttig gevind het.
Omgewing
Sommige interessante inligting (soos wagwoorde of paaie) kan binne die omgewing gevind word.
env
Frida Inligting
frida
Oplaai/Aflaai
file download <remote path> [<local path>]
file upload <local path> [<remote path>]
Voer frida-skrip in
import <local path frida-script>
SSLPinning
android sslpinning disable #Attempts to disable SSL Pinning on Android devices.
Wortelopsporing
android root disable #Attempts to disable root detection on Android devices.
android root simulate #Attempts to simulate a rooted Android environment.
Uitvoeringsbevel
android shell_exec whoami
Skermskote
android ui screenshot /tmp/screenshot
android ui FLAG_SECURE false #This may enable you to take screenshots using the hardware keys
Statische analise gemaak Dinamies
In 'n werklike toepassing behoort ons al die inligting wat in hierdie deel ontdek is te ken voordat ons objection gebruik danksy statische analise. Hoe dan ook, op hierdie manier kan jy dalk iets nuuts sien aangesien jy hier slegs 'n volledige lys van klasse, metodes en uitgevoerde objekte sal hê.
Dit is ook nuttig as jy op een of ander manier nie 'n leesbare bronkode van die program kan kry nie.
Lys aktiwiteite, ontvangers en dienste
android hooking list activities
android hooking list services
android hooking list receivers
Frida sal 'n fout lewer as daar geen gevind word
Kry huidige aktiwiteit
android hooking get current_activity
Soek Klas
Laten ons begin om vir klasse binne ons aansoek te soek
android hooking search classes asvid.github.io.fridaapp
Soekmetodes van 'n klas
Nou laat ons die metodes binne die klas MainActivity onttrek:
android hooking search methods asvid.github.io.fridaapp MainActivity
Lys gedeclareerde Metodes van 'n klas met hul parameters
Laat ons uitsorteer watter parameters die metodes van die klas benodig:
android hooking list class_methods asvid.github.io.fridaapp.MainActivity
Lys klasse
Jy kan ook al die klasse lys wat gelaai is binne die huidige toepassing:
android hooking list classes #List all loaded classes, As the target application gets usedmore, this command will return more classes.
Dit is baie nuttig as jy die metode van 'n klas wil hook en jy weet net die naam van die klas. Jy kan hierdie funksie gebruik om te soek watter module die klas besit en dan sy metode te hook.
Hooking is maklik
'n Metode hook (kyk)
Van die bronkode van die aansoek weet ons dat die funksie sum() van MainActivity elke sekonde uitgevoer word. Laat ons probeer om alle moontlike inligting elke keer as die funksie aangeroep word te dump (argumente, terugkeerwaarde en terugsporing):
android hooking watch class_method asvid.github.io.fridaapp.MainActivity.sum --dump-args --dump-backtrace --dump-return
Hooking (watching) 'n hele klas
Eintlik vind ek al die metodes van die klas MainActivity regtig interessant, laat ons hulle almal hook. Wees versigtig, dit kan 'n aansoek crash.
android hooking watch class asvid.github.io.fridaapp.MainActivity --dump-args --dump-return
Indien jy speel met die aansoek terwyl die klas gehook is, sal jy sien wanneer elke funksie aangeroep word, sy argumente en die terugkeer waarde.
Verandering van die booleaanse terugkeerwaarde van 'n funksie
Vanuit die bronkode kan jy sien dat die funksie checkPin 'n String as argument kry en 'n boolean teruggee. Laat ons die funksie altyd waar teruggee:
Nou, as jy enigiets in die tekskas vir die PIN-kode skryf, sal jy sien dat enigiets geldig is:
Klasinstansies
Soek na en druk lewende instansies van 'n spesifieke Java-klas uit, gespesifiseer deur 'n ten volle gekwalifiseerde klasnaam. Uit is die resultaat van 'n poging om 'n stringwaarde vir 'n ontdekte beswaar te kry wat tipies eiendomswaardes vir die objek sou bevat.
android heap print_instances <class>
Keystore/Intents
Jy kan speel met die keystore en intents deur:
android keystore list
android intents launch_activity
android intent launch_service
Geheue
Uitleg
memory dump all <local destination> #Dump all memory
memory dump from_base <base_address> <size_to_dump> <local_destination> #Dump a part
Lys
memory list modules
Aan die onderkant van die lys kan jy frida sien:
Laat ons kyk wat frida uitvoer:
Soek/Skryf
Jy kan ook binne die geheue soek en skryf met objection:
memory search "<pattern eg: 41 41 41 ?? 41>" (--string) (--offsets-only)
memory write "<address>" "<pattern eg: 41 41 41 41>" (--string)
SQLite
Jy kan die opdrag sqlite
gebruik om met sqlite-databasisse te interageer.
Uitgang
exit
Wat ek mis in Objection
- Die hooking metodes laat soms die aansoek vasloop (dit is ook as gevolg van Frida).
- Jy kan nie die instansies van die klasse gebruik om funksies van die instansie te roep nie. En jy kan nie nuwe instansies van klasse skep en hulle gebruik om funksies te roep nie.
- Daar is nie 'n snelkoppeling (soos dié vir sslpinnin) om al die algemene kriptografie metodes wat deur die aansoek gebruik word te hook om gesifreerde teks, plat teks, sleutels, IV's en algoritmes wat gebruik word, te sien.
Bug bounty wenk: teken aan vir Intigriti, 'n premium bug bounty platform geskep deur hackers, vir hackers! Sluit by ons aan by https://go.intigriti.com/hacktricks vandag, en begin om belonings tot $100,000 te verdien!
{% embed url="https://go.intigriti.com/hacktricks" %}
Leer AWS hak van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien dat jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat Kyk na die INSKRYWINGSPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek Die PEASS Familie, ons versameling van eksklusiewe NFTs
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github repos.