Drozer Tutorial
Bug bounty tip: prijavite se za Intigriti, premium bug bounty platformu koju su kreirali hakeri, za hakere! Pridružite nam se na https://go.intigriti.com/hacktricks danas, i počnite da zarađujete nagrade do $100,000!
APKs to test
Sieve (from mrwlabs)
Delovi ovog tutorijala su izvučeni iz Drozer dokumentacije pdf.
Installation
Install Drozer Client inside your host. Download it from the latest releases.
Preuzmite i instalirajte drozer APK sa najnovijih izdanja. U ovom trenutku to je ovo.
Pokretanje servera
Agent radi na portu 31415, potrebno je da preusmerimo port kako bismo uspostavili komunikaciju između Drozer klijenta i agenta, evo komande za to:
Na kraju, pokrenite aplikaciju i pritisnite dugme "ON"
I povežite se sa njom:
Interesting Commands
Package
Pronađite ime paketa filtrirajući po delu imena:
Osnovne informacije o paketu:
Pročitaj Manifest:
Napadna površina paketa:
Aktivnosti: Možda možete pokrenuti aktivnost i zaobići neku vrstu autorizacije koja bi trebala da vas spreči da je pokrenete.
Provajderi sadržaja: Možda možete pristupiti privatnim podacima ili iskoristiti neku ranjivost (SQL Injection ili Path Traversal).
Servisi:
is debuggable: Saznajte više
Aktivnosti
Vrednost “android:exported” komponentne aktivnosti koja je izvezena postavljena je na “true” u datoteci AndroidManifest.xml:
Lista eksportovanih aktivnosti:
Pokreni aktivnost:
Možda možete pokrenuti aktivnost i zaobići neku vrstu autorizacije koja bi trebala da vas spreči da je pokrenete.
Možete takođe pokrenuti eksportovanu aktivnost iz adb:
PackageName je com.example.demo
Exported ActivityName je com.example.test.MainActivity
Content Providers
Ova objava je bila prevelika da bi bila ovde, tako da možete pristupiti joj na svojoj stranici ovde.
Services
Izvezeni servis je deklarisan unutar Manifest.xml:
Unutar koda proverite funkciju **handleMessage
** koja će prihvatiti poruku:
Lista usluga
Interagujte sa uslugom
Primer
Pogledajte drozer pomoć za app.service.send
:
Napomena da prvo šaljete podatke unutar "msg.what", zatim "msg.arg1" i "msg.arg2", trebate proveriti unutar koda koje informacije se koriste i gde.
Korišćenjem opcije --extra
možete poslati nešto što se interpretira kao "msg.replyTo", a korišćenjem --bundle-as-obj
kreirate objekat sa datim detaljima.
U sledećem primeru:
what == 2354
arg1 == 9234
arg2 == 1
replyTo == object(string com.mwr.example.sieve.PIN 1337)
Broadcast Receivers
U sekciji osnovnih informacija o Androidu možete videti šta je Broadcast Receiver.
Nakon otkrivanja ovih Broadcast Receivers, trebali biste proveriti kod njih. Obratite posebnu pažnju na onReceive
funkciju jer će ona obrađivati primljene poruke.
Otkrivanje svih broadcast receivers
Proverite broadcast prijemnike aplikacije
Broadcast Interakcije
Pošaljite poruku
U ovom primeru zloupotrebe FourGoats apk Content Provider-a možete poslati proizvoljnu SMS poruku bilo kojoj ne-premium destinaciji bez traženja dozvole od korisnika.
Ako pročitate kod, parametri "phoneNumber" i "message" moraju biti poslati Content Provider-u.
Da li je debuggable
Proizvodni APK nikada ne bi trebao biti debuggable. To znači da možete priključiti java debugger na pokrenutu aplikaciju, pregledati je u vreme izvođenja, postaviti tačke prekida, ići korak po korak, prikupljati vrednosti promenljivih i čak ih menjati. InfoSec institute ima odličan članak o dubljem istraživanju kada je vaša aplikacija debuggable i injektovanju koda u vreme izvođenja.
Kada je aplikacija debuggable, pojaviće se u Manifestu:
Možete pronaći sve aplikacije koje se mogu debagovati pomoću Drozer:
Tutorijali
Više informacija
Savjet za bug bounty: prijavite se za Intigriti, premium bug bounty platformu koju su kreirali hakeri, za hakere! Pridružite nam se na https://go.intigriti.com/hacktricks danas, i počnite zarađivati nagrade do $100,000!
Last updated