safecerthax: ARM9 Kernel-Exploit für den Old3DS

Icon für safecerthax

ARM9 Kernel-Exploit für den Old3DS, der ein Versäumnis im SSL-Modul des 3DS ausnutzt.

Nba_Yoh hat seinen ARM9 Kernel-Exploit "safecerthax" publik gemacht. Dieser funktioniert nur auf dem Old3DS auf jeder Firmware und ermöglicht die einfache Installation eines sighax (bspw. boot9strap).

Safecerthax nutzt den Exploit "SSLoth", der ebenfalls von Nba_Yoh stammt und eigentlich mit 11.14 behoben wurde. Das SSL-Systemmodul prüfte die Signatur der TLS-Zertifikatskette nicht, was daran lag, dass Nintendo schlicht vergessen hatte, der benutzten Bibliothek "RSA BSAFE MES" die "R_VERIFY_RES_SIGNATURE" Ressource zu übergeben.

SSL/TLS sind Netzwerkprotokolle zum Verschlüsseln von Daten und stellen mithilfe von Zertifikaten sicher, dass die Inhalte auch vom Server stammen, der angefragt wurde. Das dürfte jedem von HTTPS bekannt sein.

Ohne Verifizierung ist TLS ausgehebelt – jeder kann eigene Zertifikate erstellen und das Gerät hält sie für valide. Das erinnert etwas an den Trucha Bug der Wii.

Safecerthax nutzt hierbei "fake" Update-Server (umgeleitet per DNS), die sich als offizielle Nintendo Update Server ausgeben und vortäuschen, dass ein Update für den 3DS verfügbar wäre (da wie gesagt die TLS-Zertifikate nicht geprüft werden). Der System-Updater fragt beim Update-Server nach der Zertifikatskette der zu installierenden Titel (nicht mit der obigen TLS-Zertifikatskette verwechseln!), die mithilfe des Befehls "PXIAM:ImportCertificates" an Process9 (an den ARM9) weitergegeben wird. Diese Funktion war jedoch anfällig für einen Buffer Overlfow auf dem Heap, der ausgenutzt werden konnte, um unsignierten Code auszuführen. Hier lässt sich über einen weiteren Fehler der ARM11 übernehmen. Beide Fehler wurde mit der NATIVE_FIRM (3DS-Firmware) 5.0.0 behoben

"Eigentlich" sollte dieser Exploit also längst behoben sein. Wie aber bereits von anderen Exploits bekannt aktualisiert Nintendo nie die SAFE_FIRM, also den Recovery-Modus des 3DS. Es wäre auch risikoreich dies zu tun, da ein fehlerhaftes Update sonst einen Brick bedeuten würde. Und so lassen sich diese Fehler in der uralten SAFE_FIRM immer noch ausnutzen.

Nba_Yoh hatte dies übrigens am 10. Juni an Nintendo gemeldet und ganze 12.168 Dollar dafür bekommen.

Die SAFE_FIRM des New3DS basiert allerdings auf der NATIVE_FIRM 8.0.0, was leider bedeutet, dass dieser Exploit nie auf dem New3DS funktionieren wird. Aber mittlerweile gibt es ja genügend Möglichkeiten.

Vereinfacht gesagt: Dateien auf die SD, DNS umstellen, ins Recovery-Menü booten, CFW installieren. Mehr auf unserer Download-Seite!