Following his Christmas Eve Confirmation and PS4 4.05 Kernel Exploit release, today PlayStation 4 developer @SpecterDev announced on Twitter that he published his "NamedObj" 4.05 Kernel Exploit Writeup as promised!
PS4 developers can check it out in it's entirety on Github, and below is a brief summary of the 1.76 changes and his conclusion to quote: "NamedObj" 4.05 Kernel Exploit Writeup
Changes Since 1.76
Some notable things have changed since 1.76 firmware, most notably the change where Sony fixed the bug where we could allocate RWX memory from an unprivileged process.
The process we hijack via the WebKit exploit no longer has RWX memory mapping permissions, as JiT is now properly handled by a seperate process. Calling sys_mmap() with the execute flag will succeed; however any attempt to actually execute this memory as code will result in an access violation. This means that our kernel exploit must be implemented entirely in ROP chains, no C payloads this time.
Another notable change is kernel ASLR (kASLR) is now enabled past 1.76.
Some newer system calls have also been implemented since 1.76. On 1.76, there were 85 custom system calls. On 4.05, we can see there are 120 custom system calls.
Sony has also removed system call 0, so we can no longer call any system call we like by specifying the call number in the rax register. We will have to use wrappers from the libkernel.sprx module provided to us to access system calls.
Conclusion
This exploit is quite an interesting exploit, though it did require a lot of guessing and would have been a lot more fun to work with should I have had a proper kernel debugger. To get a working object can be a long a grueling process depending on the leak you're using.
Overall this exploit is incredibly stable, in fact I ran it over 30 times and WebKit nor the Kernel crashed once. I learned a lot from implementing it, and I hope I helped others like myself who are interested in exploitation and hopefully others will learn some things from this write-up.
Special Thanks
Download: 3.55-specterPort.7z (16.48 KB) / PS4 Entrypoint 4.05 by IDC
Season's greetings to @ombus in the PSXHAX Shoutbox for the heads-up!
PS4 developers can check it out in it's entirety on Github, and below is a brief summary of the 1.76 changes and his conclusion to quote: "NamedObj" 4.05 Kernel Exploit Writeup
Changes Since 1.76
Some notable things have changed since 1.76 firmware, most notably the change where Sony fixed the bug where we could allocate RWX memory from an unprivileged process.
The process we hijack via the WebKit exploit no longer has RWX memory mapping permissions, as JiT is now properly handled by a seperate process. Calling sys_mmap() with the execute flag will succeed; however any attempt to actually execute this memory as code will result in an access violation. This means that our kernel exploit must be implemented entirely in ROP chains, no C payloads this time.
Another notable change is kernel ASLR (kASLR) is now enabled past 1.76.
Some newer system calls have also been implemented since 1.76. On 1.76, there were 85 custom system calls. On 4.05, we can see there are 120 custom system calls.
Sony has also removed system call 0, so we can no longer call any system call we like by specifying the call number in the rax register. We will have to use wrappers from the libkernel.sprx module provided to us to access system calls.
Conclusion
This exploit is quite an interesting exploit, though it did require a lot of guessing and would have been a lot more fun to work with should I have had a proper kernel debugger. To get a working object can be a long a grueling process depending on the leak you're using.
Overall this exploit is incredibly stable, in fact I ran it over 30 times and WebKit nor the Kernel crashed once. I learned a lot from implementing it, and I hope I helped others like myself who are interested in exploitation and hopefully others will learn some things from this write-up.
Special Thanks
- CTurt
- Flatz
- qwertyoruiopz
- other anonymous contributors
Download: 3.55-specterPort.7z (16.48 KB) / PS4 Entrypoint 4.05 by IDC
Season's greetings to @ombus in the PSXHAX Shoutbox for the heads-up!