Objection Tutorial
Last updated
Last updated
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!
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.
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.
Vir hierdie tutorial gaan ek die APK gebruik wat jy hier kan aflaai:
Of van sy oorspronklike repository(aflaai app-release.apk)
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:
Nie alle moontlike opdragte van objections gaan in hierdie tutoriaal gelys word nie, net diegene wat ek meer nuttig gevind het.
Sommige interessante inligting (soos wagwoorde of paaie) kan binne die omgewing gevind word.
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.
Frida sal 'n fout bekendstel as daar geen gevind word nie
Kom ons begin soek na klasse binne ons aansoek
Nou laat ons die metodes binne die klas MainActivity: onttrek.
Kom ons uitvind watter parameters die metodes van die klas benodig:
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.
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):
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.
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:
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.
Jy kan met die keystore en intents speel deur:
Aan die onderkant van die lys kan jy frida sien:
Kom ons kyk wat frida uitvoer:
Jy kan ook binne geheue soek en skryf met objection:
Jy kan die opdrag sqlite
gebruik om met sqlite databasisse te kommunikeer.
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)