Objection Tutorial
Savet za bug bounty: prijavite se za Intigriti, premium platformu za bug bounty kreiranu od hakera, za hakere! Pridružite nam se na https://go.intigriti.com/hacktricks danas, i počnite da zarađujete nagrade do $100,000!
Uvod
objection - Runtime Mobile Exploration
Objection je alat za istraživanje mobilnih aplikacija u realnom vremenu, pokretan od strane Fride. Napravljen je sa ciljem da pomogne u proceni mobilnih aplikacija i njihovog bezbednosnog položaja bez potrebe za jailbroken ili rooted mobilnim uređajem.
Napomena: Ovo nije neka vrsta jailbreak / root zaobilaska. Korišćenjem objection
, i dalje ste ograničeni svim restrikcijama koje nameće odgovarajući sandbox sa kojim se suočavate.
Rezime
Cilj objection-a je omogućiti korisniku da pozove osnovne akcije koje nudi Frida. Inače, korisnik će morati da napravi jedan skript za svaku aplikaciju koju želi da testira.
Tutorijal
Za ovaj tutorijal ću koristiti APK koji možete preuzeti ovde:
Ili sa njegovog originalnog repozitorijuma (preuzmite app-release.apk)
Instalacija
Povezivanje
Napravite redovnu ADB konekciju i pokrenite frida server na uređaju (i proverite da li frida radi i na klijentu i na serveru).
Ako koristite root-ovan uređaj, potrebno je izabrati aplikaciju koju želite testirati unutar opcije --gadget. U ovom slučaju:
Osnovne radnje
Neće biti navedene sve moguće komande objekcije u ovom tutorijalu, već samo one koje sam smatrao korisnijim.
Okruženje
Neke zanimljive informacije (poput lozinki ili putanja) mogu se pronaći unutar okruženja.
Frida Informacije
Postavi/Preuzmi
Uvoz frida skripte
SSLPinning
Detekcija root-a
Izvrši Komandu
Snimci ekrana
Statistička analiza pretvorena u dinamičku
U stvarnoj aplikaciji trebalo bi da znamo sve informacije otkrivene u ovom delu pre korišćenja prigovora zahvaljujući statističkoj analizi. U svakom slučaju, na ovaj način možda možete videti nešto novo jer ćete ovde imati potpuni spisak klasa, metoda i izvezenih objekata.
Ovo je takođe korisno ako iz nekog razloga niste u mogućnosti da dobijete neki čitljiv izvorni kod aplikacije.
Spisak aktivnosti, prijemnika i servisa
Frida će pokrenuti grešku ako ništa nije pronađeno
Dobijanje trenutne aktivnosti
Pretraga Klasa
Započnimo sa traženjem klasa unutar naše aplikacije
Pretraga metoda klase
Sada ćemo izdvojiti metode unutar klase MainActivity:
Lista deklarisanih metoda klase sa njihovim parametrima
Otkrijmo koje parametre metodi klase zahtevaju:
Lista klasa
Takođe možete da prikažete sve klase koje su učitane unutar trenutne aplikacije:
Ovo je veoma korisno ako želite da hukujete metod klase a znate samo ime klase. Možete koristiti ovu funkciju da pretražite koji modul poseduje klasu i zatim hukujete njen metod.
Hukovanje je jednostavno
Hukovanje (praćenje) metoda
Iz izvornog koda aplikacije znamo da se funkcija sum() iz klase MainActivity pokreće svake sekunde. Pokušajmo da izbacimo sve moguće informacije svaki put kada se funkcija pozove (argumente, povratnu vrednost i stek poziva):
Hakovanje (praćenje) cele klase
Zapravo, smatram da su svi metodi klase MainActivity zaista interesantni, hajde da ih hukujemo sve. Budite oprezni, ovo može uzrokovati pad aplikacije.
Ako igrate sa aplikacijom dok je klasa hakovana, videćete kada se svaka funkcija poziva, njeni argumenti i vrednost povratka.
Menjanje boolean vrednosti povratka funkcije
Iz izvornog koda možete videti da funkcija checkPin dobija String kao argument i vraća boolean. Hajde da funkciju uvek vraća true:
Sada, ako unesete bilo šta u polje za unos PIN koda, videćete da je sve validno:
Instance klase
Pretražite i štampajte žive instance određene Java klase, navedene potpuno kvalifikovanim imenom klase. Rezultat je pokušaj dobijanja string vrednosti za otkriveni prigovor koji bi tipično sadržavao vrednosti svojstava objekta.
Keystore/Intents
Možete se igrati sa keystore-om i intentima koristeći:
Memorija
Izbacivanje
Lista
Na dnu liste možete videti Fridu:
Pogledajmo šta Frida izvozi:
Pretraga/Pisanje
Takođe možete pretraživati i pisati unutar memorije pomoću Objection-a:
SQLite
Možete koristiti komandu sqlite
da biste interagovali sa SQLite bazama podataka.
Exit
Šta mi nedostaje u Objection-u
Metode hakovanja ponekad ruše aplikaciju (ovo je takođe zbog Fride).
Ne možete koristiti instance klasa da biste pozvali funkcije instance. I ne možete kreirati nove instance klasa i koristiti ih da biste pozvali funkcije.
Ne postoji prečica (poput one za sslpinnin) za hakovanje svih zajedničkih kripto metoda koje koristi aplikacija kako biste videli šifrovani tekst, običan tekst, ključeve, IV-e i korišćene algoritme.
Savet za bug bounty: Prijavite se za Intigriti, premium platformu za bug bounty kreiranu od hakera, za hakere! Pridružite nam se na https://go.intigriti.com/hacktricks danas, i počnite da zarađujete nagrade do $100,000!
Last updated