Home Homebrew Il developer SpecterDev ha esteso il supporto della catena di exploit...

[Scena PS5] Il developer SpecterDev ha esteso il supporto della catena di exploit UMTX a tutti i firmware inferiori alla versione 5.xx della console PlayStation 5

0
55

Il developer SpecterDev ha nuovamente  aggiornato la catena di exploit UMTX riuscendo ad aggiungere il supporto per i firmware inferiori alla versione 5.xx della console PlayStation 5.

Un lavoro certosino che porterà probabilmente all’aggiornamento degli offset per PS5 Payload SDK, PS5 Payload Web Server, PS5 Payload ftpsrv e tanti altri.

Nel comunicato, il developer SpecterDev ha avvisato che i caricatori ELF e i payload non saranno compatibili con le versioni 5.00+ a causa di modifiche ai dlsym, anche se questo già si sapeva.

L’implementazione dell’exploit si basa su una vulnerabilità di tipo use-after-free nel sistema operativo della PS5, che è costruito su una versione personalizzata di FreeBSD. Questa vulnerabilità è stata originariamente segnalata da Synacktiv.

L’exploit combina tecniche sviluppate dai team fail0verflow e flatz, noti per il loro lavoro nell’hacking delle console.

Utilizzando un approccio di Return-Oriented Programming (ROP) tramite WebKit, SpecterDev è riuscito a manipolare il kernel al fine di ottenere una mappatura di lettura/scrittura arbitraria nello stack di un thread del kernel.

Questo è reso possibile grazie alla manipolazione di pipe e socket IPv6, una tecnica già utilizzata in un precedente exploit per il kernel della PS5.

L’obiettivo finale dell’exploit è l’esecuzione di un payload tramite un ELF Loader che ascolta sulla porta 9021 della PS5, consentendo l’invio di payload tramite TCP.

Caratteristiche tecniche dell’exploit

UMTX Jailbreak fornisce le seguenti capacità principali:

  1. Lettura/scrittura arbitraria del kernel: L’exploit permette di leggere e scrivere in aree della memoria del kernel, offrendo accesso privilegiato per modifiche profonde al sistema.
  2. Abilitazione del menu delle impostazioni di debug: Una volta eseguito l’exploit, il menu di debug viene attivato, permettendo all’utente di accedere a opzioni nascoste della PS5.
  3. Ottenimento dei privilegi di root: L’exploit garantisce il massimo livello di accesso al sistema, consentendo l’esecuzione di codice non autorizzato al di fuori del sandboxing di sicurezza.
  4. Caricamento di payload ELF: L’ELF Loader esegue payload inviati alla PS5, offrendo flessibilità per lo sviluppo di software personalizzato e l’installazione di mod.

Limitazioni dell’exploit

Nonostante i progressi significativi, UMTX presenta alcune limitazioni tecniche che attualmente impediscono un controllo completo del sistema:

  • Assenza di esecuzione del codice nel kernel: La protezione Execute-Only Memory (XOM) implementata nel kernel della PS5 impedisce la lettura diretta delle pagine di codice del kernel, rendendo impossibile eseguire codice personalizzato nel kernel stesso.
  • Protezione dell’hypervisor: L’hypervisor della PS5 rafforza ulteriormente la sicurezza impedendo la scrittura nel kernel e bloccando eventuali modifiche alla memoria protetta.
  • Incapacità di disabilitare CFI, SMAP e SMEP: La Control Flow Integrity (CFI), insieme a meccanismi come Supervisor Mode Access Prevention (SMAP) e Supervisor Mode Execution Prevention (SMEP), restano attivi, limitando ulteriormente la manipolazione diretta del sistema.

Note importanti

  • La versione 3.00+ ha una affidabilità inferiore e potrebbe richiedere più tempo per l’esecuzione. Se si rimane bloccati su “triggering race” per un po’, chiudere il browser e riprovare.
  • Nella versione 5.00+, il caricatore ELF attualmente non funziona, poiché non è stato possibile invocare correttamente dlsym. Pertanto è necessario modificare il payload SDK.

Compatibilità e firmware supportati

  • 1.00
  • 1.02
  • 1.05
  • 1.10
  • 1.11
  • 1.12
  • 1.13
  • 1.14
  • 2.00
  • 2.20
  • 2.25
  • 2.26
  • 2.30
  • 2.50
  • 2.70
  • 3.00
  • 3.20
  • 4.00
  • 4.02
  • 4.03
  • 4.50
  • 5.00
  • 5.02
  • 5.10
  • 5.50

Attualmente incluso

  • Lettura/scrittura arbitraria del kernel.
  • Abilita il menu delle impostazioni di debug (nota: sarà necessario uscire completamente dalle impostazioni e rientrare per vederlo).
  • Privilegi di root e uscita dalla sandbox/jail.
  • Esecuzione del caricatore ELF di John Tornblom sulla porta 9021 per l’esecuzione dei payload (su firmware < 5.00).

Limitazioni

  • Questo exploit raggiunge la lettura/scrittura, ma non l’esecuzione del codice. Ciò è dovuto al fatto che attualmente non possiamo estrarre il codice del kernel per i gadget, poiché le pagine .text del kernel sono contrassegnate come eXecute Only Memory (XOM). Tentare di leggere i puntatori .text del kernel causerà un panic!
  • In base a quanto sopra e all’hypervisor (HV) che applica la protezione scrittura del kernel, questo exploit non può installare alcuna patch o hook nello spazio del kernel.
  • È presente e applicato un controllo di flusso fine-grained basato su Clang (CFI).
  • La prevenzione dell’accesso in modalità supervisore/execuzione (SMAP/SMEP) non può essere disabilitata, a causa dell’HV.
  • I firmware >= 6.00 richiedono un nuovo exploit WebKit e quindi non sono supportati.

Procedura di Utilizzo

Per eseguire l’exploit, gli utenti devono seguire una serie di passaggi tecnici, inclusi la configurazione di un server DNS e HTTPS e l’utilizzo di un host WebKit per caricare l’exploit. Di seguito i passaggi chiave:

  1. Configura fakedns tramite dns.conf per puntare manuals.playstation.net all’indirizzo IP del tuo PC.
  2. Eseguire fakedns: python fakedns.py -c dns.conf.
  3. Eseguire il server HTTPS: python host.py.
  4. Andare nelle impostazioni di rete avanzate della PS5 e impostare il DNS primario all’indirizzo IP del PC, lasciando il secondario a 0.0.0.0.
    1. A volte il manuale non si carica comunque e potrebbe essere necessario un riavvio, non si sa bene il motivo, è davvero strano.
  5. Andare al manuale utente nelle impostazioni e accettare l’avviso per il certificato non attendibile, quindi eseguirlo.
  6. Opzionale: Decommentare il codice di dump del kernel .data ed eseguire lo script del dump server (nota: l’indirizzo/porta devono essere sostituiti in exploit.js).

Utilizzo del caricatore ELF

  • Per utilizzare il caricatore ELF, eseguire l’exploit fino al completamento. Al termine, verrà eseguito un server sulla porta 9021.
  • Collegarsi e inviare il proprio payload ELF alla PS5 tramite TCP che verrà eseguito.
  • Questo caricatore dovrebbe continuare ad accettare ed eseguire payload anche dopo aver chiuso il browser.

Sviluppi futuri e lavori in corso

SpecterDev ha delineato alcuni sviluppi futuri per migliorare e ampliare l’exploit:

  • Aggiornamento della strategia di exploit per firmware >= 3.00 per bypassare le nuove mitigazioni.
  • Aggiungere offset per altri firmware (inferiori).
  • Sviluppo di un nuovo WebKit exploit per firmware superiori al 6.00, consentendo l’accesso ai sistemi più recenti.

Note sulla stabilità

  • Su firmware < 3.00, questo exploit è molto stabile. L’unico punto critico di fallimento è il mancato sovrapporre i vmobjects. Su firmware più recenti, questa sovrapposizione è più difficile da ottenere a causa delle presunte mitigazioni a livello di allocatore di pagine/heap.

Changelog

  • Aggiunto supporto per i firmware 5.00, 5.02, 5.10 e 5.50.
  • Aggiunto supporto per i firmware 4.00, 4.02, 4.03 e 4.50.
  • Aggiunto supporto per i firmware 3.00 e 3.20.
  • Aggiunto supporto per il firmware di fabbrica 2.70.
  • Aggiunto supporto per i firmware 1.00 e 1.02.
  • Aggiunto codice per facilitare il porting.

Download: Source code PS5 UMTX Jailbreak v1.2

Fonte: x.com

Nessun commento

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.