In this tutorial we will demonstrate step by step instructions to install Kali Linux on Apple M1 with UTM.
Kali Linux is one of the most popular Linux distributions developed specifically for penetration testing, ethical hacking and security auditing. This OS comes packed with a comprehensive set of security tools for testing for vulnerabilities on your network, on software and even on other devices.
For quite some time, running Kali Linux on macOS has been straightforward. However, in recent years, it has become more complex and technical. This post provides a comprehensive guide on installing Kali Linux on Apple M1 using UTM.
When working with Intel-based Macs, it was easier to install Kali Linux as a virtual machine using virtualization software such as VMware or Virtualbox. You can actually go through our comprehensive post - Install Kali Linux on VirtualBox. However, even with Intel Macs, users started facing an issue when they introduced the T2 Security Chip.
When Apple later switched to the M1 chip, running Kali Linux or any other Linux distribution on Mac became a nightmare. The shift to the M1 chip introduced a significant architectural difference, as the M1 chip is based on ARM architecture, diverging from the Intel x86 architecture used in previous Macs.
This architectural disparity posed challenges for developers to adapt and optimize software, including operating systems like Kali Linux, for the new ARM-based architecture. Compatibility issues, the need for new drivers, changes in virtualization support, and variations in the boot process on M1 Macs contributed to the complexity of installing Kali Linux on M1-based Macs.
Steps to install Kali Linux on Apple M1 with UTM
1. Download Kali Linux
Launch your browser and navigate to the official Kali website. You will be presented with a list of options for how to get Kali on your system. Select “Installer Images.” Here, you will see three options - Kali 64-bit, Kali 32-bit and Kali for Apple Silicon (ARM64). Click “Apple Silicon (ARM64)” since M1 Macs run on an ARM chip.
You will see three images available for download.
- Weekly release: This image is created and released weekly. That means users can expect the latest features, security updates, and improvements regularly. However, since most of these new features are untested, users should be aware that they might encounter more unpredictable behaviour or issues compared to the more stable releases.
- Installer (recommended): This is a complete Kali image that is tested and contains every package required to get you started with Kali Linux. You don’t need any internet connection during the installation. One drawback with this image is you cannot use it for “Live boot.”
- NetInstaller release: This image small image that you can use to install Kali Linux. The major difference is that it does not come with any meta packages and it will download them during the installation. If you go for this option, be sure to have a stable and reliable internet connection.
For this post, we will download the “Installer” image.
2. Download and Install UTM
If you have been working with virtual machines, you probably know of software like VMware, Virtualbox or QEMU. Well, there is a new entry in the market - UTM (Universal Type Manager). It is a virtualization platform primarily designed for running virtual machines (VMs) on Apple Silicon-based Macs.
You can easily download UTM from their official website or the Mac Apple Store. It is good to note that the UTM package available in the Apple Store will cost you $10 while it is free on their official website yet they will achieve the same thing. Therefore we recommend downloading the UTM dmg file from their official website.
After a successful download, place the two files in any folder - let's say “Desktop” where it would be easy to navigate. Double-tap the UTM dmg file to start the installation process. You will see a window similar to the image below. Click and hold the UTM package and drag it to the Applications folder.
3. Create a Kali Linux virtual machine
Up to this point, you have everything needed to install Kali Linux on your M1 Mac. First, navigate to the applications menu and launch the UTM app. You will see a window similar to the image below.
Click the “Create a New Virtual Machine” option. You will see a pop-up window with two options:
- Virtualize: This option allows you to create virtual machines with the same architecture as your host PC. For example, our M1 Mac uses an ARM chip, which means we can only use ARM-based images.
- Emulate: This option allows you to create virtual machines that are of different architecture to your host PC. For example, if you want to install any Intel-based or AMD-based OS on an M1 Mac which uses an ARM chip, then you will go for this option. However, the performance of the virtual machine might be sluggish and we recommend using an OS that matches your computer architecture.
In our case, we are using an ARM-based OS image so we will simply select “Virtualize.”
In the next screen, you will need to select the kind of OS you want to virtualize. You will see several options including:
In our case, click “Linux.”
On the next screen, untick the first two options. They include “Use Apple Virtualization” and “Boot from kernel image.” Once done, you now need to import the Kali ISO file that we downloaded. Click the “Browse” option at the bottom of the window.
That will open the file manager and you can select the Kali ARM file that we downloaded and import it into UTM. Click “Continue” when done.
In the next screen, you will need to set up the hardware specifications for your virtual machine - specifically the RAM and CPU. We recommend assigning the virtual machine 4GB RAM and 4 CPU cores. Also “tick” the “Enable hardware OpenGL acceleration” for improved performance. Click “Continue” when done.
In the next screen, you will need to assign storage space to your Kali Linux virtual machine. We highly recommend at least 30GB. Next, you will have an option to set a “Shared Directory.” This is a folder on your macOS that you can also access in your Kali Linux VM. Click the “Browse” button and select the folder you want to share. Click “Continue” when done.
In the next screen, you will see a summary of your Kali Linux VM settings. Change the name from Linux to a name of your choice like “Kali Linux” and hit “Save.”
The next screen will show your final Kali Linux VM and an option to launch Kali. However, there is one more final setting that you need to tweak. Click the Settings option (hamburger) menu at the top-right and this will open your VM settings window.
Here, we will leave most of the settings as default. However, select the “Display” option and enable “Retina mode” by ticking the checkbox as shown in the image below.
Click “Save” at the bottom of the window to apply the changes.
4. Install Kali Linux
On the VM homepage, click the large play button to start/boot Kali Linux. Keep in mind that when you tap inside a virtual machine, the cursor will be bound to the guest OS. To release the cursor, press Ctrl+Option to get control of the cursor back to the host OS.
After a while, you will see the Kali Linux boot menu. Here you will see several options including:
- Install (recommended)
- Graphical Install
Note: Use the normal “Install” option. Don’t use “Graphical Install” which is currently not booting with UTM. Keep in mind you will need to use the Arrow keys, the Enter key, the tab key for navigation during the installation and the Space key for selecting an item.
Follow the onscreen prompts to install Kali Linux as shown in the steps below.
- Select the language you need to use for the installation process.
- Select your location and hit “Enter.”
- On the next screen, you will need to configure your keyboard. Select “American English” If you want to use the normal QWERTY keyboard.
- Next, you will need to enter your hostname. You can leave it as default which is “Kali.” Click “Continue.”
- You will be prompted to enter a domain name. You can leave these fields blank and proceed to configure your username and password.
- Next, you will need to configure the clock by selecting your timezone. Click continue when done and proceed to configure the disks. You will see several options. Select, “Guided - use entire disk” and click “Continue.”
- When you see a prompt about “Partition scheme,” select the “All files in one partition” option. Once done, click “Continue” and select “Finish partitioning and write changes to disk” to start the installation process.
- In the software selection window, ensure you have selected the XFCE desktop environment as shown below. Hit “Enter” when done.
- Kali Linux will continue with the installation and you will be prompted to “Reboot” when done.
5. Remove the installer disk
After rebooting your Kali Linux VM, you will notice that you are still redirected to the installation menu. Don’t panic! That’s because we have not removed the installer image yet. Click the “Drive image options” icon located in the UTM menu at the top.
This will open a pop-up window listing all the OS images connected to your virtual machine. Click the “Eject” option next to the Kali Image file and reboot your Virtual machine.
Now, your virtual machine will no longer boot to the installation screen. Instead, it will boot to the Kali Desktop as shown in the image below.
This post has given you a step-by-step guide on how to install Kali Linux on your M1 Mac using UTM. From our experience, the performance was smooth and we were able to create several payloads using Metasploit with ease. If you are just getting started with penetration testing, feel free to visit our ethical hacking section which has many comprehensive resources.
He is the founder of GoLinuxCloud and brings over a decade of expertise in Linux, Python, Go, Laravel, DevOps, Kubernetes, Git, Shell scripting, OpenShift, AWS, Networking, and Security. With extensive experience, he excels in various domains, from development to DevOps, Networking, and Security, ensuring robust and efficient solutions for diverse projects.