Following up with his announcement back on December 9th, Developer @m0rph3us1987 today presented his Talk at the #35C3-Stage: "Exploiting PS4 Video Apps". Since his talk was held in German Language, you will find every important detail translated in this Article, so everyone can follow what he was presented for each Chart.
For an overview about the #35C3 Congress in General or where you can find all Livestreams from this Talk as well from other important ones, please click here.
Editor's Note: It seems that there are many users who have misunderstood both the Announcement of this Presentation as the Presentation itself, leading to the Question if we speak here about a true "Kernel Exploit" or about a "Web-Exploit" only. This Question won't be answered here in this Thread but when you read both this Article and the Presentation from the beginning, then you will understand that this Talk was not intended to answer that question as well. In fact if you will follow up his Talk completely, then you will understand that his Achievement was developed "in different ways" as previous Hackers and Developers tried to do like for the 1.76 and 5.05 Kernel Exploit. So I let you decide in which kind of Exploit we are speaking about here. In my eyes, this is neither a "Kernel", nor a "Web"-Exploit since his work is different, but still interesting. You will also understand that his Goal was to get "Code Execution" on the PS4 in Advance and not to "Exploit the Newest System Firmware" at first etc. Thanks for Understanding.
Following up after his warm welcome to the audience, he presents himself by describing both his occupation and his Hobbies as a "Software Engineer" in "Enterprise Resource Planning" (ERP) and that he was always interested in both "Reverse Engineering" and in "Low-Level Coding Languages" (he kinda describes it as a fetish ). Since he was following the Scene and recognizing that there was a Kernel Exploit for System Firmware 1.76 already available, he searched for a Bundle on Amazon to find a PS4 with that exact Firmware or below to have a good Basic on his further work. But instead of getting a Bundle, the Seller sent him a PS4 with two Games "bundled" separately and even worse, it was running on System Firmware 3.15. But instead of sending it back to get his money back, he decided to make his own work how to get access to his PS4. With this motivation, his Goal was already to show to the audience that his Achievements will be different to others in the Past (as described in the Editor's Note).
So to understand how his PS4 works, he decided to create a "Network Packet" at his home, where he can see every Task on the PS4 - no matter if you play a Game or watching a Movie - and what the Task is actually doing. He did this with the "tcpdump"-Function to analyze it later on "Wireshark". What he immediately noticed will be now explained in the next Tab, called "Analyse", which is German for "Analysis" or "Breakdown".
On the next Chart he describes that after his "Network Packet" is working, he immediately noticed that those "Video Applications" like "Netflix", "Amazon Prime", "IGN", "Vevo" etc. still uses an older Version from the "AppleWebkit" even while his PS4 is still way above System Firmware 1.76 (unlike the internal Web-Browser which got updated by Sony with a newer System Update after the Exploit was released). So he thought this could be a good "entry-point" for further investigating (which was also his Goal in General from his whole Talk so that other People like you can discover it by their own on their own Hardware with newer Firmware installed), since he thought that when those "Video Apps" are still using an older "Webkit" (even without SSL enabled, so he was allowed to see every Detail what each "Video-App" is doing), then the "1.76 Webkit Exploit" should still work theoretically. So he decided to create his own "Webserver" at home running with the "1.76 Webkit Exploit" and he redirected the "DNS-Query" from those "Video Apps" to his own "Webserver". And his output was (which can be found down below on one of his slides), that the Web-Exploit for System Firmware 1.76 is indeed still functional and running. He also quickly understood that with each "Query" he started, those "Video Apps" doesn't use any kind of "Address space layout randomization" - or "ASLR" in short. This made his Investigations even more easier to tinker with those "Video Apps", as he explains.
On the following Chart, he explains in short Details how the "1.76 Web-Exploit" works in General and how he used it with the "Video-Apps" which allowed him to gain access to the "Memory" of each "Video App" (Memory Dumping - it will be detailed in the slides down below). I think this is already known by the most so we can jump directly to the next tab, which is "Wie geht es weiter?" which stands in German for: "How we go further?"
Now on this Chart he ask himself as the Title suggests "How we can go further after he dumped and read the Memory from a Video Application?" Since his goal was to get "Code Execution", he saw that with the old Web-Exploit, he is only allowed to read and to write on a limited "Memory Area", which was a problem. To get his own Code running, he needs to get access to the "Control Flow" from each App. But his answer was simple, by using "Virtual Method Tables" (or "vtable" in short). While he explains how "vtables" works in General, he also explains that the "vtable" inside each App still "doesn't let you want to do whatever you want." So he decided to replace them by his own created "vtables", which would allow him to put tasks to this "vtable" he needs so he can control and manipulate them. How this methods works is better described in his Slides which will be added down below and his Slides explains it better instead of describing each one since it shows many examples of Code. So without any further waiting, we will go to the next Tab, which is called "Der Masterplan", which can be simply translated into "The Master Plan".
On the following Slides, he explains how each of the previous mentioned functions worked for his PS4. Even when it's not in English, it is easy to understand since as mentioned in the previous Tab before, his Slides explains his work very good. Please click on one of the Pictures to Open the Diashow, where you can watch each Slide in a Higher Resolution.
Coming near End of his Talk, he describes in his last Slide some disadvantages of his work compared to older Achievements from other Developers, but they don't mean that his work is bad. Firstly, as you probably already know from the PS3, those "Video-Apps" needs a permanent access to the PlayStation Network, which means that Sony could fix those Problems he found very easily with an updated Version from each Application. So this means that you need to stay always online and you have to run the latest System Firmware provided by Sony. Another disadvantage is that "Video Applications" has no access to the "Just-in-Time-Compiler", but which is not such a "bummer" since this Function was removed for every Application since System Firmware 2.00, as he explains. There is also no "Threading" supported which means that not every Task is exploitable, which needs higher "Threads" unlike for the internal "Web-Browser". But he admits that if you want to exploit a Task where no such higher "Threads" are needed, then his method will work the same like used for the "Web-Browser". Both "Video Applications" and the "Web-Browser" works inside a Sandbox but he explains that inside the "Sandbox", the Actions are limited compared to the "Web-Browser". Not shown on his Slide, but mentioned is that "Video Applications" doesn't support "Dynamic Compilation" which means that you can't load additional modules to trigger additional functions who aren't programmed within the App (for example, loading Linux through the "Web-Browser" won't work with "Video Apps").
At the end, he replays that Sony could fix those "loopholes" very easily with an updated Version from each Application while the "Web-Browser" always needed a whole new System Firmware as a Release. But nevertheless, he explains that you still get a complete "Userland Code Execution", which means that it is still possible to trigger a "Kernel Exploit". He also explains again that his work is just a "entry-point" of what could be possible for the future and he welcomes everyone to test his work on your own Hardware with newer System Firmwares installed.
After the applause from the audience, he answered their questions like why he chose to tinker with the "Video Apps" explicitly. He just admitted that he tested everything including running Games and he was just surprised that the "Video-Apps" are using such an old Webkit. The moderator from the Talk asked him how his wife reacted to his work since she planned to gift him a PS4 as a Birthday Present. Everyone in the audience laughed when he explained that his wife wasn't amused with his work, especially when he first opened his Console instead of actually playing some Games with the PS4. Then he thanked to everyone in the audience and to the viewers in the Livestream and said good bye.
We hope that you enjoyed our coverage of the first important Talk at 35C3. Feel free to discuss your opinions about today's Talk in the Comments Section down below. Maybe this Talk will be the "initial spark" the PS4 needed to get more Homebrew Releases.
The whole Talk can be found here: media.ccc.de
PS4 News from #35C3 - @m0rph3us1987 presents his Talk about "Exploiting PS4 Video Apps"
By Roxanne on Dec 28, 2018 at 11:52 AM
BGFTP v1.0 (by GrapheneCt): Background FTP server for transfering file to your VitaDeveloper GrapheneCt has released BGFTP, a new FTP server that works in the background. It does not matter if your in-game or sleep mode or hanging around the Live Area, The FTP transfers are always working while the developer says this will not impact any performance of the running task, but does add a warning that transfer can be slowed down since they are running on Reserved System Cores and will be knocked to low priority on those reserves, but nonetheless a great way to transfer files from your PC (or other devices servicing as a FTP server) to either your homebrew enabled PS Vita or the PlayStation TV (aka vita tv)..Continue reading
The Power Supply (Vol. 02) - Our Guest Today: "PS4 Developer @m0rph3us1987"With the very first introduction of our new Series of Developer Interviews - as known by "The Power Supply" - you were already allowed to dabble a little bit with Volume 01 of the series, where you got a deep look into the work from well-known Developer @deank he did for this scene. While he worked mainly for the PS3 Community, we thought it would be only fair to bring you a PS4 Developer with Volume 02 of this Interview Series today. This Developer maybe don't have the same long reputation as deank have since he began to tinker with the PS4 as his very first Sony Console. But this doesn't mean that he isn't worth to ask some questions. We covered his Achievements already in the past here in this Forum, especially when we provided you our yearly Overview about the CCC Events held in Germany. In fact, you should be familiar with him and his Lecture he held back at 35C3. So please give an warm welcome to m0rph3us1987, while in his Interview, we will talk about his Lecture he held, we will learn how he sees the current situation in "PS4 Development and Hacking" and we will get an deep insight how he began to learn writing some code in his young age. So allow us to introduce him further.Continue reading
RetroArch (PS4) R3 Released: New libretro Cores Added (Dramcaset / Jaguar / ScummVM /) + Source CodeFollowing the initial release of R1 and the followup of R2, developer @OsirisX has just released R3 for the PS4 Port of RetroArch with new core being added, various bug fixes to go along and also a release of the promised source code is included as well.. The new update provides ps4 support for Flycast (Sega Dreamcast), Bettle PSX, Virtual Jaguar, ScummVM, Stella-2014 (Atari 2600), Vectrex and SameBoy are the new cores included (emulation like dreamcast is experimental and many games have speed issues) in this release This update is based on RetroArch v1.8.4 and the Core Updater has been enabled, multi-controller Support has been added (up to 4 can be used), previous R1/R2 only one controller was supported. Also some cores that need have added support for keyboard and mouse controls. This port has evolve quite nicely and should be even better with now the source code release and likely will becomes part of the official release as this is still considered an "unofficial" port, but likely to become the official port.
Also the developer has created a Core Updater, which provides another method to update the cores. It help keeps the main pkg lite and you can also download indvidual cores via RetroArch itself as that bug of downloading cores has been fixed. See all the latest details below pertaining to the R3 release.Continue reading
Share This Page
- henkaku homebrew
- playstation 2
- playstation 2 resources
- playstation portable
- playstation portable cfw
- playstation portable resources
- playstation tv
- ps vita
- ps2 resources
- ps3 cfw
- ps3 homebrew
- ps4 homebrew
- psp cfw
- psp resources
- pstv homebrew
- vita homebrew
- webman mod
- User Record:
- Latest Member: