La console 3DS dispone già di numerosi exploit ed hack, quasi tutti sviluppati dal developer zoogie, da Old Browserhax a New Browserhax, Old Browserhax XL e New Browserhax XL, ebbene a questi si aggiunge anche super-skaterhax, un exploit primario per console New Nintendo 3DS e 2DS montanti firmware 11.16.
L’exploit super-skaterhax è il diretto successore di New Browserhax XL, l’exploit che è stato corretto nel firmware 11.4 sfrutterebbe anch’esso una vulnerabilità UAF (use-after-free) presente nel browser web.
Little bit of midnight fun for my fellow night owls: https://t.co/w8ijJ99VFa
— zoogie (@TheGreatBugFish) March 18, 2023
L’attacco UAF deriva dallo sfruttamento di memoria dopo che questa viene liberata (da qui detta operazione free che rilascia la memoria utilizzata dai processi affinchè possa essere riutilizzata).
L’uso di questa memoria “liberata” è un errore che non deve essere presente, in quanto porta questi a comportamenti imprevisti, alla corruzione dei dati validi, all’arresto anomalo e, come in questo caso all’esecuzione di codice.
L’exploit super-skaterhax supporta firmware 11.15 e 11.16, anche se solo per console New 3DS (e 2DS). Utilizzando unSAFE_MODE, è possibile installare un firmware personalizzato senza dover utilizzare seedminer.
Requisiti
- Una console New 3DS (o New 2DS) montanti firmware: 11.15 – 11.16 in tutte e 4 le regioni New 3DS US, EU, JP e KR.
Indicazioni (userland)
[stextbox id=’alert’]Importante: Seguire esattamente queste istruzioni poiché questo exploit è sensibile a qualsiasi variazione.[/stextbox]
Scaricare e copiare questi tre file all’interno della scheda SD utilizzata dalla console 3DS. Estrarre l’archivio e copiare i file della regione corretta della console 3DS.
sdmc:/arm11code.bin
sdmc:/browserhax_hblauncher_ropbin_payload.bin
sdmc:/boot.3dsx
- Avvia il browser web e digitare uno dei seguenti indirizzi URL:
https://zoogie.github.io/web/super (USA,EUROPA,GIAPPONE)
https://zoogie.github.io/web/korea (COREA)
Presente anche un codice QR che è possibile scansionare attraverso la fotocamera premendo i pulsanti L+R nel menu principale.
Questo ti porterà anche alla pagina degli exploit. Tuttavia, si consiglia di digitare l'URL al primo tentativo.
- Dopo aver raggiunto il sito, dovrebbe apparire la stringa “GO GO!” in alto a sinistra, premere successivamente la stella in basso a sinistra.
- Premere “Aggiungi questa pagina ai segnalibri”, quindi premere di nuovo la stella in basso a sinistra.
- Toccare l’icona in basso a DESTRA dello schermo con 3 trattini orizzontali.
- Premere Impostazioni quindi toccare Elimina cookie.
- Premere il pulsante HOME sul 3DS per uscire dal browser.
- FACOLTATIVO, ma consigliato se l’exploit continua a bloccarsi: Prima del passaggio successivo, spegnere il sistema, quindi riaccenderlo.
- Premere immediatamente il pulsante per riavviare il browser (questa cosa di uscita/riavvio salva i tuoi dati nel caso ti stia chiedendo).
- Toccare il link GO GO! sullo schermo superiore, quindi approvare eventuali richieste visualizzate. Hbmenu dovrebbe avviarsi. Riprovare se si ottiene un blocco dello schermo giallo.
Come RIPROVARE
- Riavviare il browser. Dovresti tornare automaticamente alla pagina dell’exploit (quella con il link GO GO!).
- Iniziare dal passaggio 4 sopra e continua.
NOTE (per problemi specifici di exploit)
- Se per qualsiasi motivo non si riesce ad accedere alla pagina “GO GO!” dopo aver riavviato il browser, utilizzare il segnalibro salvato precedentemente per tornare lì. Quindi continuare con il passaggio 4.
- Alcune regioni potrebbero dare un avviso SSL prima di arrivare alla pagina dell’exploit su github, basta premere per passare queste richieste. Se li ottieni, la tua data/ora potrebbe essere impostata in modo errato e dovresti correggerla in tal caso.
- Alcuni utenti in EUROPA riferiscono di dover impostare la lingua su tedesco (o Deutsch) per far funzionare l’exploit nella loro regione.
- Per scenari di crash più ostinati, potrebbe essere necessario reimpostare il browser (eliminare segnalibri, cronologia e cookie: selezionare Google come motore di ricerca dopo il ripristino).
Dettagli sull’exploit
Problema: Il 3DS si blocca su una schermata gialla.
Soluzione: Riprovare. La velocità di avvio è di circa il 75-80%. Questo è sempre stato un problema con hax homebrew e non specifico di questa implementazione.
Se questo continua a ripetersi, è probabile che sia causato dall’esecuzione di browserhax mentre il Custom Firmware (Luma3DS + boot9strap) è già installato — non farlo!
Seguire https://3ds.hacks.guide per le istruzioni corrette su come avviare homebrew in formato .3dsx
sotto Custom Firmware. Il blocco rigido con schermate regolari (cioè senza schermo a tinta unita) può anche indicare l’esecuzione in Custom Firmware.
Problema: Viene visualizzata una schermata nera “Si è verificata un’eccezione” con testo bianco su entrambe le schermate.
Soluzione: Hai già un Custom Firmware in avvio e non c’è alcun motivo di eseguire browserhax. Consultare questo per istruzioni su come eseguire correttamente homebrew sotto Cutom Firmware.
Problema: Il 3ds si blocca su un altro schermo a colori o viene visualizzato il messaggio “Si è verificato un errore”.
Soluzione: Assicurarsi di disporre di tutti i file corretti. Controlla che la tua regione sia corretta. Come minimo, assicurati di avere i 3 file sottostanti nella scheda SD.
sdmc:/arm11code.bin
sdmc:/browserhax_hblauncher_ropbin_payload.bin
sdmc:/boot.3dsx
Si noti che questi sono gli stessi file utilizzati in new-browserhax, quindi non è necessario modificarli se sono già presenti sulla scheda SD.
Problema: Non riesco ancora a far funzionare l’exploit e tutte le soluzioni di cui sopra non hanno aiutato.
Soluzione: Spegnere e riaccendere la console 3DS, quindi andare alle sezioni Impostazioni e selezionare “Ripristina salvataggio”, quindi ripetere i passaggi dal passaggio 1 (scegliere Google come motore di ricerca se richiesto).
FAQ
Domanda: Cos’è SKATER?
Risposta: SKATER è il nome in codice di Nintendo per il browser New 3DS, è significativamente diverso dal vecchio browser 3DS, denominato invece Spider, e richiede quindi diversi exploit.
Domanda: L’exploit potrebbe supportare Spider (su Old 3DS, Old 2DS)?
Risposta: Non per molto tempo, almeno non da parte mia. Ho finito con gli exploit del browser “doppia patch” con un singolo aggiornamento del firmware. Ma chissà, potrebbero esserci altri che lavorano su old3ds/Spider!
Domanda: Perché questo exploit è “sensibile”?
Risposta: L’heap si sposta anche con la più piccola modifica dell’origine o del runtime. Commenti, modifiche alla lunghezza dell’URL di 1 byte, un semplice tocco inaspettato sullo schermo: Tutto ciò può spostare gli indirizzi dell’heap di alcuni byte e fermare l’exploit. Questo è un grande motivo per cui non ho usato il mio bel menu “nbhax” che ho usato per i precedenti exploit del browser.
Domanda: Cos’è quell’immagine sotto il collegamento GO GO!?
Risposta: Questa è una normale immagine .bmp
con nopslide e codice payload inserito! Non toccarlo, solo per uso ufficio!
Domanda: Da dove proveniva originariamente questo exploit del browser?
Risposta: https://github.com/WebKit/WebKit/blob/main/LayoutTests/svg/masking/mask-should-not-paint-selection.html
Domanda: Perché l’hai chiamato super-skaterhax invece di super-new-browserhax-XXL?
Risposta: La presa in giro dello schema di denominazione dei meme di Nintendo ha fatto il suo corso, per lo più.
Domanda: Questo exploit verrà risolto in un aggiornamento del firmware?
Risposta: Tutto quello che posso dire è che i miei 4 precedenti lo erano, ma, chissà, il 3DS ha 12 anni adesso.
Download: super-skaterhax v1.0
Download: Source code super-skaterhax
Fonte: twitter.com