Objection Tutorial
Bug bounty tip: jiandikishe kwa Intigriti, jukwaa la bug bounty la kiwango cha juu lililotengenezwa na hackers, kwa hackers! Jiunge nasi kwenye https://go.intigriti.com/hacktricks leo, na uanze kupata zawadi hadi $100,000!
Utangulizi
objection - Utafiti wa Simu wa Wakati Halisi
Objection ni zana ya utafiti wa simu wa wakati halisi, inayotumiwa na Frida. Ilijengwa kwa lengo la kusaidia kutathmini programu za simu na hali yao ya usalama bila haja ya kifaa cha simu kilichovunjwa au kilichoshikiliwa.
Kumbuka: Hii si aina yoyote ya kukwepa jailbreak / root. Kwa kutumia objection
, bado unakabiliwa na vizuizi vyote vilivyowekwa na sandbox inayofaa unayokutana nayo.
Muhtasari
Lengo la objection ni kumruhusu mtumiaji kuita vitendo vikuu vinavyotolewa na Frida. Vinginevyo, mtumiaji atahitaji kuunda script moja kwa kila programu anayotaka kupima.
Tutorial
Kwa ajili ya tutorial hii nitatumia APK ambayo unaweza kupakua hapa:
Au kutoka kwenye hifadhi yake ya asili(pakua app-release.apk)
Usanidi
Connection
Fanya muunganisho wa kawaida wa ADB na anzisha seva ya frida kwenye kifaa (na hakikisha kwamba frida inafanya kazi kwenye mteja na seva).
Ikiwa unatumia kifaa kilichopandishwa ni muhimu kuchagua programu unayotaka kupima ndani ya chaguo la --gadget. katika kesi hii:
Basic Actions
Sio amri zote zinazowezekana za objections zitakazoorodheshwa katika tutorial hii, ni zile tu ambazo nimezipata kuwa za manufaa zaidi.
Environment
Taarifa za kuvutia (kama nywila au njia) zinaweza kupatikana ndani ya mazingira.
Taarifa za Frida
Pakia/Download
Ingiza skripti ya frida
SSLPinning
Ugunduzi wa mizizi
Amri ya Exec
Picha za skrini
Uchambuzi wa Kihistoria uliofanywa kuwa wa Kiharakati
Katika programu halisi tunapaswa kujua taarifa zote zilizogunduliwa katika sehemu hii kabla ya kutumia objection kutokana na uchambuzi wa kihistoria. Hata hivyo, njia hii huenda ukawaona mambo mapya kwani hapa utakuwa na orodha kamili ya madarasa, mbinu na vitu vilivyotolewa.
Hii pia ni muhimu ikiwa kwa namna fulani huwezi kupata msimbo wa chanzo unaoweza kusomeka wa programu hiyo.
Orodha ya shughuli, wapokeaji na huduma
Frida itatoa kosa ikiwa hakuna inapatikana
Kupata shughuli ya sasa
Tafuta Madarasa
Tuanze kutafuta madarasa ndani ya programu yetu
Njia za Kutafuta za darasa
Sasa hebu tutoe njia ndani ya darasa MainActivity:
Orodha ya Mbinu zilizotangazwa za darasa na vigezo vyake
Hebu tuone ni vigezo gani mbinu za darasa zinahitaji:
Orodha ya madarasa
Unaweza pia kuorodhesha madarasa yote ambayo yamepakuliwa ndani ya programu ya sasa:
Hii ni muhimu sana ikiwa unataka kuunganisha njia ya darasa na unajua tu jina la darasa. Unaweza kutumia kazi hii kutafuta ni moduli ipi inayomiliki darasa na kisha kuunganisha njia yake.
Kuunganisha kuwa rahisi
Kuunganisha (kuangalia) njia
Kutoka kwenye kanuni ya chanzo ya programu tunajua kwamba kazi sum() kutoka MainActivity inatekelezwa kila sekunde. Hebu jaribu kudondosha taarifa zote zinazowezekana kila wakati kazi inaitwa (hoja, thamani ya kurudi na backtrace):
Hooking (kuangalia) darasa zima
Kwa kweli, ninapata mbinu zote za darasa la MainActivity kuwa za kuvutia sana, hebu ziunganishe zote. Kuwa makini, hii inaweza kusababisha programu kuanguka.
If you play with the application while the class is hooked you will see when kila kazi inaitwa, its hoja and the thamani return.
Kubadilisha thamani ya boolean ya kazi
From the source code you can see that the function checkPin gets a String as argument and returns a boolean. Lets make the function kila wakati irejeze kweli:
Now, If you write anything in the text box for the PIN code you will see tat anything is valid:
Class instances
Search for and print mifano hai ya darasa maalum la Java, 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 kuwa na thamani za mali za kitu.
Keystore/Intents
Unaweza kucheza na keystore na intents ukitumia:
Kumbukumbu
Dump
Orodha
Katika mwisho wa orodha unaweza kuona frida:
Hebu tuangalia ni nini frida inasafirisha:
Search/Write
Unaweza pia kutafuta na kuandika ndani ya kumbukumbu kwa kutumia objection:
SQLite
Unaweza kutumia amri sqlite
kuingiliana na hifadhidata za sqlite.
Exit
Nini ninakosa katika Objection
Mbinu za hooking wakati mwingine zinaweza kusababisha programu kuanguka (hii pia ni kwa sababu ya Frida).
Huwezi kutumia mifano ya madarasa kuita kazi za mfano. Na huwezi kuunda mifano mipya ya madarasa na kuvitumia kuita kazi.
Hakuna njia fupi (kama ile ya sslpinnin) ya kuhooki mbinu zote za kawaida za crypto zinazotumiwa na programu ili kuona maandiko yaliyofichwa, maandiko ya kawaida, funguo, IVs na algorithimu zinazotumiwa.
Nasaha ya bug bounty: jiandikishe kwa Intigriti, jukwaa la bug bounty la premium lililoundwa na hackers, kwa hackers! Jiunge nasi kwenye https://go.intigriti.com/hacktricks leo, na uanze kupata zawadi hadi $100,000!
Last updated