In this article, we will look at step by step instructions on how to install Kali Linux on android device (non-rooted). That opens a whole new world of possibilities that you can do with your smartphone. Instead of carrying your heavy laptop around, you can go with your phone and still perform penetration testing like you would with your Kali Desktop. Unfortunately, you might be limited to specific resources and capabilities. For example, performing a Reverse Engineering or Malware analysis with your phone won't be that smooth. However, tasks like social engineering can come in quite handy.
Steps to Install Kali Linux on Android
1. Requirements
- An active internet connection
- Download and Install F-Droid
- Install Termux from F-Droid
- Install Hacker's Keyboard from Google Playstore.
- Install Nethunter Kex app available on Nethunter Store
- Enough storage space on your device
2. Install F-Droid
Download and install F-Droid APK from the official F-Droid website.
3. Install Termux
Termux is an open-source application that provides a Linux-like environment on your Android phone. It gives you a terminal interface similar to that you would find on any other Linux distribution allowing you to execute Linux commands or even run a whole Linux distribution on your Android phone. The beauty of it all is that you do not need to root your phone to run this app.
Now, there are two ways in which you can install Termux on your phone.
- Download and Install the app from F-DROiD
- Download the APK file from GitHub
Tip: Be sure to carefully follow the steps in each method below to avoid any issues when installing Kali Linux on your Android phone later. Following the instructions closely will help prevent errors during the installation process.
3.1 Install Termux from F-DROID
Now that you already have F-DROID installed, launch the app from the applications menu and tap the search icon to reveal the search bar. Type the word “Termux.”
F-droid will filter all the applications in its database and list all Termux applications and plugins available. Now select the app with the name “Termux Terminal emulator with packages.” See the image below.
That will open a new screen where you will see more information about the app and also the “INSTALL” option.
Install version 0.117. We tried working with version 0.118 (latest) and we faced so many errors when trying to launch Kali on our Android phone.
After a successful installation, you will see the “UPDATE” option. Do not update the app. Just launch Termux from the applications menu and continue using the installed version 0.117
3.2 Install Termux from GitHub
Another option you can use to install Termux on your phone is downloading the APK file directly from their official GitHub page. Now, unlike in F-droid where we insisted on installing Termux version 0.117, the only available version on Android is 0.118.
Tip: From our experience, the Termux version 0.118 available on GitHub is different from version 0.118 available on F-droid. That’s because when we installed version 0.118 from F-droid we encountered so many issues and we couldn’t get Kali Linux starting on Android. However, the 0.118 version available on GitHub worked smoothly.
On the Termux Github page, you will see a list of all available releases. Expand the “Assets” section in version 0.118 and download the arm APK file as shown in the image below.
After a successful download, install the application and you can get started with Termux on Android.
4. Install Nethunter Kex App
The Nethunter Kex application will enable you to access the Desktop Interface for Kali Linux on your Android. You can easily download and install the APK file from the Nethunter Store website.
5. Install Hacker's Keyboard
Install Hacker's Keyboard by Klaus Weidner, as shown in the image below.
6. Enable Hacker's Keyboard
Unlike your standard Android keyboard, the Hacker's keyboard brings the keyboard's functionality on your laptop to your phone. It comes with Arrow keys, Tab keys, Ctrl keys, and Esc keys. It also supports multitouch as the keyboard is based on AOSP Gingerbread soft keyboard. Launch the Settings app on your phone and locate the "Manage Keyboard" option. Enable the Hacker's keyboard, as shown in the image below.
7. Setup the Environment
Launch Termux on your phone and update and upgrade the system using the command below.
pkg update && pkg upgrade -y
Up to this point, Termux has limited access to the filesystem. Therefore, any files created by Termux outside the current session won't be accessible. To solve that, run the command below:
termux-setup-storage
You will see a message like "Allow Termux access photos, media and files on your device." Click Allow. When done, execute the command below to install some packages needed to install Kali Linux on android.
8. Fetch and Run the Installer Script
Up to this point, we have everything needed to install Kali on our Android device. First, we will need to download the installer script which we will use to download the Kali image file. Follow the steps below.
Launch Termux from the applications menu.
Execute the following apt command below to install the wget utility which we will use to fetch the installer script from GitHub.
apt install wget
Download the installer script from GitHub using the command below.
wget https://gitlab.com/kalilinux/nethunter/build-scripts/kali-nethunter-project/raw/master/nethunter-rootless/install-nethunter-termux
When you run the ls command, you will see a file called 'install-nethunter-termux'. You need to make this script executable by running the command below.
chmod +x install-nethunter-termux
Now, run the installer script using the command below.
./install-nethunter-termux
When you execute this command, you will see a screen with the Kali logo and a list of the various Kali images available for installation.
These images are:
- Nethunter ARM64 (full): Comprehensive Kali image with a wide range of tools for an extensive experience.
- Nethunter ARM64 (minimal): Streamlined version with essential tools, suitable for limited storage or lighter installations.
- Nethunter ARM64 (nano): Compact Kali image with minimal tools for specific, lightweight use cases.
In our case, we will install the Kali Nethunter (full) image. It is a large image and might take some time. However, it comes with all the tools you would expect to kickstart your penetration testing journey.
After successfully installing Kali Linux on your Android phone, you should see a screen similar to the image below.
9. Launch Kali Linux on Android
Up to this point, Kali Linux is downloaded and installed on your Android phone. However, you will notice that you are still not getting the Kali shell prompt. To launch Kali, type the command below and hit Enter.
nethunter
You will now drop to the Kali Linux console as shown in the image below:
You can now use Kali Linux tools and commands just like you would on a Kali Desktop running on your laptop. To get started, execute the command below to check the OS and OS-version.
cat /etc/os-release | grep "\bNAME="
10. Enable Kali Linux Graphical User Interface on Android
Up to this point, you can only use Kali Linux using the command-line prompt on the Termux. Luckily, there is a way you can easily access and use the default XFCE Desktop environment, which comes installed on Kali Linux. This procedure uses straightforward logic. We will use the Win-Kex utility. A tool that enables users running Kali Linux via WSL access the Kali Desktop Interface on their Windows PC. Kex works by creating a VNC session on Kali Linux, and you can access the running session graphically using a Kex-client utility like Nethunter-kex.
Follow the steps below to get started.
Launch the Termux application and type nethunter
to open the Kali Linux shell prompt.
On the Kali Linux console, type kex
and hit Enter.
You will see a prompt to set up a VNC password. Enter your Password and confirm.
Next, you will see a prompt to set a "view-only password." Type 'N' for no and hit Enter.
To start Kex on your Android phone, run the command below:
kex start
11. Connect to Kali Linux instance on Android
Now, launch the Nethunter application and enter the settings shown in the image below. Luckily most of the fields are filled automatically. All you need to type is the Password. You don't need to type the VNC username.
When done, click Connect. That will launch Kali Desktop on your Mobile Phone in landscape mode, as shown below.
Congratulations! You are now running the full-featured Kali Linux operating system on your Android phone. Of course, navigating through the tiny menus can be a little difficult, but luckily you can use the cursor and using your phone touchscreen as the touchpad/mouse for control. To stop the VNC server, switch to the Termux application and type the command below:
kex stop
Even though we have successfully installed a full-featured Kali Linux on Android device, running some utilities that require root permission on a non-rooted device will be impossible. However, that's a slight glitch as many tools don't need root permission. Running Kali on your mobile phone can be pretty handy with tasks like Password cracking and brute-forcing since nowadays, most phones have plenty of RAM and storage space. That turns your Android device into a hacking utility while still performing the functionalities of a mobile phone.
For any issues or concerns you can reach out to us at admin@golinuxcloud.com.
I haven’t been able to get past “configuring nethunter for termux” any ideas what happens next???
I managed to install everything, works good. But when I try to enter graphical interface trough Nethunter I get just black screen. I would appreciate help. Thanks in advance
i have successfully installed following the given steps. If I want to uninstall kali, how can I do it?
thanks
done
ello. It was wonderful. I was able to run Kali. But I was not able to use the wifi through the equipment. I couldn’t update through the Kali terminal and when I opened firefox I got the information that there was no internet.
I realized that there was information that the NetWork Manager was not working and when I asked for the Network Manager to start in the terminal it informed that it had not been found. When I installed it there was the information that it was already installed. Something remains to be done. Does anyone have an idea
password is not filling up after all steps
Just wait, mine took about 15 min or so, 75mbps connection, then keep reading carefully, yes, read carefully and change whatever needs to be changed, and voila !!!
I’m just having trouble with the mousse :/
you are on the correct procedure,you should check your internal storage,if ok then be patient it will extract rootsf for a while
I try so many time but every time it says this
pls someone help me what to do im not able to install kali nethunter pls help me
same
Just wait a few mins… Mine one also the same problem but I left my phone on charging then went to take a nap … Then it’s been installed
hey you are lucky..mine does not display full image at the options to choose one..so I really wonder what is the problem but I hope to get a solution soon
if you the problem please share with me
you’re almost there, just wait up to 10mins i think at most to finish extracting.. mine is that i can’t connect to network and can’t set the time
Yeah that’s right your on the right track how long do you wait depending on your device it takes me about 4 or5 mins to extract the rootfs get to that point and put it down and you just have to wait till it extracts
[*] Checking device architecture …
[1] NetHunter ARM64 (full)
[2] NetHunter ARM64 (minimal)
[3] NetHunter ARM64 (nano)
Enter the image you want to install: Kali NetHunter.
your answer here is 1 and you press enter.
and you will Walt for it to extract then enter
before proceeding.
same please someone help me out
It’s downloading you just have to be patient for it to extract the rootfs
kex
/usr/bin/kex: line 19: vncserver: command not found
/usr/bin/kex: line 20: vncserver: command not found
/usr/bin/kex: line 25: vncpasswd: command not found
/usr/bin/kex: line 30: vncserver: command not found
Error starting the KeX server.
Please try “nethunter kex kill” or restart your termux session and try again.
Mine is showing me error, anyone on how to resolve this?
same here .no solutions to this I don’t know what to do