Wii U: Userspace? Kernel? IOSU? – Eine Übersicht

Wii UViele sind immer noch verwirrt, was die verschiedenen Begriffe in der Wii-U-Szene betrifft. Mit diesem Post versuchen wir, die Situation zu klären.

Letztes Update: 24. Juli 2017

Fangen wir einfach an:

Exploit: Ein Programm, was einen Fehler oder eine Sicherheitslücke in einer Software ausnutzt, um unsignierten Code auszuführen. Bekannte Exploits für die Wii sind u.a. Letterbomb, der Twilight Hack und Bannerbomb, für den 3DS u.a. NINJHAX, HomeMenuHax und Browserhax.

 WebKit: WebKit ist die Rendering-Engine des Wii-U-Internetbrowsers. Es wird in sehr vielen Browsern und Geräten eingesetzt und ist notwendig, um Webseiten rendern (= anzeigen) zu können. WebKit ist quelloffen, d.h. der Code ist frei einsehbar, was das Schreiben von Exploits "einfach" macht. Es wird von Apple entwickelt und u.a. in Safari eingesetzt. Früher hatte Google noch mitgewirkt und es in Chrome eingesetzt, seit April 2013 verwenden sie Blink (einen Fork von WebKit).

Sehen wir uns nun die verschiedenen Exploit-Typen an:

Userspace-Exploit: Wird üblicherweise über den Internetbrowser gestartet und nutzt dafür eine Lücke in WebKit. Damit sind einfache Homebrews wie ein "Hallo Welt" oder Pong möglich. Der erste Userspace-Exploit wurde erstmals im Juni 2015 veröffentlicht. Homebrews laufen mit den gleichen Rechten wie die zugehörige Applikation, hier der Internetbrowser. Diese Exploits sind sehr wichtig, da sie den Grundstein für die anderen zwei Exploits legen. Auch bekannt als "Userland-" oder "WebKit-Exploit".

Kernel-Exploit: Damit sind Homebrews möglich, die mehr Rechte benötigen. U.a. sind dadurch der Homebrew Launcher, TCPGecko und Loadiine möglich.

IOSU-Exploit: Mit dem IOSU-Exploit ist so ziemlich alles möglich, was man sich vorstellen kann. Es sind sehr tiefgreifende Zugriffe möglich, u.a. Zugriff auf USB, Krypto, Titel-Verwaltung, etc.

Haxchi: Dies ist ein Exploit für den Nintendo DS Virtual-Console-Emulator der Wii U. Er ist aufgrund von “contenthax“, einer Schwachstelle in der Titel-Integrität, möglich. Der Inhalt (also der “content”-Ordner) der Applikationen wird nicht signiert und so können einfach benötigte Dateien rüberkopiert werden, die die Wii U dann ausführt. Die DS-VC wurde benutzt, da sie als “netten Bonus” dynamisch ausführbaren Code ausgeben kann. Haxchi nutzt dazu eine Schwachstelle im ROM-Loader des Emulators und bringt ihn quasi dazu, fremdartige memcpy-Operationen auszuführen. Von dort aus ist es bis zur Code-Ausführung nicht mehr weit, da keine Adressverwürfelung im Wege steht.

Coldboot Haxchi: Haxchi (und jeder andere contenthax) kann dazu genutzt werden, permanent hohe Privilegien auf das System zu bekommen. Die Konsole kann dazu angewiesen werden, in irgendeinen Titel zu booten, indem die sys/config/system.xml editiert wird. Diese wird einfach auf die DS-VC gesetzt und voilá! Permanente Code-Ausführung

Wie es momentan mit den verschiedenen Exploits für die verschiedenen Versionen aussieht, könnt ihr im Wiki nachlesen.

 

Ich hoffe, ich konnte damit etwas Klarheit schaffen!

Basierend auf einem Beitrag von GBATemp.