On macOS, running linpeas.sh automatically executes the MacPEAS check set — LinPEAS detects a Darwin kernel and switches. Download it the same way as on Linux, make it executable, and run it. There are compiled linpeas_darwin_amd64 and linpeas_darwin_arm64 binaries too.
How the switch works#
LinPEAS checks the kernel name at startup. If uname reports Darwin, it runs MacPEAS — a check set tailored to macOS, covering things like LaunchAgents/LaunchDaemons, keychains, and macOS-specific permissions in addition to the shared checks. You can force the mode with -M (MacPEAS) or -L (LinPEAS) if needed.
Download and run#
curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh -o linpeas.sh
chmod +x linpeas.sh
./linpeas.shOr use the compiled binary for your CPU (Apple Silicon vs Intel):
curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas_darwin_arm64 -o linpeas
chmod +x linpeas
./linpeasGatekeeper and permissions#
macOS Gatekeeper may block an unsigned downloaded binary. On a machine you own or are authorised to test, you can remove the quarantine attribute; do not do this on systems outside your authorisation.
xattr -d com.apple.quarantine ./linpeas # authorised systems onlySome macOS checks read privacy-protected locations and may be limited unless the terminal app has the relevant Full Disk Access permission. Missing access simply means some sections report less, not that the run fails.
Verified against PEASS-ng release 20260908-dffb9496.
Sources & references
- PEASS-ng releases — reviewed 20260908-dffb9496
- linPEAS README — download and usage commands
- Kali peass-ng package — package name and paths