I’m gonna keep it real with you here, the ARM-based Macbook was and is a game changer when it comes to laptops. The battery life is excellent, it’s fast and efficient. However, for many in Information Security, there was one thing that held us back from looking at it as a solid daily driver.

The ARM architecture.

ARM has revolutionized computing in mobile and IoT devices for its speed and effectiveness with the hardware it interfaces with. But we may need to do things like use gcc to compile an executable for a target system running a different architecture from our ARM version of Kali.

Below are the steps you can take to set your ARM-based Macbook and Kali VM up to overcome this issue.

On your Macbook

We’re going to get MacOS ready to support and run software and tools that use the x86 architecture.

Step 1: Install Rosetta 2, software that assists in translating instructions from x86 to the ARM architecture. Do this by running the below command in a terminal on your MacBook

softwareupdate –install-rosetta

Optional Step: Installing Homebrew under x86. Homebrew is a popular command line tool to install software tools on macOS. Installing Homebrew under x86 allows you to install x86 tools. This is not required for what we are doing, but it’s helpful to have that functionality. Run the below command to install.

arch -x86_64 /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)”

On your Kali ARM VM

Now we prime our Kali ARM VM to be able to compile and run x86 executables

Step 1: Update and Upgrade your Kali OS

sudo apt update && sudo apt upgrade -y

Step 2: Install some necessary libraries

sudo apt install -y qemu-user-static binfmt-support

Step 3: Add the amd64 architecture

sudo dpkg –add-architecture amd64

Step 4: Update again but this time without the upgrade command

sudo apt update

Step 5: Install the amd64 library

sudo apt install libc6:amd64

Step 6: Test your setup by installing and running PowerShell. On the first line we run the installation. After we run file on the installation so you can see it is an x86 executable. The output should look something like this:

Press enter or click to view image in full size

Description of image

Then finally, we run the command pwsh to spawn ==a== PowerShell session

sudo apt install -y powershell

file /opt/microsoft/powershell/7/pwsh

pwsh

Congrats! You’ve now overcome a limitation and are on your way to profit and fame! Well maybe not the last part but…you get it :)

Thanks for reading!