Install Kali Linux on Android [100% Working]


Ethical hacking

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.

Install Kali Linux on Android [Step-by-Step]

 

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.

Install Kali Linux on Android [100% Working]

That will open a new screen where you will see more information about the app and also the “INSTALL” option.

IMPORTANT NOTE:
Do not tap the “INSTALL” option to start installing the app. Instead, scroll to the bottom of the app and tap “Versions.” This will reveal all the Termux versions available for installation. As of writing this post, the available versions include 0.118, 0.117, and 0.116.

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.

Install Kali Linux on Android [100% Working]

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.

Install Kali Linux on Android [100% Working]

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.

Install Kali Linux on Android [Step-by-Step]

 

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.

Install Kali Linux on Android [Step-by-Step]

 

7. Setup the Environment

Launch Termux on your phone and update and upgrade the system using the command below.

NOTE:
Termux doesn't give you a Graphical interface. Instead, all you get is a command-line shell where you can execute commands. If you have worked with Linux systems before, this shouldn't be a big deal. If you are a newbie to Linux systems, don't worry. Just execute the commands on this article until we have a fully Kali Linux Desktop system running on our Android device.
pkg update && pkg upgrade -y
Install Kali Linux on Android [Step-by-Step]

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
Install Kali Linux on Android [Step-by-Step]

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.

Install Kali Linux on Android [Step-by-Step]

 

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.

Install Kali Linux on Android [100% Working]

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.

Install Kali Linux on Android [100% Working]

 

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:

Install Kali Linux on Android [Step-by-Step]

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="
Install Kali Linux on Android [Step-by-Step]

 

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.

NOTE:
VNC passwords have a limit of up to 8 characters. If you set a password of more than eight characters, it is truncated to 8 (by default).

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
Install Kali Linux on Android [Step-by-Step]

 

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.

Install Kali Linux on Android [100% Working]

When done, click Connect. That will launch Kali Desktop on your Mobile Phone in landscape mode, as shown below.

Install Kali Linux on Android [100% Working]

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
Install Kali Linux on Android [Step-by-Step]

 

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.

 

Deepak Prasad

Deepak Prasad

Deepak Prasad is the founder of GoLinuxCloud, bringing over a decade of expertise in Linux, Python, Go, Laravel, DevOps, Kubernetes, Git, Shell scripting, OpenShift, Networking, and Security. His extensive experience spans development, DevOps, networking, and security, ensuring robust and efficient solutions for diverse projects.

Certifications and Credentials:

  • Certified Kubernetes Application Developer (CKAD)
  • Go Developer Certification
  • Linux Foundation Certified System Administrator (LFCS)
  • Certified Ethical Hacker (CEH)
  • Python Institute PCAP (Certified Associate in Python Programming)
You can connect with him on his LinkedIn profile and join his Facebook and LinkedIn page.

Can't find what you're searching for? Let us assist you.

Enter your query below, and we'll provide instant results tailored to your needs.

If my articles on GoLinuxCloud has helped you, kindly consider buying me a coffee as a token of appreciation.

Buy GoLinuxCloud a Coffee

For any other feedbacks or questions you can send mail to admin@golinuxcloud.com

Thank You for your support!!

71 thoughts on “Install Kali Linux on Android [100% Working]”

  1. 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

    Reply
  2. 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

    Reply
  3. 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 :/

    Reply
  4. you are on the correct procedure,you should check your internal storage,if ok then be patient it will extract rootsf for a while

    Reply
  5. I try so many time but every time it says this

    [*] Checking device architecture ...
    
    [1] NetHunter ARM64 (full)
    [2] NetHunter ARM64 (minimal)
    [3] NetHunter ARM64 (nano)
    Enter the image you want to install: Kali NetHunter
    ./install-nethunter-termux: line 75: ((: Kali NetHunter == 1 : syntax error in expression (error token is "NetHunter == 1 ")
    ./install-nethunter-termux: line 78: ((: Kali NetHunter == 2 : syntax error in expression (error token is "NetHunter == 2 ")
    ./install-nethunter-termux: line 81: ((: Kali NetHunter == 3 : syntax error in expression (error token is "NetHunter == 3 ")
    
    [*] Checking package dependencies...
    Installing proot...
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    The following additional packages will be installed:
      libtalloc
    The following NEW packages will be installed:
      libtalloc proot
    0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
    Need to get 116 kB of archives.
    After this operation, 463 kB of additional disk space will be used.
    Get:1 https://packages-cf.termux.dev/apt/termux-main stable/main aarch64 libtalloc aarch64 2.4.0 [32.9 kB]
    Get:2 https://packages-cf.termux.dev/apt/termux-main stable/main aarch64 proot aarch64 5.1.107-59 [82.7 kB]
    Fetched 116 kB in 1s (185 kB/s)
    Selecting previously unselected package libtalloc.
    (Reading database ... 6788 files and directories currently installed.)
    Preparing to unpack .../libtalloc_2.4.0_aarch64.deb ...
    Unpacking libtalloc (2.4.0) ...
    Selecting previously unselected package proot.
    Preparing to unpack .../proot_5.1.107-59_aarch64.deb ...
    Unpacking proot (5.1.107-59) ...
    Setting up libtalloc (2.4.0) ...
    Setting up proot (5.1.107-59) ...
    Processing triggers for man (1.14.6-1) ...
      tar is OK
    Installing axel...
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    The following NEW packages will be installed:
      axel
    0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
    Need to get 23.9 kB of archives.
    After this operation, 106 kB of additional disk space will be used.
    Get:1 https://packages-cf.termux.dev/apt/termux-main stable/main aarch64 axel aarch64 2.17.11-2 [23.9 kB]
    Fetched 23.9 kB in 0s (58.1 kB/s)
    Selecting previously unselected package axel.
    (Reading database ... 6804 files and directories currently installed.)
    Preparing to unpack .../axel_2.17.11-2_aarch64.deb ...
    Unpacking axel (2.17.11-2) ...
    Setting up axel (2.17.11-2) ...
    Processing triggers for man (1.14.6-1) ...
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    Calculating upgrade... Done
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    [*] Downloading rootfs...
    
    --2023-06-05 11:23:34--  https://kali.download/nethunter-images/current/rootfs/kalifs-arm64-full.tar.xz
    Resolving kali.download... 104.18.103.100, 104.18.102.100, 2606:4700::6812:6764, ...
    Connecting to kali.download|104.18.103.100|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 1839049448 (1.7G) [application/octet-stream]
    Saving to: ‘kalifs-arm64-full.tar.xz’
    
              ka  50% 882.22M  1.68MB/s    eta 6m 2s  kalifs-arm64 100%   1.71G  2.59MB/s    in 12m 2s
    
    2023-06-05 11:35:36 (2.43 MB/s) - ‘kalifs-arm64-full.tar.xz’ saved [1839049448/1839049448]
    
    
    [*] Getting SHA ...
    
    --2023-06-05 11:35:36--  https://kali.download/nethunter-images/current/rootfs/kalifs-arm64-full.sha512sum
    Resolving kali.download... 104.18.103.100, 104.18.102.100, 2606:4700::6812:6664, ...
    Connecting to kali.download|104.18.103.100|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 155 [application/octet-stream]
    Saving to: ‘kalifs-arm64-full.sha512sum’
    
    kalifs-arm64 100%     155  --.-KB/s    in 0s
    
    2023-06-05 11:35:37 (6.58 MB/s) - ‘kalifs-arm64-full.sha512sum’ saved [155/155]
    
    
    [*] Verifying integrity of rootfs...
    
    kalifs-arm64-full.tar.xz: OK
    
    [*] Extracting rootfs...

    pls someone help me what to do im not able to install kali nethunter pls help me

    Reply
    • 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

      Reply
    • 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

      Reply
    • 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

      Reply
    • 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

      Reply
    • [*] 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.

      Reply
  6. 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?

    Reply

Leave a Comment