Drozer Tutorial
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
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"
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F3850298721-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fs712eRnz5qRNRafWqq3N%252Fuploads%252Fgit-blob-ab1786558a7b9d62724edd85419268e3c891bad5%252Fimage%2520%28459%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=5a8c606d&sv=1)
I povežite se sa njom:
Interesting Commands
Commands | Description |
Help MODULE | Prikazuje pomoć odabranog modula |
list | Prikazuje listu svih drozer modula koji se mogu izvršiti u trenutnoj sesiji. Ovo skriva module za koje nemate odgovarajuće dozvole za pokretanje. |
shell | Pokreće interaktivnu Linux ljusku na uređaju, u kontekstu Agenta. |
clean | Uklanja privremene datoteke koje drozer čuva na Android uređaju. |
load | Učitava datoteku koja sadrži drozer komande i izvršava ih redom. |
module | Pronađe i instalira dodatne drozer module sa Interneta. |
unset | Uklanja imenovanu promenljivu koju drozer prosleđuje bilo kojim Linux ljuskama koje pokreće. |
set | Čuva vrednost u promenljivoj koja će biti prosleđena kao promenljiva okruženja bilo kojim Linux ljuskama koje drozer pokreće. |
shell | Pokreće interaktivnu Linux ljusku na uređaju, u kontekstu Agenta |
run MODULE | Izvršava drozer modul |
exploit | Drozer može kreirati eksploate za izvršavanje na uređaju. |
payload | Eksploati trebaju payload. |
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:
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F3850298721-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fs712eRnz5qRNRafWqq3N%252Fuploads%252Fgit-blob-f20e8ce2fc518cd80eb4ba6d3cc92921b98557d8%252Fimage%2520%2882%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=b1939e72&sv=1)
Lista usluga
Interagujte sa uslugom
Primer
Pogledajte drozer pomoć za app.service.send
:
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F3850298721-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fs712eRnz5qRNRafWqq3N%252Fuploads%252Fgit-blob-b1c5a1a13c3d409442ea29b8a82310be8e29b742%252Fimage%2520%281079%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=c441dfd9&sv=1)
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)
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F3850298721-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fs712eRnz5qRNRafWqq3N%252Fuploads%252Fgit-blob-6046bf9a80645bab7a7591101301a9288f4783d8%252Fimage%2520%28647%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=268bd3e6&sv=1)
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.
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F3850298721-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fs712eRnz5qRNRafWqq3N%252Fuploads%252Fgit-blob-deb8d0d388e9fdc2f306cc84d13e3b79c623ac01%252Fimage%2520%28415%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=afa76d12&sv=1)
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F3850298721-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fs712eRnz5qRNRafWqq3N%252Fuploads%252Fgit-blob-9fe1e166755bb71fc118787b447a1445b53eb4fd%252Fimage%2520%28573%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=9fb6059e&sv=1)
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!
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated