Drozer Tutorial
Savet za bug bounty: registrujte 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!
APK-ovi za testiranje
Sieve (od mrwlabs)
Delovi ovog tutorijala su izdvojeni iz Drozer dokumentacije pdf.
Instalacija
Instalirajte Drozer klijenta unutar vašeg hosta. Preuzmite ga sa najnovijih izdanja.
Preuzmite i instalirajte drozer APK sa poslednjim izdanjima. Trenutno je to ovo.
Pokretanje servera
Agent se izvršava na portu 31415, potrebno je prosleđivanje porta kako bismo uspostavili komunikaciju između Drozer klijenta i Agent-a, evo komande za to:
Na kraju, pokrenite aplikaciju i pritisnite dugme "ON"
I povežite se na nju:
Interesantne Komande
Komande | Opis |
Help MODULE | Prikazuje pomoć odabranog modula |
list | Prikazuje listu svih drozer modula koji mogu biti izvršeni 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 je drozer sačuvao na Android uređaju. |
load | Učitava datoteku koja sadrži drozer komande i izvršava ih u sekvenci. |
module | Pronalazi i instalira dodatne drozer module sa Interneta. |
unset | Uklanja nazvanu promenljivu koju drozer prosleđuje svim Linux ljuskama koje pokreće. |
set | Čuva vrednost u promenljivoj koja će biti prosleđena kao okolina svim Linux ljuskama koje pokreće drozer. |
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 zahtevaju payload. |
Paket
Pronađi ime paketa filtrirajući po delu imena:
Osnovne informacije o paketu:
Pročitajte Manifest:
Napadna površina paketa:
Aktivnosti: Možda možete pokrenuti aktivnost i zaobići neku vrstu autorizacije koja bi trebalo da vas spreči da je pokrenete.
Provajderi sadržaja: Možda možete pristupiti privatnim podacima ili iskoristiti neku ranjivost (SQL Injection ili Traversiranje putanje).
Servisi:
is debuggable: Saznajte više
Aktivnosti
Vrednost "android:exported" izveženog aktivnog komponenta postavljena je na "true" u AndroidManifest.xml datoteci:
Lista izvezenih aktivnosti:
Pokretanje aktivnosti:
Možda možete pokrenuti aktivnost i zaobići neku vrstu autorizacije koja bi trebalo da vas spreči da je pokrenete.
Takođe možete pokrenuti izveštenu aktivnost pomoću adb:
PackageName je com.example.demo
Ime izveštene aktivnosti je com.example.test.MainActivity
Provajderi sadržaja
Ovaj post je bio toliko veliki da biste ga mogli pristupiti na njegovoj sopstvenoj stranici ovde](exploiting-content-providers.md).
Servisi
Izveženi servis je deklarisan unutar Manifest.xml fajla:
Unutar koda proverite funkciju **handleMessage
** koja će primiti poruku:
Lista servisa
Komunicirajte sa uslugom
Primer
Pogledajte drozer pomoć za app.service.send
:
Imajte na umu da ćete prvo slati podatke unutar "msg.what", zatim "msg.arg1" i "msg.arg2", trebalo bi da proverite unutar koda koje informacije se koriste i gde.
Korišćenjem opcije --extra
možete poslati nešto što će biti interpretirano kao "msg.replyTo", a korišćenjem --bundle-as-obj
kreirate objekat sa pruženim detaljima.
U sledećem primeru:
what == 2354
arg1 == 9234
arg2 == 1
replyTo == object(string com.mwr.example.sieve.PIN 1337)
Broadcast prijemnici
U odeljku Osnovne informacije o Androidu možete videti šta je Broadcast prijemnik.
Nakon otkrivanja ovih Broadcast prijemnika trebalo bi proveriti kod njih. Posebno obratite pažnju na funkciju onReceive
jer će ona obrađivati primljene poruke.
Otkrijte sve broadcast prijemnike
Proverite prijemnike emitovanja aplikacije
Emitovanje Interakcija
Pošalji poruku
U ovom primeru zloupotrebe FourGoats apk Content Providera možete poslati proizvoljnu SMS na bilo koju destinaciju bez traženja dozvole korisnika.
Ako pročitate kod, parametri "phoneNumber" i "message" moraju biti poslati Content Provideru.
Da li je moguće debagovanje
APK u produkciji nikada ne bi trebalo da bude moguće debagovanje. To znači da možete povezati Java debager sa pokrenutom aplikacijom, inspicirati je u toku izvršavanja, postaviti prekide, ići korak po korak, prikupljati vrednosti promenljivih pa čak i ih menjati. InfoSec institut ima odličan članak o dubljem istraživanju kada je vaša aplikacija debagovana i ubacivanju koda u toku izvršavanja.
Kada je aplikacija moguće debagovati, pojaviće se u Manifestu:
Možete pronaći sve aplikacije koje se mogu debagovati pomoću Drozera:
Tutorijali
Više informacija
Savet za bug bounty: registrujte 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