- Adds an aarch64 ELF shellcode payload alongside the existing amd64 one,
selected at runtime via runtime.GOARCH. The arm64 ELF is a hand-built
172-byte binary performing the same setuid(0) / execve("/bin/sh") /
exit(0) sequence (syscalls 146, 221, 93). Disassembly for both payloads
is documented inline.
- Replaces the hardcoded /usr/bin/su path with resolveSu(): tries
/usr/bin/su first, then falls back to exec.LookPath("su") so the PoC
works on systems where su lives elsewhere (e.g. /bin/su on Debian
derivatives, or anywhere a non-standard PATH points).