Kali Linux

Kali Linux is a Debian-based Linux distribution specifically tailored for penetration testing and security auditing tasks. It comes with suite of information security tools pre-installed.

Dual-booting or creating a live CD/USB is what most people do to have a Kali Linux at their disposal. But what if you are bored in your hotel room and you wanted to test something just to find out you do not have your live USB with you? Did you ever think of having a round-the-clock server that you can access wherever and whenever you want without running a physical server at home? How about running a test through an SSH client from any smartphone you have? The solution – host it in the cloud. With cloud hosting, you can fire up a Kali instance within minutes. For just a fraction of a penny an hour, you can have a suite of security tools in the cloud. With the versatility of cloud VPS, you can just deploy and dispose after use.

There are a handful of good guides on how you can install a full Kali Linux (with a desktop environment) in the cloud. You can even run it in Microsoft Azure for free by taking advantage of their free trials. Though it seems to be a steal, it would cost you more in the long run.

This leads me to look for ways on how to host a lightweight, headless Kali Linux in other cloud providers. I did not find a reliable and relatively easy guide to do this. In turn, I just experimented on my own to achieve my goal. So here’s a guide on how I did it.

Procedures:

  1. Register at Vultr
  2. Upload a Custom ISO
  3. Deploy a Kali Linux Instance
  4. Enable SSH
  5. Install Kali Packages

 

Step 1 – Register at Vultr

Vultr is a cloud provider company within the same category as DigitalOcean and Linode. Though it is new (launched in February 2014), it has been very successful in providing it’s costumers a reliable service.

The primary reason I chose is the ability to easily upload (or rather download) and deploy any custom ISO. With an hourly price of $0.007, you would get a 768MB-RAM instance as compared to competitors’ 512MB instances of the same price.

With all the benchmark, comparisons and reviews, I did not hesitate and gave this cloud host a try.

At the time of writing this, they are offering a FREE $50 credit that you can use to try their service.

 

Step 2 – Upload a Custom ISO

Once you have registered an account, login to the control panel and go to the Servers > ISO tab. From there you will have the option to upload a custom ISO by providing the direct download link of the image.

Upload ISO
Upload a custom ISO from Vultr’s Control Panel

Next, you need to get the direct download url of the Kali Linux image. For this, you will need to get the “mini” version of the image instead of the full ISO. The main reason why you would want to get the mini version instead of the full version is to avoid automatic installation of Kali’s default desktop environment – GNOME.

Instead of going to Kali’s Ofiicial Download Page, get the image from their repository. Right click on the “mini.iso” and copy its link. Paste it in Vultr’s Control Panel and select Upload.

 

Step 3 – Deploy a Kali Linux Instance

Once the Kali Linux image is uploaded in your account, you are now ready to deploy a server instance using the custom ISO.

  1. Click on the + sign at the upper right side of the control panel.
  2. Choose your preferred server location.
  3. On the “Server Type”, choose “Custom ISO” and select the mini.iso.
  4. Select your preferred server size. The $5 instance would be sufficient.
  5. Enable additional features if you want to.
  6.  Set the hostname and the label to identify your instance.
  7. Click “Deploy Now”

By now, your server is up and running with the Kali image mounted to the instance. Proceed with the installation via console. Go to the Servers section of the control panel and click label of the Kali instance you just created. You would be redirected to a page where you could see the details and statistics of your server. Click on the “View Console” icon in menu located at the upper right of the page.

Complete Kali installation via console connection.

From the splash screen, select “Install”

Install Kali

Proceed with the next steps based on your preference. During the installation, just choose leave most of the options at their default value. You will reach a section where it would ask you for the primary network interface. Choose “ens3”.

ens3

When you reach the “Software selection”, only select “SSH server” and “standard system utilities”.

kali_services

 

Step 4 – Enable SSH

SSH is not enabled by default. At this moment, the only way to access your box is via the web console. Login to your box using the root user and let us configure and enable the SSH daemon.

Inside the sshd_config file, edit the following directives:

Exit by pressing CTRL + x and Y when ask to save the changes.

Start the SSH daemon and enable it on startup.

While still in the console, take the time to get your public ip by running the following:

The output of this command is your server’s IP address. Copy it as you will use it to login to your server using SSH. Logout and exit the web console.

Now, Open your Terminal (macOS or Unix-based OS) or your PuTTY (Windows). Login to your Kali box using the IP address you copied earlier. The port is the one you set in the sshd_config file.

 

Step 5 – Install Kali Packages

You now have a bare Kali linux without anything in it. List and install the kali packages with this command:

If you do not have a specific tool in mind, just install the kali-linux-full package.

 

Lastly, I would like to remind you that you should only test systems that you have explicit permission to do so. Snooping into someone else’s servers is illegal. You wouldn’t want anyone to just barge into your house and look for anything they want, would you?

8 COMMENTS

  1. Hi,
    I got a couple of questions.
    1) how would i get a remote GUI on it?
    2) can i secure the box a bit more?
    3) have you played around with hosting vulnerable machines (vulnhub) in the cloud?

  2. The ENS3 interface exist in interface file but when I try to ping it returns Network is unreachable. Any advice would be greatly appreciated.

  3. It worked fine until I did the apt-get kali-linux-full. After this completed and I rebooted the machine lost all network connectivity 🙁

Leave a Reply