Disponibile il nuovo kernel exploit 4.05 della PlayStation 4 – ora i backup potranno essere eseguiti anche sul firmware 4.05

Il developer SpecterDev ha pubblicato il suo nuovo kernel exploit per il firmware 4.05 della PlayStation 4, sviluppato anche grazie alla documentazione resa dal team Fail0verflow.

In questo progetto è possibile trovare un’implementazione completa del kernel exploit namedobj per PlayStation 4 sul firmware 4.05.

Il bug

Il bug è essenzialmente di tipo type confusion con il campo ‘kind’ dell’oggetto ‘id_entry’ utilizzato negli oggetti denominati. Gli oggetti denominati sono oggetti che dispongono di proprietà associate (ad esempio un nome per come lo si potrebbe immaginare), che punta all’oggetto reale nell’heap. Specificando un type 0x5000 per l’oggetto, è possibile causare una type confusion.

Ora è necessario trovare un’altra area del kernel che può eccedere per corrompere l’oggetto. Fortunatamente c’è sys_mdbg_service().

Questo ci permetterà di sovrascrivere i 32 bit più bassi di un puntatore free() con sys_namedobj_delete().

Da qui noi possiamo andare a creare una situazione use-after-free che è possibile utilizzare per ottenere l’esecuzione di codice spruzzando oggetti falsi nel mucchio e corrompendo un puntatore di funzione.

Strategia

Una buona strategia per sfruttare questo bug è la seguente:

  1. Perdere un oggetto di destinazione dal mucchio del kernel che non solo dispone di puntatori di funzioni che possono essere danneggiati, ma è anche ideale per evitare che si blocchi il kernel.
  2. Creare type confusion tramite sys_namedobj_create() con il flag 0x5000 (o flag 0x4000 a causa della bit OR).
  3. Impostare un kernel ROP chain in userland. Idealmente in questa ROP chain si desidera disattivare la protezione di scrittura del kernel, eseguire le patch desiderate (come la mappatura di memoria RWX) e pivot per tornare in maniera efficace.
  4. Sovrascrivere i 32 bit più bassi nell’oggetto con sys_mdbg_service() con i 32 bit inferiori dell’indirizzo dell’oggetto target. Non possiamo sovrascrivere i 32 bit superiori, ma fortunatamente il puntatore memorizzato in precedenza era comunque un puntatore di heap, quindi i 32 bit superiori verranno impostati sul prefisso dell’indirizzo heap di FreeBSD (0xFFFFYYYYxxxxxxxx dove YYYY viene randomizzato da ASLR all’avvio).
  5. Attivare free() tramite sys_namedobj_delete().
  6. Spruzzare l’oggetto falso sull’heap con un puntatore di funzione che indica il kROP chain creato in precedenza.
  7. Trova una funzione che utilizza l’oggetto corrotto e attiva il puntatore funzione da leggere.
  8. Ora hai l’esecuzione di codice e la tua catena kROP sta funzionando in ring0! Sìì!
  9. Correggere l’oggetto free(), perché se non lo fai, appena il webkit esce, il kernel si blocca perché cercherà free() al tuo oggetto e di portare a un doppio free().
  10. Ritorno in userland con successo.

Patch incluse

Le seguenti patch vengono create di default nella catena del kernel ROP:

  • Disabilita la protezione da scrittura del kernel.
  • Permette il mapping della memoria RWX (read-write-execute).
  • Risoluzione dinamica (sys_dynlib_dlsym) consentita da qualsiasi processo.
  • Chiamata di sistema personalizzata #11 (kexec ()) per eseguire codice arbitrario in modalità kernel.
  • Consenti agli utenti non privilegiati di chiamare setuid(0) correttamente. Funziona come controllo di stato, raddoppiato come escalation di privilegi.

Note

  • Questo exploit si dimostra incredibilmente stabile intorno al 95%. L’exploit nel webKit si blocca molto raramente e lo stesso vale per il kernel.
  • Ho creato una patch in modo che il kernel venga eseguito una volta sola sul sistema, è ancora possibile creare patch aggiuntive tramite payload.
  • Viene aggiunta una syscall personalizzata (# 11) per eseguire qualsiasi memoria RWX in modalità kernel, che può essere utilizzata per eseguire payload utile per poter eseguire operazioni come jailbreaking e patch del kernel.
  • Non viene fornito alcun SDK in questa versione, tuttavia uno barebone per iniziare con una data successiva.

Download: Kernel Exploit 4.05

Se non riuscite a impostare un vostro server web sul PC potrete scegliere di visitare dal browser web della PlayStation 4 la pagina http://www.sprx.solutions/PS4/, il link ci è stato offerto dall’utente Skillsofcape su twitter.



Source : github.com

(Visited 2.904 times, 1 visits today)

53 commenti

  1. Ciao a tutti e soprattuto a te francesco grazie mille per la news!
    Ma non ho ben capito ancora non si può fare nulla ci devono ancora lavorare sopra? Oppure allostato attuale è possibile sfruttare il tutto per caricare i backup ecc…
    Ti ringrazio per la disponibilità

  2. Ciao Francesco, io sapevo che questa vulnerabilità non era stata corretta nemmeno sui firmware successivi, è vero ? Ci sara possibilità ?

        1. You can try to put it a non-formatted HDD. Maybe you can reinstall a lower firmware.
          Personally I have a ps4 with 4.72 and if I put a non-formatted HDD I can install 4.71 or upper.
          So try it. maybe you are lucky 😉
          Citazione presa da wololo… provare non costa niente! Io toglierei l’HDD dalla PS4, lo passi sotto il pc lasciandolo senza formato, e poi lo rimetti nella ps4. Mi sembra strano, ma se funziona è una perla!!!

        2. …se solo trovassi il fw4.05 restore versione eu ho cercato dappertutto -_-
          andrà bene la versione us?

  3. fatemi capire bene… una volta eseguito l’exploit si puo procedere come su 1.76, ovvero installare direttamente pkg non firmati? funziona solo su 4.05 o anche inferiori?

    1. guarda che neanche su 1.76 si possono far partire i pkg non firmati, chi ha la 1.76 utilizza un altro metodo per avviare i backup su 1.76, invece a quando so neanche su 4.05 si possono far partire i pkg non firmati

  4. L exploit è appena stato rilasciato. Vedrete che a breve verrà rilasciata una guida adatta a tutti e spero qualcosa su 5.01

  5. Ma niente male comunque. Ottimo lavoro, speriamo per coloro che sono al firmware superiore al 4.05, rilasciano qualcosa al più presto. Già è un inizio dai….

  6. Aspettateeeeeee
    Un po di pazienza! Tra un po si potrà smanettare con i pkg! Flatz sta facendo il porting da 4.55 a 4.05.
    Per il momento su ps4 1.76 è macchinoso caricare i backup. Ci sono diverse forme per farlo e non sempre funziona. Se Flatz implementa il pkg install sarà tutto molto più facile.
    Poi io in realtà cercavo FABIOSAT…
    Qualcuno l’ha mica visto?!

    1. ahaahahahahahahahahhaahahahah quel caso umano ridicolo auhuahauahuaha povero idiotaaaaa ovviamente parlo di fabiosat…ora spero rilascieranno quello per 4.55…io sto al 4.07 uff

  7. Bene, alla fine ci sono arrivati dopo 2 anni. Ed anche Specter (che poverino ci ha lavorato interamente lui sull’exploit, chiedendo solo qualcosa ogni tanto a chi fra l’altro già dispone di hack su fw superiori) alla fine non ha posticipato più di tanto nei riguardi di quei subumani, che oltre a scrivere speriamo credevano fermamente in un rilascio natalizio (e non quando tutti inbug sarebbero stati fixati, nooooo, perché Specter è onnipotente per sta gente qui).

    1. tu hai gia rotto le palle minchione. parli da saccente ma pure tu aspetti la grazia come tutti quanti noi e non sei nemmeno un programmatore, quindi vedi di tacere che fai una miglior figura, IDIOTA

  8. ho fatto bene a tenera la mia ps4 su fw 4.01, siano ringraziati tutti quelli che ci hanno lavorato su, spero che presto qualcuno faccia una guida e poi posso morire felice.

    1. ahahahahhaha ma che stai a di….ci sono altri 2 exploit non ancora rilasciati che arrivano fino all’ultimo firmware….e ora le cose si smuoveranno un bel po

  9. Ciao Francesco mio fratello ha preso una fat con fw 3.11. In tal caso a che firmware minimo mi consigli di aggiornare? E come si aggoorna manualmente? Grazie!

    1. Ciao Angel, per aggiornare manualmente la Playstation 4 segui questa guida in basso

      Scarica il firmware 4.05 e rinominalo in PS4UPDATE.PUP
      Prendi una pendrive e crea due cartelle PS4 e UPDATE (l’aggiornamento segue la stessa metodica della PS3)
      Pendrive:/PS4/UPDATE/PS4UPDATE.PUP

      Entra nella modalità protetta e scegli il punto 3 (segui la guida in basso)

      Da console spenta, tieni premuto il pulsante di accensione della console.
      Appena toccato il pulsante, la console emetterà un segnale acustico.
      Dopo alcuni secondi, verrà emesso un altro segnale acustico.
      Rimuovere il dito dal pulsante di accensione frontale.
      Collegare il controller DualShock 4 con il cavo in dotazione e premere il tasto PS.

      1. Ciao Francesco, grazie per la miniguida per aggiornare la console al 4.05, ma dove posso trovare il fw adatto per le nostre console europee?

  10. Appena provato l exploit su ps4 fat e funziona. Ho seguito una guida da un noto sito italiano che spiega come attivare l exploit. Un po macchinosa ma funziona. Al riavvio della console bisogna riattivare nuovamente l exploit in quanto non è permanente. Alla fine sulla ps4 si troverà sotto impostazioni il menu debug setting. Adesso aspetto una guida per caricare i backup perche non ho idea di come si faccia!

    1. Flat_z ha aggiornato sul suo twitter che la guida per eseguire i backup è già in fase di creazione, e che ha già completato la prima fase.

      Ci vorrà un po’ per finirla.

  11. Scusatemi ragazzi ma questo exploit, per coloro che hanno un firmware superiore (compreso io il 4.78( non si può fare assolutamente nulla)

  12. Attualmente l exploit rilasciato funziona solo su 4.05. A breve ci sarà la guida per avviare i backup. Per tutti gli altri che stanno sopra il 4.05 si dovrà attendere l exploit per 5.01 che esiste e spero vengo rilasciato presto!

  13. Francesco ciao io sono sul 3.55 di fabbrica mai aggiornato… ma conviene rimanere qui o posso passare al 4.05? ho visto che su tweeter hanno linkato il kernel 3.55 ma a cosa serve?
    “proc_rwmem (as it seems) is located at 0xFFFFFFFF8329EF10 in the 3.55 Kernel elf! ENJOY modding your favourite Games on 3.55 PS4! :smilexf2: Thanks to notzecoxao for the 3.55 Kernel elf”

    cioè?posso provare l’ exploit anche da 3,55?
    comunque i link per scaricare gli OFW ps4 non funziona sul sito nzxtrules.stackstorage

    Grazie

      1. non credo francesco che finche non si ha la certezza di avvio backup è meglio che rimanga al 3.55?
        quel exploit a cosa serve per il 3.55?

        1. Finalmente una risposta degna. Tutti aggiornano… ma che aggiornate a fare?
          Se accade un ‘imprevisto per esecuzioni di backup manager o altro vi bruciate le tappe.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *