1
0
mirror of https://github.com/PrivSec-dev/privsec.dev synced 2025-02-20 18:31:35 -05:00
privsec.dev/content/posts/macos/Properly Generate a Randomize MAC Address on macOS.md
2023-08-16 08:01:48 -07:00

1.7 KiB

title date tags author
Properly Generate a Randomized MAC Address on macOS 2023-08-16
macOS
Privacy
Tommy

Unlike iOS, macOS does not have an easy way to randomize the MAC address. To work around this, various guides recommended several ways to create a randomized MAC address and apply it to the system during runtime. Unfortunately, most of the instructions do not have a proper threat model in mind and will end up making you stick out more from the crowd.

Standing Out

The Threat Model

Consider the following:

  • macOS does not support MAC address randomization by default
  • Most if not all macOS computers around you will use their real MAC address with Apple's OUI (the first 3 octets of your MAC address)
  • You cannot hide that you are using a mac (because of your hostname, connections to Apple's servers, etc)

Randomizing the mac address only makes sense if you use a not-very-unique hostname (like Macbook-Pro), and that you only randomize the last 3 octets of your MAC address so that you actually look like a new Macbook on the network.

Improper instructions

Unfortunately, most of the guides I could find recommends randomizing the entire MAC address instead of the final 3 octets. Take guides recommending macchanger for example, they fail to mention that the program does this:

[format('%0.2x', rand(256) & ~1), (1..5).map { format('%0.2x', rand(256)) }].join(':')

This is a completely randomized MAC address, which is not what we want.

Or this snippet from PrivacyGuides:

PrivacyGuides macOS MAC Randomization