M1 Mac Pentesting

This page is meant to help people know what resources are compatible with the new M1 chip on the 2021+ Macbook Pros. I love the speed and the battery life of the new M1 Mac, but because the new chip is ARM64 based, there will be some issues with compatibility for exisitng programs (especially virtualization). Apple has introduced Rosetta 2 which allows you to run most Intel based 32/64 bit programs on MacOS. This is meant to be a temporary solution until developers can port their apps over to the new ARM64 architecture.

I will be listing out several programs and workarounds I have used to setup my M1 Mac as a pentesting machine and for personal use.

Virtualization

Keep in mind that the virtualization software AND the image being used must be ARM64 compatible. My personal favorite out of all of these is Parallels. It is paid, but the developers do an incredible job at maintaining the code, and the speed is incredible. No other virtualization software for Mac is even close. VMWare Fusion has fallen behind in my opinion, but try them all out and see what works best. Parallels also has ARM64 images for download right after installation (Kali, Windows 11, Debian, etc.)

VMWare Fusion (License Required) - COMPATIBLE WITH ARM64

Download Link

Parallels (Paid) - COMPATIBLE WITH ARM64

Download/Purchase Link

Docker (Free) - COMPATIBLE WITH ARM64

Download Link

UTM (Free)- COMPATIBLE WITH ARM64

Download Link

Oracle VirtualBox - NOT COMPATIBLE

ISO Images for Virtual Machines

Windows 11

Download Link

Developer preview (free account required to download, or can download directly in Parallels interface). Most programs can be run 32/64 bit in "emulation mode". It will not run as fast, but you can still run programs on Windows 11 ARM on your M1 Macbook. Parallels + the M1 chip will compensate for this, so you can still install all your favorite pentest tools in an ARM Windows 11 VM.

Kali Linux

Download Link

Debian

Download Link

Ubuntu

Download Link

Arch Linux

Download Link

Parrot OS

Currently being worked on as of Dec 19, 2021

Windows Commando by FireEye

Currently not compatible with Windows 11 ARM64 Developer preview. I tested the install script and it breaks the VM. Good thing I took a snapshot before I started the install process. I'm seeing how hard it would be to port it over to Windows 11 ARM64. Most apps can be emulated for 64bit and 32bit so I'll dig through the install script.

Update Looks like the script is using this list of Packages. Might be better for now to go through the list of packages and manually install only whats needed. Also disable windows Defender in Local Policy.

Notes About Kali Linux ARM64 on M1 Mac Parallels

I will update my notes here about my experience of running Kali Linux.

First of all, this is the smoothest VM experience I've ever had (even compared to my desktop at home with 64GB of RAM and a 3080 graphics card). The M1 combined with the optimized Parallels 17 is buttery smooth. I wouldn't even know I was using a VM.

Programs I've tested

I've tested over 50 programs on Kali Linux and so far everything has worked perfect except for Burp Suite. (It would make sense because the folks at Offensive Security have nightly builds to make sure their M1 Mac ARM64 image works as intended.) So far there hasn't been anything that I couldn't do in my normal workflow.

Below is a small list of some of the programs I've tested:

  • Msfvenom
  • Metasploit (msfconsole)
  • MongoDB
  • Cherry Tree
  • Nikto
  • Nmap
  • Aircrack-ng suite
  • Rardare2
  • rdesktop
  • xfreerdp
  • Autopsy
  • Proxychains
  • John
  • Hashcat (don't run this in a VM but it works --force lol)
  • SQLMap
  • Impacket Library of tools
  • Gobuster (needs to be installed. Go Lang is supported on ARM64)
  • ❌ Burpsuite doesn't work on Kali ARM64, but it's currently being worked on by developers. Just use Burp on your Mac using Rosetta 2 (see section below) and wait for the ARM version.

Software

There is a nice website that you can use to see if a specific software package will work on the M1 Mac:

DOES IT ARM?

Below is a list of software that I use regularly that I've tested out on my M1 mac. I will list if it's ARM64(✅) compatible, or if Rosetta 2(⚠️) is required to run it:

⚠️ Burp Suite

Works amazing on M1 machine, but Rosetta 2 is required. Install as normal and enter your license key if using the pro version. Here it is confirmed they are working on a native M1 release (which means an ARM version for Kali might be around the corner too.) News on M1 Release

VSCode

Natively supports ARM64

(https://code.visualstudio.com/Download)

Visual Studio

This is a developer preview version but the community version should be released early 2022.

(https://devblogs.microsoft.com/visualstudio/visual-studio-2022-for-mac-preview-3-and-upcoming-native-m1-processor-support/)

Notion.so

Natively supports ARM64 - My favorite app for taking notes. Only downside is internet is required.

(https://www.notion.so/desktop)

Bitwarden

Natively supports ARM64 - My favorite password manager app (and it's free)

(https://bitwarden.com/download/)

⚠️ Atom Text Editor

Works amazing with Rosetta 2.

(https://atom.io)

Sublime Text Editor

Natively supports ARM64

(https://www.sublimetext.com/)

Tunnel Blick VPN

Natively supports ARM64

(https://tunnelblick.net/cAppleSilicon.html)

GPG Tools

Natively supports ARM64

(https://gpgtools.org/)

Little Snitch

Natively supports ARM64

(https://www.obdev.at/products/littlesnitch/index.html)

Ida Pro

Natively supports ARM64

(https://www.hex-rays.com/products/ida/support/download_freeware/)

Postman

Natively supports ARM64

(https://www.postman.com/downloads/)

GCC

Natively supports ARM64

(https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm)

Python 2 and 3

Natively supports ARM64

(https://www.python.org/)

Hopper Dissasembler

Natively supports ARM64

(https://www.hopperapp.com/download.html)

Wireshark

Natively supports ARM64

UPDATE: It is now supports ARM64 Natively

(https://www.wireshark.org/)

⚠️ Ghidra

Works amazing with Rosetta 2.

(https://ghidra-sre.org/)

Microsoft RDP

Natively supports ARM64

(Download from Mac App Store)

Modo Monitor /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport en0 sniff 11