Objection Tutorial
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Bug bounty wenk: meld aan by Intigriti, 'n premium bug bounty platform geskep deur hackers, vir hackers! Sluit by ons aan by https://go.intigriti.com/hacktricks vandag, en begin verdien bounties tot $100,000!
Inleiding
objection - Runtime Mobile Exploration
Objection is 'n runtime mobiele verkenning toolkit, aangedryf deur Frida. Dit is gebou met die doel om mobiele toepassings en hul sekuriteitsposisie te evalueer sonder die behoefte aan 'n jailbreak of ge-root mobiele toestel.
Nota: Dit is nie 'n vorm van jailbreak / root omseiling nie. Deur objection
te gebruik, is jy steeds beperk deur al die beperkings wat deur die toepaslike sandbox opgelê word.
Samevatting
Die doel van objection is om die gebruiker toe te laat om die hoofd aksies wat Frida bied aan te roep. Andersins, sal die gebruiker 'n enkele skrip vir elke toepassing wat hy wil toets, moet skep.
Tutorial
Vir hierdie tutorial gaan ek die APK gebruik wat jy hier kan aflaai:
Of van sy oorspronklike repository(aflaai app-release.apk)
Installasie
Verbinding
Maak 'n gewone ADB-verbinding en begin die frida bediener op die toestel (en kontroleer dat frida werk op beide die kliënt en die bediener).
As jy 'n ge-root toestel gebruik, is dit nodig om die toepassing te kies wat jy binne die --gadget opsie wil toets. in hierdie geval:
Basic Actions
Nie alle moontlike opdragte van objections gaan in hierdie tutoriaal gelys word nie, net diegene wat ek meer nuttig gevind het.
Environment
Sommige interessante inligting (soos wagwoorde of paaie) kan binne die omgewing gevind word.
Frida Inligting
Laai op/Laai af
Importeer frida-skrip
SSLPinning
Wortelopsporing
Exec Command
Skermskote
Statiese analise gemaak Dinamies
In 'n werklike toepassing moet ons al die inligting wat in hierdie deel ontdek is, ken voordat ons objection gebruik, danksy statiese analise. Hoe dit ook al sy, 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 toepassing kan kry nie.
Lys aktiwiteite, ontvangers en dienste
Frida sal 'n fout bekendstel as daar geen gevind word nie
Verkry huidige aktiwiteit
Soek Klasse
Kom ons begin soek na klasse binne ons aansoek
Soekmetodes van 'n klas
Nou laat ons die metodes binne die klas MainActivity: onttrek.
Lys van verklaarde Metodes van 'n klas met hul parameters
Kom ons uitvind watter parameters die metodes van die klas benodig:
Lys klasse
Jy kan ook al die klasse lys wat in die huidige aansoek gelaai is:
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
Hooking (kyk) na 'n metode
Uit die bronkode van die toepassing weet ons dat die funksie sum() van MainActivity elke tweede keer uitgevoer word. Kom ons probeer om alle moontlike inligting te dump elke keer as die funksie aangeroep word (argumente, terugkeerwaarde en terugsporing):
Hooking (kyk) 'n hele klas
Eintlik vind ek al die metodes van die klas MainActivity regtig interessant, kom ons hook hulle almal. Wees versigtig, dit kan 'n toepassing crash.
If you play with the application while the class is hooked you will see when elke funksie aangeroep word, its argumente and the terug waarde.
Verander boolean terugwaarde van 'n funksie
From the source code you can see that the function checkPin gets a String as argument and returns a boolean. Laat ons die funksie altyd true teruggee:
Now, If you write anything in the text box for the PIN code you will see tat anything is valid:
Klas instansies
Search for and print lewende instansies van 'n spesifieke Java klas, specified by a fully qualified class name. Out is the result of an attempt at getting a string value for a discovered objection which would typically bevat eiendom waardes vir die objek.
Keystore/Intents
Jy kan met die keystore en intents speel deur:
Geheue
Dump
Lys
Aan die onderkant van die lys kan jy frida sien:
Kom ons kyk wat frida uitvoer:
Soek/Skryf
Jy kan ook binne geheue soek en skryf met objection:
SQLite
Jy kan die opdrag sqlite
gebruik om met sqlite databasisse te kommunikeer.
Exit
Wat ek mis in Objection
Die hooking metodes laat soms die aansoek crash (dit is ook as gevolg van Frida).
Jy kan nie die instansies van die klasse gebruik om funksies van die instansie aan te roep nie. En jy kan nie nuwe instansies van klasse skep en hulle gebruik om funksies aan te roep nie.
Daar is nie 'n snelkoppeling (soos die een vir sslpinnin) om al die algemene crypto metodes wat deur die aansoek gebruik word te hook nie om gesifde teks, gewone teks, sleutels, IVs en algoritmes wat gebruik word te sien.
Bug bounty wenk: meld 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 bounties tot $100,000 te verdien!
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Last updated