# Android Pentesting-Intents When doing a black box pentesting for android , apart for looking at root detection bypass and ssl pinning looking for intents are also important , intents are the screens or activity of android application for example this InsecureBankv2 application has an activity for a login page which after logging in will show us avaiable options that we can do and the activity that is spawned after the login activity is called intent. Intent not only lies with in the same application it can take you to another activity from different appllications , let's say there's a youtube video link in your applicaiton when you click that it will either open up your browser application or youtube application , this is also an intent. Now to abuse intent , specifically for this InsecureBankv2 applicaiton we need to first look at how many activities are there Using `MobSF` we can analyze the applicaiton and can see that there are 10 activities , to check which activities we can spawn withouit logging into application , there's a tool called `Drozer` which is similar to `frida` by working with the application during time but this has a feature to look which activites we can call explicitly To do this we just need to setup drozer client on our host machine which I have previously showed in setting up the lab and install drozer agent on the android device Using the `list` command we can see the modules that we can use We can also see the activities manually or by using drozer by reading the manifest file Notice that some of the activites have `exported=True` which means that we can spawn these activities explicitly and rest of the activites do not have this property so we can't launch them on our own , this is a security issue because we can sometime bypass an activity which requires some kind of authentication or it's not authorized unless we can login Running `app.package.attacksurface` this can show number of activities that have exported set to true ```bash run app.package.attacksurface com.android.insecurebankv2 ``` We can check the activities that can be exported with this command ```bash run app.activity.info -a com.android.insecurebankv2 ``` But this didn't worked for me when I tried doing it with drozer as no activity was launched An alternate to this is launching the activity through `adb` ```bash adb shell am start -n com.android.insecurebankv2/com.android.insecurebankv2.ChangePassword ``` We can lauch other activtiy which was for transfer amount And with this we can launch activities which have exported property to true without being authorized and can abuse the flaw in the application however this can easily be mitigated by changing the `exported=true` to `exported=false` ## References - https://github.com/FSecureLABS/drozer - https://book.hacktricks.xyz/mobile-apps-pentesting/android-app-pentesting/drozer-tutorial