Objection Tutorial

Jifunze kuhusu kudukua AWS kutoka mwanzo hadi kuwa shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Mwongozo wa tuzo ya mdudu: jiandikishe kwa Intigriti, jukwaa la tuzo za mdudu za malipo lililoundwa na wadukuzi, kwa wadukuzi! Jiunge nasi kwenye https://go.intigriti.com/hacktricks leo, na anza kupata tuzo hadi $100,000!

Utangulizi

Objection - Uchunguzi wa Rununu wa Wakati wa Uendeshaji

Objection ni seti ya zana ya uchunguzi wa rununu wa wakati wa uendeshaji, inayotumia Frida. Ilijengwa kwa lengo la kusaidia kutathmini programu za rununu na hali yao ya usalama bila haja ya kifaa cha rununu kilichodukuliwa au kinarootiwa.

Maelezo: Hii sio aina fulani ya kudukua / kizuizi cha mizizi. Kwa kutumia objection, bado unakabiliwa na vizuizi vyote vilivyowekwa na sanduku linalofaa unalokabiliana nalo.

Wasifu

Lengo la objection ni kuruhusu mtumiaji kuita vitendo kuu vinavyotolewa na Frida. Vinginevyo, mtumiaji atahitaji kuunda hati moja kwa kila programu anayotaka kuitathmini.

Mafunzo

Kwa mafunzo haya nitatumia APK unayoweza kupakua hapa:

Au kutoka kwenye repo ya awali(pakua app-release.apk)

Usanidi

pip3 install objection

Uunganisho

Fanya unganisho la kawaida la ADB na anza seva ya frida kwenye kifaa (na hakikisha kuwa frida inafanya kazi kwenye mteja na seva).

Ikiwa unatumia kifaa kilichorooti ni muhimu kuchagua programu unayotaka kuitesit ndani ya chaguo la --gadget. katika kesi hii:

frida-ps -Uai
objection --gadget asvid.github.io.fridaapp explore

Hatua za Msingi

Haitakuwa orodha kamili ya amri zote zinazowezekana za upinzani katika mafunzo haya, zitaorodheshwa tu zile ambazo nimeona zinafaa zaidi.

Mazingira

Baadhi ya taarifa muhimu (kama vile nywila au njia) zinaweza kupatikana ndani ya mazingira.

env

Maelezo ya Frida

frida

Pakia/Pakua

file download <remote path> [<local path>]
file upload <local path> [<remote path>]

Ingiza skripti ya frida

import <local path frida-script>

SSLPinning

android sslpinning disable #Attempts to disable SSL Pinning on Android devices.

Uchunguzi wa Mzizi

android root disable  #Attempts to disable root detection on Android devices.
android root simulate #Attempts to simulate a rooted Android environment.

Amri ya Kutekeleza

android shell_exec whoami

Picha za Skrini

android ui screenshot /tmp/screenshot
android ui FLAG_SECURE false  #This may enable you to take screenshots using the hardware keys

Uchambuzi wa Starehe kuwa wa Kudhibitiwa

Katika programu halisi tunapaswa kujua habari zote zilizogunduliwa katika sehemu hii kabla ya kutumia upinzani shukrani kwa uchambuzi wa statiki. Kwa njia yoyote, njia hii labda unaweza kuona kitu kipya kwa sababu hapa utakuwa na orodha kamili ya madarasa, njia, na vitu vilivyotolewa.

Hii pia ni muhimu ikiwa kwa njia fulani huwezi kupata msimbo wa chanzo unaoonekana wa programu.

android hooking list activities
android hooking list services
android hooking list receivers

Frida itazindua kosa ikiwa hakuna kinachopatikana

Kupata shughuli ya sasa

android hooking get current_activity

Tafuta Darasa

Anza kutafuta madarasa ndani ya programu yetu

android hooking search classes asvid.github.io.fridaapp

Tafuta Njia za darasa

Sasa hebu chimbua njia zilizo ndani ya darasa MainActivity:

android hooking search methods asvid.github.io.fridaapp MainActivity

Orodhesha Njia Zilizotangazwa za darasa na paramita zao

Hebu tujue ni paramita zipi zinahitajika na njia za darasa:

android hooking list class_methods asvid.github.io.fridaapp.MainActivity

Orodhesha madarasa

Unaweza pia kuorodhesha madarasa yote yaliyopakiwa ndani ya programu ya sasa:

android hooking list classes #List all loaded classes, As the target application gets usedmore, this command will return more classes.

Hii ni muhimu sana ikiwa unataka kuunganisha njia ya darasa na unajua tu jina la darasa. Unaweza kutumia kazi hii kwa kutafuta ni moduli gani inamiliki darasa na kisha kuunganisha njia yake.

Kuunganisha kuwa rahisi

Kuunganisha (kuangalia) njia

Kutoka kwa michocheo ya programu tunajua kwamba kazi sum() kutoka kwa MainActivity inatekelezwa kila sekunde. Hebu jaribu kudondosha habari zote zinazowezekana kila wakati kazi inaitwa (vigezo, thamani ya kurudi, na nyuma ya mstari):

android hooking watch class_method asvid.github.io.fridaapp.MainActivity.sum --dump-args --dump-backtrace --dump-return

Kuunganisha (kuangalia) darasa zima

Kwa kweli ninaona kuwa njia zote za darasa la MainActivity ni za kuvutia sana, hebu ziunganishe zote. Kuwa makini, hii inaweza kusababisha kushindwa kwa programu.

android hooking watch class asvid.github.io.fridaapp.MainActivity --dump-args --dump-return

Ikiwa unacheza na programu wakati darasa linapoingiliwa utaona wakati kila kazi inaitwa, vigezo vyake na thamani ya kurudi.

Kubadilisha thamani ya kurudi ya boolean ya kazi

Kutoka kwa msimbo wa chanzo unaweza kuona kwamba kazi checkPin inapata String kama hoja na kurudi boolean. Hebu tufanye kazi hiyo kurudi daima iwe kweli:

Sasa, Ikiwa utaandika kitu chochote kwenye sanduku la maandishi kwa nambari ya PIN utaona kwamba chochote ni halali:

Mifano ya Darasa

Tafuta na chapisha mifano hai ya darasa la Java maalum, iliyotajwa kwa jina kamili la darasa. Matokeo ni jaribio la kupata thamani ya herufi kwa pingamizi lililopatikana ambalo kawaida ingejumuisha thamani za mali kwa kitu.

android heap print_instances <class>

Keystore/Intents

Unaweza kucheza na keystore na intents kwa kutumia:

android keystore list
android intents launch_activity
android intent launch_service

Kumbukumbu

Pindua

memory dump all <local destination> #Dump all memory
memory dump from_base <base_address> <size_to_dump> <local_destination> #Dump a part

Orodha

memory list modules

Chini ya orodha unaweza kuona frida:

Hebu angalia ni nini frida inaexport:

Tafuta/Andika

Unaweza pia kutafuta na kuandika ndani ya kumbukumbu na objection:

memory search "<pattern eg: 41 41 41 ?? 41>" (--string) (--offsets-only)
memory write "<address>" "<pattern eg: 41 41 41 41>" (--string)

SQLite

Unaweza kutumia amri sqlite kuingiliana na mabadiliko ya sqlite.

Toka

exit

Kile ninachokosa katika Objection

  • Njia za kufunga mara nyingi zinasababisha programu kukwama (hii pia ni kwa sababu ya Frida).

  • Hauwezi kutumia mifano ya madarasa kuita kazi za mfano. Na huwezi kuunda mifano mipya ya madarasa na kuitumia kuita kazi.

  • Hakuna mkato (kama ule wa sslpinnin) wa kufunga njia zote za kawaida za crypto zinazotumiwa na programu ili kuona maandishi yaliyofichwa, maandishi ya wazi, funguo, IVs na algorithm zilizotumiwa.

Mwongozo wa tuzo ya mdudu: Jiandikishe kwa Intigriti, jukwaa la tuzo za mdudu za malipo lililoundwa na wadukuzi, kwa wadukuzi! Jiunge nasi kwenye https://go.intigriti.com/hacktricks leo, na anza kupata tuzo hadi $100,000!

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks:

Last updated