Skip to content

03. Choose a setup pattern 🧭

The go-to for pentesting is Kali Linux. We'll treat running it in a VM as the baseline. That said, standing up a Kali VM takes some effort up front, so we also provide a quick path to try things out.


The three patterns

Pattern Setup Where it fits
A. Kali VM (the standard) ⭐ Run real Kali in a UTM VM The royal road of pentesting. Every tool is already included
B. Mac native (quick) Install nmap/Metasploit directly on the Mac; the target runs in Docker When you just want to get something running and get a feel for it
C. Attacker in a container too Put the attacker in Docker as well, on the same network as the target When you want the reverse shell to work reliably

💡 If you want to learn seriously, A (Kali VM) is the standard. But on Apple Silicon there are plenty of snags during setup, so if you "just want to get hands-on first," one option is to start with B (Mac native) and move to A once you're comfortable.


A. Run Kali Linux in a VM (the standard)

Stand up a Kali VM with UTM (virtualization software for the Mac). Kali's strength is that nmap, Metasploit, and the other tools are all included from the start.

On Apple Silicon there are a lot of snag points — black screens, import errors, and the like — so we've collected a path that avoids the stumbles in Appendix B. Run a Kali VM in UTM.

⚠️ Kali is "an attack OS with every tool built in." Always use it only against your own practice targets.

B. Mac native (a quick try)

Without waiting to build a Kali VM, you can install the tools directly on your Mac and start right away. There's a script that installs everything at once.

bash scripts/install-tools.sh    # nmap / Docker check / Metasploit image

If you'd rather install manually, see 04. Get the tools onto your Mac.

C. Put the attacker in a container too

On macOS Docker there's a pitfall where "the reverse shell from the target container won't come back to the Mac host." You can avoid it by putting the attacker in a container too, on the same network as the target. → For the steps and the reasoning, see Appendix D. The reverse shell won't come back.


Have AI help with setup

For each pattern's setup, you can also paste a prompt to AI and have it help. A collection of copy-paste-ready prompts → Appendix C. AI prompt collection.

⚠️ Even when you ask AI to handle setup, check the commands it runs yourself.