http://ligocki.tumblr.com/post/5174133459/writing-shellcode-under-mac-os-x-part-0x01
https://filippo.io/making-system-calls-from-assembly-in-mac-os-x/
http://dustin.schultz.io/blog/2010/11/15/mac-os-x-64-bit-assembly-system-calls/
A few highlights:
- OS X is a nix based system, so essentially shellcode creation is like on Linux, you can use syscalls
- These days OS X is x64 only, so you need to pass arguments in the registers, the order is: RDI, RSI, RDX, R10, R8 and R9
- syscalls are done through the syscall command, which is stored in the RAX register
- You need to add 0x20000000 to the syscall number
1. A simple /bin/sh code: https://www.exploit-db.com/exploits/38065/
2: A bind TCP shell, listening on port 4444: https://www.exploit-db.com/exploits/38126/
I also posted them on my github page: https://github.com/theevilbit/shellcode
1 comment:
Why OSX has only 64 bit machines? ...
Post a Comment