Il developer aomsin2526 pubblica la seconda build di BadHTAB, l’exploit dell’hypervisor per console PlayStation 3 affonda le sue radici in una vulnerabilità scoperta dal leggendario hacker XORLOSER e successivamente sfruttata da GeoHot nel 2010.
Il nome deriva da un bug nella gestione della Hash Table (HTAB), una struttura dati fondamentale dell’hypervisor che mappa la memoria virtuale a quella fisica, garantendo il controllo degli accessi.
https://t.co/m8KW4KWdGk readme implemented
— Jose Coixao (@notnotzecoxao) March 31, 2025
L’exploit utilizza una tecnica combinata hardware-software: un glitch hardware interrompe brevemente un segnale RAM mettendolo a massa, mentre un payload software sfrutta questa interruzione per sospendere il puntatore dei dati dell’HTAB durante l’invalidazione di una voce.
Questo errore consente di mantenere valida una regione di memoria che altrimenti sarebbe protetta, offrendo permessi di lettura e scrittura completi in una piccola area.
Tale area può poi essere manipolata dall’hypervisor stesso, permettendo un accesso totale alla memoria della console.
BadHTAB si distingue dalla versione originale di GeoHot per la sua applicazione su ogni modello di PS3 con PS3HEN, inclusi quelli non compatibili con Custom Firmware.
Per la prima volta, offre un accesso completo all’hypervisor su console prive di Custom Firmware, sbloccando alcune funzionalità tipiche dei firmware personalizzati.
La prima dimostrazione pubblica di BadHTAB è avvenuta il 30 marzo, quando Zecoxao ha condiviso su Twitter/X un’immagine di Red Ribbon (una distribuzione Linux per PS3) in esecuzione su una Super Slim con firmware 4.84.
Questo ha segnato un traguardo importante, considerando che i modelli Super Slim e alcune Slim (serie 3000) non supportano Custom Firmware permanenti né downgrade a versioni vulnerabili come la 3.55, a causa di misure di sicurezza rafforzate dopo il firmware 3.56.
La seconda build, rappresenta un’evoluzione del progetto. Sebbene non siano state pubblicate note di rilascio dettagliate, i cinque commit nella repository e i file precompilati aggiornati suggeriscono miglioramenti nella stabilità, nella compatibilità o nel processo di glitch.
Rispetto alla versione iniziale, questa build potrebbe aver ottimizzato l’automazione del glitch – essenziale su GameOS, dove la finestra di vulnerabilità è molto più ristretta rispetto a Linux – o corretto bug segnalati dalla comunità.
Il codice sorgente pubblico invita ulteriori contributi, rendendo BadHTAB un progetto collaborativo in pieno sviluppo.
Componenti Principali
BadHTAB si basa su due elementi chiave:
- BadHTAB (Software): La componente software, distribuita come file PKG per PS3, gestisce l’exploit una volta avviato il glitch. È responsabile dell’accesso all’hypervisor e dell’esecuzione delle funzioni configurate dall’utente.
- ps3pulldown2 (Hardware): La parte hardware, basata su un Raspberry Pi Pico (RP2040), comunica con la PS3 tramite porta USB e automatizza il glitch. A differenza della versione Linux, che tollerava una finestra di glitch più ampia, su GameOS l’automazione è indispensabile per garantire una minima stabilità.
Nonostante questi progressi, il tasso di successo rimane basso (5-10%), rendendo BadHTAB un’opzione per utenti esperti e pazienti, non per un uso quotidiano.
Inoltre, richiede saldature sulla scheda madre, un processo non complesso ma che può destabilizzare il boot della console se non eseguito correttamente.
Funzionalità sbloccate
Una volta eseguito l’exploit con successo, BadHTAB offre un ventaglio di possibilità:
- Hvcall 114 senza restrizioni: Permette di mappare qualsiasi area di memoria, bypassando le limitazioni standard.
- Nuovi hvcall (peek/poke/exec): Introduce chiamate ipervisore per leggere (hvcall 34), scrivere (hvcall 35) ed eseguire codice (hvcall 36) nell’LV1, offrendo un controllo granulare.
- Dump della memoria LV1: Consente di salvare la memoria dell’hypervisor in un file per analisi o preservazione.
- Avvio di un lv2_kernel.fself personalizzato: Permette il caricamento di un kernel LV2 in formato fself, aprendo la porta a modifiche avanzate.
- Supporto a OtherOS: Riattiva la possibilità di avviare petitboot e Linux, come Red Ribbon, su console moderne.
Nota: L’uso delle funzioni di avvio (lv2_kernel o OtherOS) rimuove i nuovi hvcall, ma hvcall 114 rimane attivo, permettendo di reinstallarli manualmente.
Potenzialità per un Custom Firmware
La domanda più intrigante è se BadHTAB possa portare a un Custom Firmware permanente, specialmente per Super Slim e Slim 3000.
Un Custom Firmware offrirebbe avvio diretto di backup, installazione di PKG senza exploit ripetuti e una stabilità superiore a HEN. Tuttavia, ci sono ostacoli significativi:
- Accesso permanente alla memoria flash: BadHTAB accede temporaneamente all’hypervisor, ma non modifica la NAND/NOR. Un Custom Firmware richiede una patch stabile del firmware o del boot process, aggirando il secure boot e i controlli delle firme.
- Protezioni hardware: Dopo il firmware 3.56, Sony ha introdotto chiavi di firma più robuste e controlli anti-downgrade nelle Syscon. BadHTAB non sembra in grado di alterare questi elementi.
- Stabilità del glitch: La dipendenza da un intervento hardware introduce instabilità, incompatibile con l’affidabilità di un Custom Firmware.
Rispetto ai Custom Firmware storici (es. su firmware 3.55), BadHTAB si scontra con un boot chain rinforzato.
Potrebbe evolversi in un HEN avanzato con accesso esteso al kernel, ma per un Custom Firmware servirebbe una vulnerabilità nelle Syscon o un metodo per patchare permanentemente il firmware ufficiale. Senza queste scoperte, rimane un exploit temporaneo.
Guida all’Installazione di BadHTAB
Ecco una guida dettagliata per installare e utilizzare la seconda build di BadHTAB:
Requisiti Hardware
- Raspberry Pi Pico (RP2040).
- Filo magnetico da 0,1 mm.
- Strumenti per saldatura
- PS3 Super Slim (questa guida è specifica per questo modello).
Installazione hardware
- Identificazione dei punti di saldatura: Individuare le resistenze RQ sulla scheda madre (es. RQ8 sul lato sinistro, RQ7 sul destro). Consultare il manuale di servizio o dissaldare la RAM per tracciarle manualmente.
- Saldatura:
- Saldare un filo a RQ8 (lato sinistro) e l’altro capo a GP15 del Pico.
- Saldare un secondo filo a RQ7 (lato destro) e l’altro capo a GP16 del Pico.
- Assemblaggio: Rimontare la console, assicurandosi che i fili non tocchino terra o metallo (mantenerli sospesi).
- Installazione del firmware Pico: Tenere premuto il tasto BOOTSEL mentre si collega il Pico al PC, copiare il file
.uf2
(dalla repository) nel drive che appare e scollegare. - Test di avvio: Collegare l’HDD alla PS3 e accenderla senza coperchio per verificare il boot (la spia dell’HDD dovrebbe lampeggiare). Se non si avvia, regolare i fili. Utilizzare un cacciavite per cortocircuitare il pulsante di accensione (fragile sulle Super Slim).
Installazione Software
- Installazione del PKG: Scaricare il file
BadHTAB.pkg
e installarlo sulla PS3 tramite USB o Package Installer. - Configurazione:
- Dump LV1: Creare un file vuoto (
BadHTAB_doDumpLv1.txt
per 16 MB oBadHTAB_doDumpLv1_240M.txt
per 240 MB) in/dev_hdd0/
. - Avvio lv2_kernel.fself: Decriptare il file
lv2_kernel.self
in.elf
, convertirlo in.fself
conmake_fself.exe
(Sony SDK), creare un fileBadHTAB_doLoadLv2Kernel_Fself.txt
in/dev_hdd0/
e copiare il filelv2_kernel.fself
in/dev_flash/sys/
(utilizzare/dev_blind/
con webMAN MOD). - Avvio OtherOS: Creare il file
BadHTAB_doOtherOS.txt
in/dev_hdd0/
e copiare il file dtbImage.ps3.fself in/dev_flash/sys/
(liberare spazio eliminando ps1emu/ps2emu/pspemu se necessario).
- Dump LV1: Creare un file vuoto (
- Spegnimento sicuro: Spegnere la console prima di procedere.
Esecuzione dell’Exploit
- Collegare il Pico alla porta USB della PS3.
- Avviare BadHTAB dal menu della XMB.
- Ascoltare i segnali acustici:
- Un triplo beep breve indica l’avvio dell’exploit.
- Durante il glitch, il LED del Pico lampeggia e si sentono beep frequenti. Se si fermano o la console si spegne, il tentativo è fallito: riavviare e riprovare (potrebbero volerci ore).
- Due triple beep brevi con una pausa indicano successo: L’exploit patcha il LV1, installa gli hvcall ed esegue le configurazioni scelte.
- Con lv2/OtherOS, l’avvio avviene ora; altrimenti, un beep di 5 secondi segnala il ritorno alla XMB.
- I log vengono salvati in
/dev_hdd0/BadHTAB.txt
.
Prospettive e limiti
La seconda build di BadHTAB consolida il suo ruolo come strumento innovativo, portando funzionalità CFW-like su console non modificabili permanentemente.
Il supporto per il firmware 4.70 e successivi e l’apertura a Linux lo rendono un’opzione preziosa. Tuttavia, il basso tasso di successo (5-10%), la complessità delle saldature e la natura non persistente lo limitano a un pubblico tecnico.
Download: BadHTAB build2 (PKG)
Download: ps3pulldown2-build2.uf2
Download: Source code BadHTAB build2
Fonte: x.com