NEREBA - Ein Warmbootexploit für die Switch auf FW 1.00
Erfordert PegaSwitch und eine japanische Kopie von Puyo Puyo Tetris!
Diese Version funktioniert nur mit der Switch-Firmware-Version 1.0.0. Eventuell wird Unterstützung für 2.0-3.0 noch hinzugefügt.
Um diese Version zu verwenden, entpacke die Zip-Datei auf die SD-Karte und leite das Album-Applet mit dem Skript nspwn pegaswitch um. Stelle sicher, dass sich ein RCM-Payload namens nereba.bin im Ordner nereba im Stammverzeichnis der SD-Karte befindet. Drücke die Home-Taste und starte das Album-Applet, um es auszuführen.
Der Kern dieses Exploits ist keine Sicherheitsanfälligkeit in Horizon OS, sondern eine Sicherheitsanfälligkeit im Bootrom des Tegra X1. Wenn die Switch während des normalen Betriebs in den Ruhemodus wechselt, werden alle wichtigen Komponenten des Hauptprozessors heruntergefahren. Das Betriebssystem speichert einige Zustände im RAM, der erhalten bleibt und dessen Inhalt erhalten bleibt. Beim Aufwecken führt er das Boot-ROM erneut aus und verwendet den Status, der im RAM und in einer der im Hauptprozessor aktiven Regionen gespeichert ist. Das Bootrom nimmt einen speziellen Codepfad, den so genannten Warmboot-Pfad, basierend auf dem Vorhandensein bestimmter Daten (die auch bei einem Neustart simuliert werden können) ein und lässt die Konsole aus dem Ruhezustand aufwecken. Eine der Weckaufgaben ist das Bereitstellen des Arbeitsspeichers, da dieser vor dem Ruhezustand in einen speziellen Modus versetzt wurde. Es gibt eine Reihe von Parametern zur Konfiguration des RAMs, die beim Booten und beim Aufwachen verwendet werden. Das Bootrom geht davon aus, dass sich diese Parameter nicht ändern, da sie während eines "Kaltstarts" (Power-On-Reset) vorzeichenbehaftet sind. Nvidia hat jedoch vergessen, sie während des Warmboots zu überprüfen. Dies bedeutet, dass sie geändert werden können, und das Bootrom verwendet sie, um beliebige Schreibvorgänge auszuführen. Wir können diese Schreibvorgänge verwenden, um das Bootrom mithilfe des integrierten ipatch-Systems zu steuern. Die Ausnutzung von 1.0 ist einfach, da der Bereich, in dem die RAM-Parameter gespeichert sind, mit dem Nspwn-Exploit leicht zugänglich ist. Dies wurde in späteren Firmwareversionen geändert. Die Verwendung dieser Firmware-Versionen über 1.0 erfordert komplexere Exploits, um dieselben Ergebnisse zu erzielen.
Quelle:Github.com