Drozer Tutorial
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Bug bounty wenk: meld aan by Intigriti, 'n premium bug bounty platform geskep deur hackers, vir hackers! Sluit by ons aan by https://go.intigriti.com/hacktricks vandag, en begin verdien bounties tot $100,000!
APKs om te toets
Sieve (van mrwlabs)
Dele van hierdie tutoriaal is onttrek uit die Drozer dokumentasie pdf.
Installasie
Installeer Drozer Client binne jou gasheer. Laai dit af van die nuutste vrystellings.
Laai die drozer APK af en installeer dit vanaf die nuutste vrystellings. Op hierdie oomblik is dit hierdie.
Starting the Server
Agent loop op poort 31415, ons moet port forward om die kommunikasie tussen die Drozer Client en Agent te vestig, hier is die opdrag om dit te doen:
Laastens, begin die toepassing en druk die onderkant "AAN"
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F843477771-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FC6PyZhjUxJWWaN3uLo1y%252Fuploads%252Fgit-blob-ab1786558a7b9d62724edd85419268e3c891bad5%252Fimage%2520%28459%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=61999604&sv=1)
En verbind daarmee:
Interessante Opdragte
Opdragte | Beskrywing |
Help MODULE | Wys hulp van die geselekteerde module |
list | Wys 'n lys van alle drozer modules wat in die huidige sessie uitgevoer kan word. Dit verberg modules waarvoor jy nie toepaslike regte het om te loop nie. |
shell | Begin 'n interaktiewe Linux-skaal op die toestel, in die konteks van die Agent. |
clean | Verwyder tydelike lêers wat deur drozer op die Android-toestel gestoor is. |
load | Laai 'n lêer wat drozer-opdragte bevat en voer dit in volgorde uit. |
module | Vind en installeer addisionele drozer modules van die Internet. |
unset | Verwyder 'n benoemde veranderlike wat drozer aan enige Linux-skaal wat dit genereer, deurgee. |
set | Stoor 'n waarde in 'n veranderlike wat as 'n omgewingsveranderlike aan enige Linux-skaal wat deur drozer gegenereer word, deurgegee sal word. |
shell | Begin 'n interaktiewe Linux-skaal op die toestel, in die konteks van die Agent |
run MODULE | Voer 'n drozer module uit |
exploit | Drozer kan eksplosiewe skep om in die toestel uit te voer. |
payload | Die eksplosiewe benodig 'n payload. |
Pakket
Vind die naam van die pakket deur te filter op 'n deel van die naam:
Basiese Inligting van die pakket:
Lees Manifest:
Aanvaloppervlak van die pakket:
Aktiwiteite: Miskien kan jy 'n aktiwiteit begin en 'n tipe magtiging omseil wat jou moet keer om dit te begin.
Inhoudverskaffers: Miskien kan jy toegang tot private data verkry of 'n sekuriteitskwesbaarheid benut (SQL Injection of Path Traversal).
Dienste:
is debuggable: Leer meer
Aktiwiteite
'n Uitgevoerde aktiwiteit komponent se “android:exported” waarde is op “true” in die AndroidManifest.xml-lêer gestel:
Lys van uitgevoerde aktiwiteite:
Begin aktiwiteit:
Miskien kan jy 'n aktiwiteit begin en 'n tipe magtiging omseil wat jou moet keer om dit te begin.
Jy kan ook 'n geëksporteerde aktiwiteit vanaf adb begin:
Pakketnaam is com.example.demo
Geëksporteerde Aktiwiteitnaam is com.example.test.MainActivity
Inhoudverskaffers
Hierdie pos was te groot om hier te wees, so jy kan dit in sy eie bladsy hier toegang.
Dienste
'n Geverifieerde diens word binne die Manifest.xml verklaar:
Binne die kode kontroleer vir die **handleMessage
** funksie wat die boodskap sal ontvang:
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F843477771-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FC6PyZhjUxJWWaN3uLo1y%252Fuploads%252Fgit-blob-f20e8ce2fc518cd80eb4ba6d3cc92921b98557d8%252Fimage%2520%2882%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=766dabb1&sv=1)
Lysdiens
Interaksie met 'n diens
Voorbeeld
Kyk na die drozer hulp vir app.service.send
:
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F843477771-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FC6PyZhjUxJWWaN3uLo1y%252Fuploads%252Fgit-blob-b1c5a1a13c3d409442ea29b8a82310be8e29b742%252Fimage%2520%281079%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=99c56f26&sv=1)
Let daarop dat jy eers die data binne "msg.what" sal stuur, dan "msg.arg1" en "msg.arg2", jy moet binne die kode watter inligting gebruik word en waar nagaan.
Met die --extra
opsie kan jy iets stuur wat deur "msg.replyTo" geïnterpreteer word, en met --bundle-as-obj
skep jy 'n objek met die verskafde besonderhede.
In die volgende voorbeeld:
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%2F843477771-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FC6PyZhjUxJWWaN3uLo1y%252Fuploads%252Fgit-blob-6046bf9a80645bab7a7591101301a9288f4783d8%252Fimage%2520%28647%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=3c29ed13&sv=1)
Uitsendingsontvangers
In die Android basiese inligting afdeling kan jy sien wat 'n Uitsendingsontvanger is.
Na die ontdekking van hierdie Uitsendingsontvangers moet jy die kode daarvan nagaan. Gee spesiale aandag aan die onReceive
funksie aangesien dit die ontvangde boodskappe sal hanteer.
Detecteer alle uitsendingsontvangers
Kontroleer uitsaaikreceivers van 'n app
Uitsending Interaksies
Stuur 'n boodskap
In hierdie voorbeeld wat die FourGoats apk Content Provider misbruik, kan jy enige SMS na 'n nie-premium bestemming stuur sonder om die gebruiker om toestemming te vra.
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F843477771-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FC6PyZhjUxJWWaN3uLo1y%252Fuploads%252Fgit-blob-deb8d0d388e9fdc2f306cc84d13e3b79c623ac01%252Fimage%2520%28415%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=4ff4093&sv=1)
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F843477771-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FC6PyZhjUxJWWaN3uLo1y%252Fuploads%252Fgit-blob-9fe1e166755bb71fc118787b447a1445b53eb4fd%252Fimage%2520%28573%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=615a7c37&sv=1)
As jy die kode lees, moet die parameters "phoneNumber" en "message" na die Content Provider gestuur word.
Is debuggeable
'n Produksie APK moet nooit debuggeable wees. Dit beteken dat jy java debugger aan die lopende toepassing kan heg, dit in werklike tyd kan inspekteer, breekpunte kan stel, stap vir stap kan gaan, veranderlike waardes kan versamel en selfs hulle kan verander. InfoSec institute het 'n uitstekende artikel oor hoe om dieper te delf wanneer jou toepassing debuggeable is en runtime kode in te spuit.
Wanneer 'n toepassing debuggeable is, sal dit in die Manifest verskyn:
U kan alle debugbare toepassings met Drozer vind:
Tutorials
More info
Bug bounty tip: meld aan by Intigriti, 'n premium bug bounty platform geskep deur hackers, vir hackers! Sluit vandag by ons aan by https://go.intigriti.com/hacktricks en begin om bounties tot $100,000 te verdien!
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated