Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
PS5-IPV6-Kernel-Exploit — Un exploit sperimentale del kernel basato su webkit (Arb. R/W) per PS5 su <= 4.51FW | Kitploit
Strumenti/GitHubGitHub/cryptogenic/ps5-ipv6-kernel-exploit
Sicurezza Sistemi EmbeddedEscalation di PrivilegiAnalisi delle VulnerabilitàExploitReverse EngineeringPost-ExploitBinary Exploitation
GitHubcryptogenic/ps5-ipv6-kernel-exploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

PS5-IPV6-Kernel-Exploit

Un exploit sperimentale del kernel basato su webkit (Arb. R/W) per PS5 su <= 4.51FW

Vedi Repository
9251062 anni faRevisionato da Kitploit

PS5 3.xx / 4.xx Kernel Exploit


Sommario

Questa repository contiene un'implementazione sperimentale WebKit ROP di un exploit del kernel PS5 basata sulla Use-After-Free (UAF) IPV6 di TheFlow, che è stata segnalata su HackerOne. La strategia dell'exploit è in gran parte basata sulla PoC BSD/PS4 di TheFlow con alcune modifiche per adattarsi alla fastidiosa disposizione della memoria della PS5 (per maggiori dettagli vedere la sezione Note di ricerca). Stabilisce una primitiva di lettura arbitraria / scrittura (semi-arbitraria). Questo exploit e le sue capacità hanno molte limitazioni e, come tale, è pensato principalmente per gli sviluppatori che vogliono giocarci per fare reverse engineering di alcune parti del sistema.

Con gli ultimi miglioramenti alla stabilità, l'affidabilità è di circa l'80%. Questo documento conterrà informazioni di ricerca sulla PS5 e questo exploit continuerà a essere sviluppato e migliorato nel tempo.

Chi è interessato a contribuire alla ricerca/sviluppo sulla PS5 può unirsi a un discord che ho configurato qui.

L'exploit dovrebbe ora supportare i seguenti firmware:

  • 3.00
  • 3.10
  • 3.20
  • 3.21
  • 4.00
  • 4.02
  • 4.03
  • 4.50
  • 4.51

Attualmente incluso

  • Ottiene lettura/scrittura arbitraria e può eseguire un server RPC di base per letture/scritture (o un server di dump per letture di grandi dimensioni) (devi modificare il tuo indirizzo/porta nel file dell'exploit alle righe 673-677)
  • Abilita il menu delle impostazioni di debug (nota: dovrai uscire completamente dalle impostazioni e rientrare per vederlo).
  • Ottiene i privilegi di root

Limitazioni

  • Questo exploit raggiunge la lettura/scrittura, ma non l'esecuzione di codice. Questo perché al momento non possiamo dumpare 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!
  • Come sopra + l'hypervisor (HV) che applica la protezione in scrittura del kernel, questo exploit non può installare patch o hook nello spazio del kernel, il che significa nessun codice relativo all'homebrew per il momento.
  • La Control Flow Integrity (CFI) fine-grained basata su Clang è presente e applicata.
  • La Supervisor Mode Access Prevention/Execution (SMAP/SMEP) non può essere disabilitata, a causa dell'HV.
  • La primitiva di scrittura è alquanto vincolata, poiché i byte 0x10-0x14 devono essere zero (o un'interfaccia di rete valida).
    • Tuttavia, grazie a lavori più recenti che usano le pipe, ora è possibile la lettura/scrittura completamente arbitraria.

Come si usa

  1. Configura fakedns tramite dns.conf per far puntare manuals.playstation.net all'indirizzo IP del tuo PC
  2. Esegui il DNS falso: python fakedns.py -c dns.conf
  3. Esegui il server HTTPS: python host.py
  4. Vai nelle impostazioni di rete avanzate della PS5 e imposta il DNS primario sull'indirizzo IP del tuo PC, lasciando il secondario su 0.0.0.0
    1. A volte il manuale non si carica comunque ed è necessario riavviare; non sono sicuro del perché, è davvero strano
  5. Vai al manuale utente nelle impostazioni, accetta il prompt del certificato non attendibile, esegui
  6. Opzionale: esegui gli script del server rpc/dump (nota: indirizzo/porta devono essere sostituiti in forma binaria in exploit.js).

Lavori futuri

  • Sistemare le socket per uscire dal browser in modo pulito (priorità massima)
  • Scrivere alcune patch dei dati (seconda priorità)
    • Abilitare le impostazioni di debug
    • Patchare le credenziali per uid0
    • Jailbreak con sovrascrittura di cr_prison
  • Migliorare l'affidabilità della UAF
  • Migliorare l'affidabilità della socket vittima (terza priorità)
  • Usare un target di leak migliore / più consistente di kqueue (non più necessario)
  • Far supportare le rilocazioni al caricatore ELF
    • Aggiungere il supporto per più rilocazioni e possibilmente il dynamic linking completo?

Uso del caricatore ELF

Per usare il caricatore ELF, esegui l'exploit fino al completamento. Al completamento avvierà un server sulla porta :9020. Connettiti e invia il tuo ELF alla PS5 tramite quella porta e verrà eseguito. Supponendo che l'ELF non faccia crashare il browser, può continuare a eseguire ELF per sempre.

Fasi dell'exploit

Questo exploit funziona in 5 fasi e per la maggior parte segue la stessa strategia della PoC di theflow.

  1. Attiva la UAF iniziale su ip6_pktopts e fai sì che due socket puntino allo stesso pktopts / si sovrappongano (socket master <-> socket spray in overlap)
  2. Libera il pktopts sulla socket master e fingilo con uno spray ip6_rthdr contenente un overlap tclass taggato.
  3. Fase di infoleak. Usa l'overlap pktopts/rthdr per leakare una kqueue dalla slab 0x200 e pktopts dalla slab 0x100.
  4. Fase di lettura/scrittura arbitraria. Fingi di nuovo pktopts e trova la socket in overlap per usare IPV6_RTHDR come primitiva di lettura/scrittura.
  5. Fase di pulizia + patch. Incrementa il refcount sulle socket corrotte per un'uscita pulita dal browser + patch dei dati per abilitare il menu di debug e patch di ucreds per uid0.
  6. Esegui il server del caricatore ELF che accetterà e caricherà/eseguirà ELF. Attualmente WIP, non supporta le rilocazioni al momento.

Note sulla stabilità

La stabilità di questo exploit è circa 30% 80-90% e ha due potenziali punti di errore. In ordine di probabilità osservata decrescente:

  1. La Fase 1 non riesce a reclamare la UAF, causando un crash immediato o una corruzione latente che porta al crash.
  2. La Fase 4 non riesce a trovare una socket vittima

Note di ricerca

  • Sembrava, sulla base di vari test e dump con la primitiva di lettura, che la PS5 fosse tornata alla dimensione di pagina 0x1000 rispetto allo 0x4000 della PS4.

    • Dopo ulteriori ricerche, la dimensione di pagina è effettivamente ancora 0x4000, ma a causa di alcuni incredibili cambiamenti nell'allocator, slab diverse possono essere allocate nella stessa pagina virtuale.
  • Sembra anche che sulla PS5 le pagine adiacenti appartengano raramente alla stessa slab, poiché si ottengono dati molto diversi in pagine adiacenti. Il layout di memoria sembra più frammentato.

  • Spesso quando la PS5 va in panic (almeno nel contesto WebKit), si sente un audio terribile perché il buffer audio si corrompe in qualche modo.

  • A volte questa corruzione audio persiste al riavvio successivo, non so perché.

  • Similmente alla PS4, la PS5 richiede che il pulsante di accensione venga premuto manualmente due volte sulla console per riavviarsi dopo un panic.

  • È normale che la PS5 impieghi un tempo assurdo per riavviarsi dopo un panic se è isolata da internet (purtroppo). Aspettati un avvio di 3-4 minuti.

Contributori / Ringraziamenti speciali

  • Andy Nguyen / theflow0 - Vulnerabilità e strategia dell'exploit
  • ChendoChap - Aiuto vario con test e ricerca
  • Znullptr - Ricerca/RE
  • sleirsgoevy - Ricerca/RE + idee per strategie di exploit
  • bigboss - Ricerca/RE
  • flatz - Ricerca/RE + aiuto con le patch
  • zecoxao - Ricerca/RE
  • SocracticBliss - Ricerca/RE
  • laureeeeeee - Conoscenza di base dei sistemi di basso livello e assistenza

Ringraziamenti ai tester

  • Dizz (4.50/4.51)
Scarica lo strumento