How to install Kali Linux on an M1 Mac for free

Installing Kali on your ARM processor Mac and scanning your home network for vulnerabilities

Keith Myers
Mac O’Clock
6 min readFeb 24, 2022

--

Introduction

I recently decided to audit my home network and wanted to check for any vulnerabilities. Rather than install anything on my Mac, I thought it would be easier to just run Kali as a VM and run some scans from there. After a little research I figured I could get Kali working on UTM and after working on the configuration, I found that it runs really well.

I put this guide together to help others get Kali up and running on an M1 Mac and I’ve also added a small scan for you to use to investigate your own home network.

Kali Linux running on my M1 Mac

High-Level Steps Involved

I’m going to go into the specific steps of what you need to do in order to get Kali up and running with an M1 Mac, but if you don’t want to read through the details, the main steps are listed below.

  1. Download Kali Linux for M1 Mac
  2. Install UTM for MacOS
  3. Configure a new Virtual Machine for Kali
    a) Linux
    b) 2GB RAM
    c) 30GB HDD
  4. Update
    a) Install Spice Tools
    b) Set the resolution to 1680x1050
    c) Update Kali

Download Kali

Go to www.kali.org and hit download from the front page. You’ll then be presented with lots of different download options as Kali can run on a wide variety of different platforms.

Choose Bare Metal, then click on Apple M1. From there download the Installer which is the recommended download. By default, this should download to your downloads folder.

Kali Download Installer for Apple M1 Mac
M1 Kali Download

Install UTM — Re-install if you already have this on your Mac!

Get the latest version of UTM from mac.getutm.app. The version from the App Store is the same but costs $10, so I don’t recommend using that.

If you’ve installed it before, UTM does not currently have an update function, so download the app again to make sure you have the latest version. As you can probably guess this happened to me and my version didn’t have the Bridged network feature which you really need for Kali.

UTM Download

Configure the Kali VM

There are quite a lot of steps to get the VM setup, and it sounds more complex than it actually is. To make the process as simple as possible, I’ve listed all the steps below:

New Virtual Machine

Open UTM and from the File Menu, click on New Virtual Machine. You will then be presented with an option to Virtualize or Emulate. Click on Virtualize to continue.

Create a Virtual Machine on an M1 Mac using UTM
UTM Create a Virtual Machine or Emulate

Linux

When prompted, choose select Linux as the Operating System.

From the next screen, leave the options as default as per the screenshot below and select the Kali image file that you downloaded as the Boot ISO Image.

Kali boot image for Mac VM
Kali Boot image fr Mac VM

Hardware

I set the memory to just 2048MB rather than the default 4096 and I’ve found Kali runs fine. If you do get performance issues you can always increase this at a later date.

All of the other hardware options on this screen I leave as default.

Storage

To run Kali with a graphical desktop, the Kali website recommends a minimum 20GB HDD. I set mine to 30GB and you can always add additional drives for storage at a later date if needed.

Shared Directory

I haven’t created a shared directory with Kali, so I leave these options blank.

Summary Settings

You will next be presented with a summary of your settings, which should be similar/almost identical to the screen below. Click Save and you will have created your virtual machine.

Networking

I initially wanted Kali on my home network so that I could run a few vulnerability tests internally. If you want to use Kali for the same purpose, then you want to change the networking to bridge mode.

From the UTM home screen, select your Virtual Machine and then click the settings button in the top right of the window. Then Click on the Network and change the mode to Bridged, then click save.

You’re now ready to install Kali on your Virtual Machine!!

Installing Kali

Once you power on the virtual machine, you will begin the installation process. I use the graphical installation with all the default options The only real time you have to interact is to create a user acccount that you will use in Kali (you must rememer that username and password!)

If you need help with the installation process, please referer to the offical guide here: https://www.kali.org/docs/installation/hard-disk-install/

Before you can start using Kali, there are still some configuration steps you’ll need to follow.

Configuring Kali

Eject the ISO

Once the installation is completed you need to eject the ISO from the Virtual Machine. Power off the Virtual Machine from the main UTM screen and clear the ISO.

Install the Spice Tools

We need to now install the Spice Tools for better driver support within Kali, including a better display adapter. From Kali, launch a Terminal window and run this command:

Now change the resolution by clicking on the Kali button and clicking Settings in the bottom right corner.

Settings from the Kali Menu

Then go to Display and change your resolution; I set mine to 1680x1050.

Updating Kali

Before you start using Kali, it’s recommended to ensure you have all of the components updated to the latest version. The Kali website also recommends checking this every few weeks.

To update, open terminal and then run the following 2 commands:

You are now all set to use Kali!

Scanning your network for vulnerabilities

Kali is a very powerful tool and whilst it’s great for ethical hacking, it can be used illegally too. I wanted to use Kali to look at the security of my own network, so my recommendation here is to only use it for your own or on networks that you have permission to work on.

If you’re starting out, you can use nmap to get a list of vulnerabilities on your network, which you should then work on addressing.

If you’ve followed my guide, you’ll have the Kali host running on your home subnet. If you’re using the address space 192.168.0.0/24 eg 192.1680.1 etc.. Then run this command:

Tips on using UTM

UTM has taken a while for me to get used to, and here are a few of the features that have made a difference for me:

Escape Keys — Control + Option gets you out of the virtual machine
Capture Mouse Cursor Button — According to the UI holding down control + Option does the same, but this button is different. When you press it, your cursor in your main OS moves to where the cursor should be in the VM. This is huge and really does make UTM a lot more usable.

Bonus

If you found this story useful, please leave a comment, I’m trying to grow my writing and I’d like to know if this was useful. If you don’t have time for that, please at least give me a clap,or better still, hold down your mouse button on the clap to give 50! (it’s free!!!)

--

--

Keith Myers
Mac O’Clock

British Tech guy living in LA. Tech, Crypto and security evangelist, occasional nerd and fitness freak. I also sometimes write about tech for parents.