Il team ReSwitched cerca di mettere insieme i pezzi iniziando lo sviluppo di un nuovo launcher che andrà a sfruttare l’exploit al bootROM del SoC Tegra X1.
L’annuncio su twitter, diramato da Kate Temkin non lascia dubbi, il launcher ci permetterà di caricare payload che verranno eseguiti attraverso l’exploit, un po’ come succede sul firmware 4.05 e firmware 4.55 della PlayStation 4.
https://twitter.com/ktemkin/status/988448011104628736
Riportiamo un estratto dell’articolo fusee_gelee_nvidia.pdf
Verifica teorica
Incluso con questo rapporto è un insieme di tre file:
fusee-launcher.py
– La dimostrazione principale che accompagna questo rapporto. Questo script python è progettato per eseguire un semplice payload binario nel contesto bootROM descritto tramite l’exploit.intermezzo.bin
– Questo piccolo stub è stato progettato per trasferire un payload da un indirizzo di carico superiore all’indirizzo di carico RCM standard di 0x40010000. Questo consente di eseguire payload RCM standard (comenvtboot-recover.bin
).fusee.bin
– Un esempio di payload per Nintendo Switch, un dispositivo rappresentativo e ben configurato basato su T210. Questo payload stamperà le informazioni dai fusibili del dispositivo e dal protectedIROM sul display, dimostrando che è stata raggiunta l’esecuzione iniziale di bootROM.
Nota di supporto: Molti stack di driver host-OS sono riluttanti a inviare richieste di controllo irragionevolmente grandi. Di conseguenza, l’attuale proof-of-concept include il codice progettato per funzionare nel modo seguente:
- Linux a 64 bit tramite xhci_hcd. Il proof-of-concept può inviare manualmente un numero elevato di richieste, ma non funziona con i comuni driver. Attraverso una regola empirica, una connessione tramite una porta blu/USB3 SuperSpeed sarà sempre gestita da xhci_hcd.
- MacOS. L’exploit funziona fuori dalla scatola senza sorprese o restrizioni sui macOS moderni.
Il supporto Windows richiederebbe l’aggiunta di un modulo del kernel personalizzato, e quindi era al di là dello scopo di una semplice dimostrazione di concetto.
Per utilizzare questo proof-of-concept su una console Nintendo Switch:
- Configurare un ambiente Linux o macOS che soddisfi i precedenti criteri e che abbia installato python e pyusb funzionanti.
- Collegare la switch al PC host con un cavo USB A -> USB C.
- Avviare lo switch in modalità RCM. Ci sono tre modi per farlo, ma il primo – annullare la sua scheda eMMC – è probabilmente la più semplice:
- Assicuratevi che la Switch non possa avviare il suo eMMC. Il modo più semplice per farlo è aprire la cover posteriore e rimuovere la scheda eMMC inserita; funzionerebbe anche la corruzione del BCT o del bootloader nella partizione di avvio di eMMC.
- Attivare le strisce RCM. Tenere premuto VOL_DOWN e il pin corto 10 sul connettore JoyCon destro a terra mentre si inserisce il pulsante di accensione.
- Impostare il bit 2 del registro zero scratch PMC. Sui firmware moderni, ciò richiede l’esecuzione di EL3 o pre-sleep BPMP.
- Eseguire
fusee-launcher.py
con argomentofusee.bin
. (Ciò richiede che il fileintermezzo.bin
si trovi nella stessa cartella difusee-launcher.py
.)
sudo python3 ./fusee-launcher.py fusee.bin
Se tutto funziona correttamente, la Switch dovrebbe visualizzare una raccolta di fusibili e protectedIROM.
attivare le cinghie ahhaahhahahahahahahahaha
france a sto punto lascia tutto in inglese che è meglio….
Hahah é vero, dovrei rileggere meglio le news XD