Possibile svolta su console PlayStation 3, pare infatti che ora sia possibile dumpare il bootldr lv0ldr anche per i modelli CECH-3000 attraverso un attacco man in the middle (MITM).
Nel diagramma riportato in basso vengono mostrati i diversi livelli di protezione della console PlayStation 3 con firmware superiore alla versione 3.60.
Il bootldr risiede all’inizio della NAND (o in posizione 0xFC0000 nelle console dotate di NOR), legge dalla NAND/NOR il lv0 e lo decripta.
Le nuove chiavi potranno essere utilizzate per modificare e patchare il lv0 rimuovendo ogni controllo di sicurezza, inclusi i loader lv1ldr, lv2ldr, appldr, isoldr, ecc.. in seguito è possibile rifirmare il lv0 con una key valida e accettata dal bootldr.
In attesa di sviluppi è stata intanto realizzata una prima raccolta di payload che potranno essere eseguiti all’avvio con il proprio exploit hardware del lv0ldr.
https://twitter.com/notzecoxao/status/1523653678615482372
Requisiti
- SPU GCC Toolchain.
Scrivere un nuovo payload
- Utilizzare il modello seguente per il file
.c
:
#include <stdlib.h>
#include <stdint.h>
#include <stdbool.h>
#include <spu_mfcio.h>
#include <spu_intrinsics.h>
/* Forward declarations */
void _entry(void) __attribute__((section("_start")));
void
_entry (void)
{
/* Your code goes here */
while (1) {}
}
- Modificare il makefile per aggiungere
.h
come destinazione. - Digitare
make
.
Limitazioni
- I payload iniziano l’esecuzione da
0x3e120
. - La dimensione massima del payload al momento è
0xEE0
per non danneggiare i contatori di messaggi syscon.
Payload
hello-world
Questo stampa un messaggio sulla porta SB UART. Funziona solo su 3.4.0 lv0ldrs a causa dell’offset fisso della funzione printf.
stage2
Questo scarica l’intero contenuto dell’LS isolato su SB UART. Questo dovrebbe funzionare su qualsiasi lv0ldr in quanto non si basa su alcun codice preesistente.
Download: Source code lv0ldr-payloads
Fonte: twitter.com
Ho capito male o questo aprirebbe le porte ai CFW sulle PS3 3XXX che fin’ora sono rimaste senza?
Probabilmente, ma la modifica potrebbe essere possibile solo attraverso la saldatura di una scheda, sperro comunque di sbagliarmi